diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua deleted file mode 100644 index 1b7b08d..0000000 --- a/.config/awesome/rc.lua +++ /dev/null @@ -1,464 +0,0 @@ --- If LuaRocks is installed, make sure that packages installed through it are --- found (e.g. lgi). If LuaRocks is not installed, do nothing. -pcall(require, "luarocks.loader") - --- Standard awesome library -local gears = require("gears") -local awful = require("awful") -require("awful.autofocus") --- Widget and layout library -local wibox = require("wibox") --- Theme handling library -local beautiful = require("beautiful") --- Notification library -local naughty = require("naughty") -local hotkeys_popup = require("awful.hotkeys_popup") --- Enable hotkeys help widget for VIM and other apps --- when client with a matching name is opened: -require("awful.hotkeys_popup.keys") - --- {{{ Error handling --- Check if awesome encountered an error during startup and fell back to --- another config (This code will only ever execute for the fallback config) -if awesome.startup_errors then - naughty.notify({ - preset = naughty.config.presets.critical, - title = "Oops, there were errors during startup!", - text = awesome.startup_errors, - }) -end - --- Handle runtime errors after startup -do - local in_error = false - awesome.connect_signal("debug::error", function(err) - -- Make sure we don't go into an endless error loop - if in_error then - return - end - in_error = true - - naughty.notify({ - preset = naughty.config.presets.critical, - title = "Oops, an error happened!", - text = tostring(err), - }) - in_error = false - end) -end --- }}} - --- {{{ Variable definitions --- Themes define colours, icons, font and wallpapers. -beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua") - --- This is used later as the default terminal and editor to run. -browser = "librewolf" -terminal = "alacritty" -editor = os.getenv("nvim") or "nvim" -editor_cmd = terminal .. " -e " .. editor - -modkey = "Mod4" - -awful.layout.layouts = { - awful.layout.suit.tile, -} - -local taglist_buttons = gears.table.join( - awful.button({}, 1, function(t) - t:view_only() - end), - awful.button({ modkey }, 1, function(t) - if client.focus then - client.focus:move_to_tag(t) - end - end), - awful.button({}, 3, awful.tag.viewtoggle), - awful.button({ modkey }, 3, function(t) - if client.focus then - client.focus:toggle_tag(t) - end - end), - awful.button({}, 4, function(t) - awful.tag.viewnext(t.screen) - end), - awful.button({}, 5, function(t) - awful.tag.viewprev(t.screen) - end) -) - -local tasklist_buttons = gears.table.join( - awful.button({}, 1, function(c) - if c == client.focus then - c.minimized = true - else - c:emit_signal("request::activate", "tasklist", { raise = true }) - end - end), - awful.button({}, 3, function() - awful.menu.client_list({ theme = { width = 250 } }) - end), - awful.button({}, 4, function() - awful.client.focus.byidx(1) - end), - awful.button({}, 5, function() - awful.client.focus.byidx(-1) - end) -) - -local function set_wallpaper(s) - -- Wallpaper - if beautiful.wallpaper then - local wallpaper = beautiful.wallpaper - -- If wallpaper is a function, call it with the screen - if type(wallpaper) == "function" then - wallpaper = wallpaper(s) - end - gears.wallpaper.maximized(wallpaper, s, true) - end -end - --- Re-set wallpaper when a screen's geometry changes (e.g. different resolution) -screen.connect_signal("property::geometry", set_wallpaper) - -awful.screen.connect_for_each_screen(function(s) - awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1]) -end) - --- {{{ Mouse bindings -root.buttons(gears.table.join( - -- awful.button({}, 3, function() - -- mymainmenu:toggle() - -- end), - awful.button({}, 4, awful.tag.viewnext), - awful.button({}, 5, awful.tag.viewprev) -)) --- }}} - --- {{{ Key bindings -globalkeys = gears.table.join( - awful.key({ modkey }, "s", hotkeys_popup.show_help, { description = "show help", group = "awesome" }), - -- awful.key({ modkey }, "Left", awful.tag.viewprev, { description = "view previous", group = "tag" }), - -- awful.key({ modkey }, "Right", awful.tag.viewnext, { description = "view next", group = "tag" }), - awful.key({ modkey }, "Escape", awful.tag.history.restore, { description = "go back", group = "tag" }), - awful.key({ modkey }, "l", function() - awful.client.focus.byidx(1) - end, { description = "focus next by index", group = "client" }), - awful.key({ modkey }, "h", function() - awful.client.focus.byidx(-1) - end, { description = "focus previous by index", group = "client" }), - awful.key({ modkey }, "w", function() - mymainmenu:show() - end, { description = "show main menu", group = "awesome" }), - - -- Layout manipulation - awful.key({ modkey, "Shift" }, "h", function() - awful.client.swap.byidx(1) - end, { description = "swap with next client by index", group = "client" }), - awful.key({ modkey, "Shift" }, "l", function() - awful.client.swap.byidx(-1) - end, { description = "swap with previous client by index", group = "client" }), - awful.key({ modkey }, "k", function() - awful.screen.focus_relative(1) - end, { description = "focus the next screen", group = "screen" }), - awful.key({ modkey }, "j", function() - awful.screen.focus_relative(-1) - end, { description = "focus the previous screen", group = "screen" }), - awful.key({ modkey }, "u", awful.client.urgent.jumpto, { description = "jump to urgent client", group = "client" }), - awful.key({ modkey }, "Tab", function() - awful.client.focus.history.previous() - if client.focus then - client.focus:raise() - end - end, { description = "go back", group = "client" }), - - -- Standard program - awful.key({ modkey, "Shift" }, "r", awesome.restart, { description = "reload awesome", group = "awesome" }), - awful.key({ modkey, "Shift" }, "e", awesome.quit, { description = "quit awesome", group = "awesome" }), - awful.key({ modkey }, "y", function() - awful.tag.incmwfact(0.05) - end, { description = "increase master width factor", group = "layout" }), - awful.key({ modkey }, "o", function() - awful.tag.incmwfact(-0.05) - end, { description = "decrease master width factor", group = "layout" }), - - -- launch dmenu - awful.key({ modkey }, "d", function() - awful.util.spawn("dmenu_run") - end, { description = "dmenu", group = "launcher" }), - - -- launch browser - awful.key({ modkey }, "b", function() - awful.util.spawn(browser) - end, { description = "launch browser", group = "launcher" }), - - -- launch terminal - awful.key({ modkey }, "Return", function() - awful.spawn(terminal) - end, { description = "open a terminal", group = "launcher" }), - - -- launch ncmpcpp - awful.key({ modkey }, "m", function() - awful.spawn.with_shell(terminal .. " -e ncmpcpp") - end, { description = "open ncmpcpp", group = "launcher" }), - - -- music player daemon controls - awful.key({}, "XF86AudioPlay", function() - awful.spawn("playerctl play-pause") - end, { description = "toggle play", group = "launcher" }), - awful.key({}, "XF86AudioPause", function() - awful.spawn.with_shell("playerctl play-pause") - end, { description = "toggle play", group = "launcher" }), - awful.key({}, "XF86AudioNext", function() - awful.spawn.with_shell("playerctl next") - end, { description = "next", group = "launcher" }), - awful.key({}, "XF86AudioPrev", function() - awful.spawn.with_shell("playerctl previous") - end, { description = "previous", group = "launcher" }), - awful.key({ modkey, "Shift" }, "bracketleft", function() - awful.spawn.with_shell("playerctl -p mpd volume 0.05-") - end, { description = "decrease volume", group = "launcher" }), - awful.key({ modkey, "Shift" }, "bracketright", function() - awful.spawn.with_shell("playerctl -p mpd volume 0.05+") - end, { description = "increase volume", group = "launcher" }), - -- media hotkeys - awful.key({}, "XF86AudioRaiseVolume", function() - awful.spawn("pactl set-sink-volume @DEFAULT_SINK@ +10%") - end, { description = "raise volume", group = "launcher" }), - awful.key({}, "XF86AudioLowerVolume", function() - awful.spawn("pactl set-sink-volume @DEFAULT_SINK@ -10%") - end, { description = "lower volume", group = "launcher" }), - awful.key({}, "XF86AudioMute", function() - awful.spawn("pactl set-sink-mute @DEFAULT_SINK@ toggle") - end, { description = "toggle mute", group = "launcher" }), - - -- toggle picom - awful.key({ modkey }, "c", function() - awful.spawn.with_shell("~/.config/awesome/scripts/toggle_picom.sh") - end, { description = "toggle picom", group = "launcher" }), - - -- make screenshot - awful.key({ modkey }, "Print", function() - awful.spawn.with_shell("flameshot gui") - end, { description = "flameshot", group = "launcher" }), - - -- logout - awful.key({ modkey, "Shift" }, "BackSpace", function() - awful.spawn.with_shell("$HOME/.config/awesome/scripts/logout_script.sh") - end, { description = "logout", group = "launcher" }) -) - -clientkeys = gears.table.join( - awful.key({ modkey }, "f", function(c) - c.fullscreen = not c.fullscreen - c:raise() - end, { description = "toggle fullscreen", group = "client" }), - awful.key({ modkey, "Shift" }, "q", function(c) - c:kill() - end, { description = "close", group = "client" }), - awful.key( - { modkey, "Shift" }, - "space", - awful.client.floating.toggle, - { description = "toggle floating", group = "client" } - ), - awful.key({ modkey }, "space", function(c) - c:swap(awful.client.getmaster()) - end, { description = "move to master", group = "client" }), - awful.key({ modkey }, "p", function(c) - c:move_to_screen() - end, { description = "move to screen", group = "client" }), - awful.key({ modkey }, "t", function(c) - c.ontop = not c.ontop - end, { description = "toggle keep on top", group = "client" }) -) - --- Bind all key numbers to tags. --- Be careful: we use keycodes to make it work on any keyboard layout. --- This should map on the top row of your keyboard, usually 1 to 9. -for i = 1, 9 do - globalkeys = gears.table.join( - globalkeys, - -- View tag only. - awful.key({ modkey }, "#" .. i + 9, function() - local screen = awful.screen.focused() - local tag = screen.tags[i] - if tag then - tag:view_only() - end - end, { description = "view tag #" .. i, group = "tag" }), - -- Toggle tag display. - awful.key({ modkey, "Control" }, "#" .. i + 9, function() - local screen = awful.screen.focused() - local tag = screen.tags[i] - if tag then - awful.tag.viewtoggle(tag) - end - end, { description = "toggle tag #" .. i, group = "tag" }), - -- Move client to tag. - awful.key({ modkey, "Shift" }, "#" .. i + 9, function() - if client.focus then - local tag = client.focus.screen.tags[i] - if tag then - client.focus:move_to_tag(tag) - end - end - end, { description = "move focused client to tag #" .. i, group = "tag" }), - -- Toggle tag on focused client. - awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, function() - if client.focus then - local tag = client.focus.screen.tags[i] - if tag then - client.focus:toggle_tag(tag) - end - end - end, { description = "toggle focused client on tag #" .. i, group = "tag" }) - ) -end - -clientbuttons = gears.table.join( - awful.button({}, 1, function(c) - c:emit_signal("request::activate", "mouse_click", { raise = true }) - end), - awful.button({ modkey }, 1, function(c) - c:emit_signal("request::activate", "mouse_click", { raise = true }) - awful.mouse.client.move(c) - end), - awful.button({ modkey }, 3, function(c) - c:emit_signal("request::activate", "mouse_click", { raise = true }) - awful.mouse.client.resize(c) - end) -) - --- Set keys -root.keys(globalkeys) --- }}} - --- {{{ Rules --- Rules to apply to new clients (through the "manage" signal). -awful.rules.rules = { - -- All clients will match this rule. - { - rule = {}, - properties = { - border_width = beautiful.border_width, - border_color = beautiful.border_normal, - focus = awful.client.focus.filter, - raise = true, - keys = clientkeys, - buttons = clientbuttons, - screen = awful.screen.preferred, - placement = awful.placement.no_overlap + awful.placement.no_offscreen, - }, - }, - { - rule = { instance = "polybar" }, - properties = { border_width = false, focusable = false, below = true }, - }, - - -- Floating clients. - { - rule_any = { - instance = { - "DTA", -- Firefox addon DownThemAll. - "copyq", -- Includes session name in class. - "pinentry", - }, - class = { - "Arandr", - "Blueman-manager", - "Gpick", - "Kruler", - "MessageWin", -- kalarm. - "Sxiv", - "Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size. - "Wpa_gui", - "veromix", - "xtightvncviewer", - }, - -- Note that the name property shown in xprop might be set slightly after creation of the client - -- and the name shown there might not match defined rules here. - name = { - "Event Tester", -- xev. - }, - role = { - "AlarmWindow", -- Thunderbird's calendar. - "ConfigManager", -- Thunderbird's about:config. - "pop-up", -- e.g. Google Chrome's (detached) Developer Tools. - }, - }, - properties = { floating = true }, - }, - - -- Add titlebars to normal clients and dialogs - { rule_any = { type = { "normal", "dialog" } }, properties = { titlebars_enabled = false } }, -} --- }}} - --- {{{ Signals --- Signal function to execute when a new client appears. -client.connect_signal("manage", function(c) - -- Set the windows at the slave, - -- i.e. put it at the end of others instead of setting it master. - -- if not awesome.startup then awful.client.setslave(c) end - - if awesome.startup and not c.size_hints.user_position and not c.size_hints.program_position then - -- Prevent clients from being unreachable after screen count changes. - awful.placement.no_offscreen(c) - end -end) - --- Enable sloppy focus, so that focus follows mouse. -client.connect_signal("mouse::enter", function(c) - c:emit_signal("request::activate", "mouse_enter", { raise = false }) -end) - -client.connect_signal("focus", function(c) - c.border_color = beautiful.border_focus -end) -client.connect_signal("unfocus", function(c) - c.border_color = beautiful.border_normal -end) - --- Gaps -beautiful.useless_gap = 10 - -client.connect_signal("property::minimized", function(c) - c.minimized = false -end) - --- client.connect_signal("property::maximized", function(c) --- c.shape = function(cr, w, h) --- gears.shape.rounded_rect(cr, w, h, 0) --- end --- end) - --- rounded borders -client.connect_signal("manage", function(c) - if c.instance ~= "polybar" then - c.shape = function(cr, w, h) - gears.shape.rounded_rect(cr, w, h, 0) - end - end -end) - --- !!! somehow this breaks fullscreen !!! --- floating on top always --- client.connect_signal("property::floating", function(c) --- if c.floating then --- c.ontop = true --- else --- c.ontop = false --- end --- end) - --- Autostart --- awful.spawn.with_shell("picom") -awful.spawn.with_shell("$HOME/.config/polybar/launch_polybar.sh") -awful.spawn.with_shell("~/.fehbg") -awful.spawn.with_shell("xinput set-prop 13 298 0, -1") -awful.spawn.with_shell("amixer -c 0 set Front unmute") --- awful.spawn.with_shell("mpDris2") --- awful.spawn.with_shell("dex -ae i3") - -naughty.config.defaults.icon_size = 32 diff --git a/.config/awesome/scripts/logout_script.sh b/.config/awesome/scripts/logout_script.sh deleted file mode 100755 index 0115ae4..0000000 --- a/.config/awesome/scripts/logout_script.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -# -# a simple dmenu session script -# -### - -DMENU='dmenu -i' -choice=$(echo -e "logout\nshutdown\nreboot\nsuspend\nhibernate" | $DMENU) - -case "$choice" in - shutdown) shutdown -h now & ;; - reboot) shutdown -r now & ;; - suspend) systemctl suspend & ;; - hibernate) systemctl hibernate & ;; -esac diff --git a/.config/awesome/scripts/toggle_picom.sh b/.config/awesome/scripts/toggle_picom.sh deleted file mode 100755 index f095f0b..0000000 --- a/.config/awesome/scripts/toggle_picom.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -pgrep picom>/dev/null && - killall picom &>/dev/null || - setsid picom --config ~/.config/picom/picom.conf & >/dev/null diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf deleted file mode 100644 index 579dbaa..0000000 --- a/.config/hypr/hyprland.conf +++ /dev/null @@ -1,236 +0,0 @@ -exec-once = copyq --start-server - -exec-once=waybar -exec-once=hyprpaper -exec-once=dunst - -exec-once = hyprpm reload -n - -monitor=HDMI-A-1,1920x1080@60,0x360,1 -monitor=DP-2,2560x1440@144,1920x0,1,vrr,2 - -env = GDK_BACKEND,wayland,x11,* -# env = QT_QPA_PLATFORM,wayland,xcb,* -env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 - -debug { - disable_logs = false -} - -# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ -input { - kb_layout = us,ru - kb_variant = - kb_model = - kb_options = grp:alt_shift_toggle, caps:escape - kb_rules = - - accel_profile = - - sensitivity = 1 - follow_mouse = 1 - mouse_refocus = true - - repeat_rate = 35 - repeat_delay = 500 - - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. - force_no_accel = true -} - -general { - gaps_in = 8 - gaps_out = 20 - border_size = 2 - - col.active_border = rgba(7e9cd8FF) - col.inactive_border = rgba(1f1f28FF) - - layout = master -} - -cursor { - inactive_timeout = 3 -} - -decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - # rounding = 10 - rounding = 2 - # drop_shadow = no - # shadow_range = 4 - # shadow_render_power = 3 - # col.shadow = rgba(1a1a1aee) - # inactive_opacity = 0.90 - # active_opacity = 0.90 - - blur { - enabled = yes - size = 4 - } - -} - -animations { - enabled = false - - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - - animation = windows, 1, 4, myBezier, popin 70% - animation = windowsOut, 1, 4, default, popin 80% - animation = border, 0, 10, default - animation = borderangle, 0, 8, default - animation = fade, 0, 7, default - animation = workspaces, 0, 6, default -} - -dwindle { - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more - pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = yes # you probably want this -} - -master { - # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more - new_status = master - new_on_top = true - mfact = 0.5 -} - -gestures { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - workspace_swipe = off -} - -misc { - vrr = 2 - disable_hyprland_logo = true - # no_direct_scanout = false -} - -# Example windowrule v1 -# windowrule = float, ^(kitty)$ -# Example windowrule v2 -# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more - - -# See https://wiki.hyprland.org/Configuring/Keywords/ for more -$mainMod = SUPER -$terminal = alacritty -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -# -bind = $mainMod_SHIFT, E, exit -bind = $mainMod_SHIFT, Q, killactive, -bind = $mainMod_SHIFT, SPACE, togglefloating, - -bind = $mainMod, D, exec, tofi-drun | xargs hyprctl dispatch exec -- - - -# Apps binds -bind = $mainMod, RETURN, exec, $terminal -bind = $mainMod, B, exec, librewolf -bind = $mainMod, M, exec, $terminal -e ncmpcpp -bind = $mainMod, E, exec, $terminal -e neomutt -bind = $mainMod, N, exec, $terminal -e newsboat - -# screenshot area -bind = $mainMod_SHIFT, S, exec, grim -g "$(slurp)" - | wl-copy - -# powermenu -bind = $mainMod_SHIFT, BackSpace, exec, ~/.config/tofi/powermenu.sh - -# bind = $mainMod, P, pseudo, # dwindle -# bind = $mainMod, J, togglesplit, # dwindle - -# Move focus with mainMod + arrow keys -# bind = $mainMod, L, movefocus, l -# bind = $mainMod, H, movefocus, r -# bind = $mainMod, up, movefocus, u -# bind = $mainMod, down, movefocus, d -# -bind = $mainMod, L, layoutmsg, cyclenext -bind = $mainMod, H, layoutmsg, cycleprev - -bind = $mainMod, J, focusmonitor, -1 -bind = $mainMod, K, focusmonitor, +1 - -bind = $mainMod, Y, splitratio, +0.1 -bind = $mainMod, O, splitratio, -0.1 - -bind = $mainMod, P, movewindow, mon:-1 - -bind = $mainMod, SPACE, layoutmsg, swapwithmaster - -bind = $mainMod, F, fullscreen, swapwithmaster - -bind = $mainMod, MINUS, exec, pkill -SIGUSR1 waybar -# bindr = SUPER, H, exec, pkill -SIGUSR1 waybar - - -# volume controls -bind = ,XF86AudioPlay, exec, playerctl play-pause -bind = ,XF86AudioPause, exec, playerctl play-pause -bind = ,XF86AudioNext, exec, playerctl next -bind = ,XF86AudioPrev, exec, playerctl previous - -bind = $mainMod_SHIFT, bracketleft, exec, playerctl -p mpd volume 0.05- -bind = $mainMod_SHIFT, bracketright, exec, playerctl -p mpd volume 0.05+ - -bind = $mainMod, PAGE_UP, pass, ^(discord)$ -# bind = $mainMod, PAGE_UP, pass, ^(vencord)$ -# bind = $mainMod, PAGE_UP, pass, ^(discord-screenaudio)$ - -bind = ,XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% -bind = ,XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% -bind = ,XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle - -bind = ,XF86MonBrightnessDown, exec, ddcutil -d 2 setvcp 10 - 5 -bind = ,XF86MonBrightnessUp, exec, ddcutil -d 2 setvcp 10 + 5 - -exec=sleep 5; amixer -c 0 set Front unmute -exec=sleep 5; amixer -c 1 set Front unmute - -plugin { - split-monitor-workspaces { - count = 10 - enable_persistent_workspaces = 0 - } -} - -# Switch workspaces with mainMod + [0-9] -bind = $mainMod, 1, split-workspace, 1 -bind = $mainMod, 2, split-workspace, 2 -bind = $mainMod, 3, split-workspace, 3 -bind = $mainMod, 4, split-workspace, 4 -bind = $mainMod, 5, split-workspace, 5 -bind = $mainMod, 6, split-workspace, 6 -bind = $mainMod, 7, split-workspace, 7 -bind = $mainMod, 8, split-workspace, 8 -bind = $mainMod, 9, split-workspace, 9 - -# Move active window to a workspace with mainMod + SHIFT + [0-9] -bind = $mainMod SHIFT, 1, split-movetoworkspacesilent, 1 -bind = $mainMod SHIFT, 2, split-movetoworkspacesilent, 2 -bind = $mainMod SHIFT, 3, split-movetoworkspacesilent, 3 -bind = $mainMod SHIFT, 4, split-movetoworkspacesilent, 4 -bind = $mainMod SHIFT, 5, split-movetoworkspacesilent, 5 -bind = $mainMod SHIFT, 6, split-movetoworkspacesilent, 6 -bind = $mainMod SHIFT, 7, split-movetoworkspacesilent, 7 -bind = $mainMod SHIFT, 8, split-movetoworkspacesilent, 8 -bind = $mainMod SHIFT, 9, split-movetoworkspacesilent, 9 - - -# Scroll through existing workspaces with mainMod + scroll -bind = $mainMod, mouse_down, workspace, e+1 -bind = $mainMod, mouse_up, workspace, e-1 - -# Move/resize windows with mainMod + LMB/RMB and dragging -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow - - -exec=sleep 10;xrandr --output DP-2 --primary diff --git a/.config/hypr/hyprpaper.conf b/.config/hypr/hyprpaper.conf deleted file mode 100644 index b93e663..0000000 --- a/.config/hypr/hyprpaper.conf +++ /dev/null @@ -1,5 +0,0 @@ -preload = ~/Pictures/wallpapers/nord-street.png - -wallpaper = HDMI-A-1,~/Pictures/wallpapers/nord-street.png -wallpaper = DP-2,~/Pictures/wallpapers/nord-street.png -splash = false diff --git a/.config/hypr/mocha.conf b/.config/hypr/mocha.conf deleted file mode 100644 index 1463565..0000000 --- a/.config/hypr/mocha.conf +++ /dev/null @@ -1,61 +0,0 @@ -$rosewaterAlpha = f5e0dc -$flamingoAlpha = f2cdcd -$pinkAlpha = f5c2e7 -$mauveAlpha = cba6f7 -$redAlpha = f38ba8 -$maroonAlpha = eba0ac -$peachAlpha = fab387 -$yellowAlpha = f9e2af -$greenAlpha = a6e3a1 -$tealAlpha = 94e2d5 -$skyAlpha = 89dceb -$sapphireAlpha = 74c7ec -$blueAlpha = 89b4fa -$lavenderAlpha = b4befe - -$textAlpha = cdd6f4 -$subtext1Alpha = bac2de -$subtext0Alpha = a6adc8 - -$overlay2Alpha = 9399b2 -$overlay1Alpha = 7f849c -$overlay0Alpha = 6c7086 - -$surface2Alpha = 585b70 -$surface1Alpha = 45475a -$surface0Alpha = 313244 - -$baseAlpha = 1e1e2e -$mantleAlpha = 181825 -$crustAlpha = 11111b - -$rosewater = 0xfff5e0dc -$flamingo = 0xfff2cdcd -$pink = 0xfff5c2e7 -$mauve = 0xffcba6f7 -$red = 0xfff38ba8 -$maroon = 0xffeba0ac -$peach = 0xfffab387 -$yellow = 0xfff9e2af -$green = 0xffa6e3a1 -$teal = 0xff94e2d5 -$sky = 0xff89dceb -$sapphire = 0xff74c7ec -$blue = 0xff89b4fa -$lavender = 0xffb4befe - -$text = 0xffcdd6f4 -$subtext1 = 0xffbac2de -$subtext0 = 0xffa6adc8 - -$overlay2 = 0xff9399b2 -$overlay1 = 0xff7f849c -$overlay0 = 0xff6c7086 - -$surface2 = 0xff585b70 -$surface1 = 0xff45475a -$surface0 = 0xff313244 - -$base = 0xff1e1e2e -$mantle = 0xff181825 -$crust = 0xff11111b diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc deleted file mode 100644 index 78ee35f..0000000 --- a/.config/waybar/config.jsonc +++ /dev/null @@ -1,118 +0,0 @@ -{ - "layer": "top", // Waybar at top layer - "position": "bottom", // Waybar position (top|bottom|left|right) - "margin-bottom": 0, - "margin-left": 0, - "margin-right": 0, - "spacing": 10, // Gaps between modules (4px) - "modules-left": [ - // "hyprland/workspaces" - "sway/workspaces" - ], - "modules-center": [ - "mpd" - ], - "modules-right": [ - // "hyprland/language", - "sway/language", - "custom/vpn", - "pulseaudio", - "cpu", - "memory", - // "custom/weather", - "clock" - ], - // Modules configuration - "sway/language": { - "format": "{}", - "format-en": "en", - "format-ru": "ru", - "keyboard-name": "keychron-keychron-q1-keyboard" - }, - "custom/weather": { - "exec": "$HOME/.config/waybar/weather-plugin.sh", - "interval": 600, - "signal": "8" - }, - "custom/vpn": { - "exec": "$HOME/Scripts/vpn_controls/check_vpn_status.sh", - "format": "VPN {text}", - "interval": 10 - }, - "sway/workspaces": { - "tooltip": false, - "on-click": "activate", - "sort-by-number": true, - "all-outputs": false, - "warp-on-scroll": true, - "disable-scroll": true, - "show-special": true - }, - "mpd": { - "on-click": "mpc toggle", - "tooltip": false, - "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {title}", - "format-disconnected": "Disconnected ", - "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", - "unknown-tag": "N/A", - "interval": 2, - "consume-icons": { - "on": " " - }, - "random-icons": { - "off": " ", - "on": " " - }, - "repeat-icons": { - "on": " " - }, - "single-icons": { - "on": "1 " - }, - "state-icons": { - "paused": "", - "playing": "" - }, - "max-length": 40, - "tooltip-format": "MPD (connected)", - "tooltip-format-disconnected": "MPD (disconnected)" - }, - "clock": { - // "timezone": "America/New_York", - "format": "{:%a, %b %d %H:%M}", - "tooltip-format": "{:%Y %B}\n{calendar}", - "format-alt": "{:%Y-%m-%d}" - }, - "cpu": { - "format": "{usage}% ", - "tooltip": false - }, - "memory": { - "format": "{}% " - }, - "pulseaudio": { - "tooltip": false, - // "scroll-step": 1, // %, can be a float - //"format": "{volume}% {icon} {format_source}", - "format": "{volume}% {icon}", - "format-bluetooth": "{volume}% {icon} {format_source}", - "format-bluetooth-muted": " {icon} {format_source}", - "format-muted": "󰟎", - "format-source": "{volume}% ", - "format-source-muted": "", - "format-icons": { - "headphone": "󰋋", - "hands-free": "", - "headset": "", - "phone": "", - "portable": "", - "car": "", - "default": [ - "", - "", - "" - ] - }, - "on-click": "pavucontrol" - } -} diff --git a/.config/waybar/style.css b/.config/waybar/style.css deleted file mode 100644 index a7e8cca..0000000 --- a/.config/waybar/style.css +++ /dev/null @@ -1,54 +0,0 @@ -*, body{ - margin: 0; - padding: 0; - border: none; - border-radius: 0; - font-family: 'Input Nerd Font'; - font-size: 13px; - min-height: 1.5em; -} - -window#waybar { - background: #000000; - margin: 0; -} - - -#workspaces button { - margin: 0; - padding-top: 5px; - padding-bottom: 5px; - padding-left: 10px; - padding-right: 10px; - border-bottom: 2px solid #7e9cd8; - border-radius: 0; -} - -#workspaces button.active { - border-bottom: 2px solid white; - border-radius: 0; -} - -#workspaces button.focused { - border-bottom: 2px solid white; - border-radius: 0; -} - -#clock, -#backlight, -#pulseaudio, -#bluetooth, -#network, -#battery, -#mpd, -#cpu, -#memory, -#custom-weather, -#custom-vpn, -#language { - border-bottom: 2px solid #7e9cd8; - padding-top: 5px; - padding-bottom: 5px; - padding-left: 10px; - padding-right: 10px; -} diff --git a/.config/waybar/weather-plugin.sh b/.config/waybar/weather-plugin.sh deleted file mode 100755 index c54840d..0000000 --- a/.config/waybar/weather-plugin.sh +++ /dev/null @@ -1,297 +0,0 @@ -#!/bin/bash - -# SETTINGS vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv - -# API settings ________________________________________________________________ - -APIKEY=`cat $HOME/.owm-key` -CITY_NAME='Tyumen' -COUNTRY_CODE='RUS' -# Desired output language -LANG="en" -# UNITS can be "metric", "imperial" or "kelvin". Set KNOTS to "yes" if you -# want the wind in knots: - -# | temperature | wind -# ----------------------------------- -# metric | Celsius | km/h -# imperial | Fahrenheit | miles/hour -# kelvin | Kelvin | km/h - -UNITS="metric" - -# Color Settings ______________________________________________________________ - -COLOR_CLOUD="#606060" -COLOR_THUNDER="#d3b987" -COLOR_LIGHT_RAIN="#73cef4" -COLOR_HEAVY_RAIN="#b3deef" -COLOR_SNOW="#FFFFFF" -COLOR_FOG="#606060" -COLOR_TORNADO="#d3b987" -COLOR_SUN="#ffc24b" -COLOR_MOON="#FFFFFF" -COLOR_ERR="#f43753" -COLOR_WIND="#73cef4" -COLOR_COLD="#b3deef" -COLOR_HOT="#f43753" -COLOR_NORMAL_TEMP="#FFFFFF" - -# Leave "" if you want the default polybar color -COLOR_TEXT="" -# Polybar settings ____________________________________________________________ - -# Font for the weather icons -WEATHER_FONT_CODE=4 - -# Font for the thermometer icon -TEMP_FONT_CODE=2 - -# Wind settings _______________________________________________________________ - -# Display info about the wind or not. yes/no -DISPLAY_WIND="yes" - -# Display in knots. yes/no -KNOTS="no" - -# How many decimals after the floating point -DECIMALS=0 - -# Min. wind force required to display wind info (it depends on what -# measurement unit you have set: knots, m/s or mph). Set to 0 if you always -# want to display wind info. It's ignored if DISPLAY_WIND is false. - -MIN_WIND=0 - -# Display the numeric wind force or not. If not, only the wind icon will -# appear. yes/no - -DISPLAY_FORCE="yes" - -# Display the wind unit if wind force is displayed. yes/no -DISPLAY_WIND_UNIT="yes" - -# Thermometer settings ________________________________________________________ - -# When the thermometer icon turns red -HOT_TEMP=25 - -# When the thermometer icon turns blue -COLD_TEMP=0 - -# Other settings ______________________________________________________________ - -# Display the weather description. yes/no -DISPLAY_LABEL="yes" - -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -if [ "$COLOR_TEXT" != "" ]; then - COLOR_TEXT_BEGIN="%{F$COLOR_TEXT}" - COLOR_TEXT_END="%{F-}" -fi - -RESPONSE="" -ERROR=0 -ERR_MSG="" -if [ $UNITS = "kelvin" ]; then - UNIT_URL="" -else - UNIT_URL="&units=$UNITS" -fi -URL="api.openweathermap.org/data/2.5/weather?appid=$APIKEY$UNIT_URL&lang=$LANG&q=$CITY_NAME,$COUNTRY_CODE" - -function getData { - ERROR=0 - # For logging purposes - # echo " " >> "$HOME/.weather.log" - # echo `date`" ################################" >> "$HOME/.weather.log" - RESPONSE=`curl -s $URL` - if [ "$1" = "-d" ]; then - echo $RESPONSE - echo "" - fi - CODE="$?" - # echo "Response: $RESPONSE" >> "$HOME/.weather.log" - RESPONSECODE=0 - if [ $CODE -eq 0 ]; then - RESPONSECODE=`echo $RESPONSE | jq .cod` - fi - if [ $CODE -ne 0 ] || [ $RESPONSECODE -ne 200 ]; then - if [ $CODE -ne 0 ]; then - ERR_MSG="curl Error $CODE" - # echo "curl Error $CODE" >> "$HOME/.weather.log" - else - ERR_MSG="Conn. Err. $RESPONSECODE" - # echo "API Error $RESPONSECODE" >> "$HOME/.weather.log" - fi - ERROR=1 - # else - # echo "$RESPONSE" > "$HOME/.weather-last" - # echo `date +%s` >> "$HOME/.weather-last" - fi -} -function getDataWttrIn { - RESPONSE_WTTR_IN=`curl -s wttr.in` -} -function setIcons { - if [ $WID -le 232 ]; then - #Thunderstorm - ICON_COLOR=$COLOR_THUNDER - if [ $DATE -ge $SUNRISE -a $DATE -le $SUNSET ]; then - ICON="" - else - ICON="" - fi - elif [ $WID -le 311 ]; then - #Light drizzle - ICON_COLOR=$COLOR_LIGHT_RAIN - if [ $DATE -ge $SUNRISE -a $DATE -le $SUNSET ]; then - ICON="" - else - ICON="" - fi - elif [ $WID -le 321 ]; then - #Heavy drizzle - ICON_COLOR=$COLOR_HEAVY_RAIN - if [ $DATE -ge $SUNRISE -a $DATE -le $SUNSET ]; then - ICON="" - else - ICON="" - fi - elif [ $WID -le 531 ]; then - #Rain - ICON_COLOR=$COLOR_HEAVY_RAIN - if [ $DATE -ge $SUNRISE -a $DATE -le $SUNSET ]; then - ICON="" - else - ICON="" - fi - elif [ $WID -le 622 ]; then - #Snow - ICON_COLOR=$COLOR_SNOW - ICON="" - elif [ $WID -le 771 ]; then - #Fog - ICON_COLOR=$COLOR_FOG - ICON="" - elif [ $WID -eq 781 ]; then - #Tornado - ICON_COLOR=$COLOR_TORNADO - ICON="" - elif [ $WID -eq 800 ]; then - #Clear sky - if [ $DATE -ge $SUNRISE -a $DATE -le $SUNSET ]; then - ICON_COLOR=$COLOR_SUN - ICON="" - else - ICON_COLOR=$COLOR_MOON - ICON="" - fi - elif [ $WID -eq 801 ]; then - # Few clouds - if [ $DATE -ge $SUNRISE -a $DATE -le $SUNSET ]; then - ICON_COLOR=$COLOR_SUN - ICON="" - else - ICON_COLOR=$COLOR_MOON - ICON="" - fi - elif [ $WID -le 804 ]; then - # Overcast - ICON_COLOR=$COLOR_CLOUD - ICON="" - else - ICON_COLOR=$COLOR_ERR - ICON="" - fi - WIND="" - WINDFORCE=`echo "$RESPONSE" | jq .wind.speed` - if [ $KNOTS = "yes" ]; then - case $UNITS in - "imperial") - # The division by one is necessary because scale works only for divisions. bc is stupid. - WINDFORCE=`echo "scale=$DECIMALS;$WINDFORCE * 0.8689762419 / 1" | bc` - ;; - *) - WINDFORCE=`echo "scale=$DECIMALS;$WINDFORCE * 1.943844 / 1" | bc` - ;; - esac - else - if [ $UNITS != "imperial" ]; then - # Conversion from m/s to km/h - WINDFORCE=`echo "scale=$DECIMALS;$WINDFORCE * 3.6 / 1" | bc` - else - WINDFORCE=`echo "scale=$DECIMALS;$WINDFORCE / 1" | bc` - fi - fi - if [ "$DISPLAY_WIND" = "yes" ] && [ `echo "$WINDFORCE >= $MIN_WIND" |bc -l` -eq 1 ]; then - WIND="" - if [ $DISPLAY_FORCE = "yes" ]; then - WIND="$WIND $COLOR_TEXT_BEGIN$WINDFORCE$COLOR_TEXT_END" - if [ $DISPLAY_WIND_UNIT = "yes" ]; then - if [ $KNOTS = "yes" ]; then - WIND="$WIND ${COLOR_TEXT_BEGIN}kn$COLOR_TEXT_END" - elif [ $UNITS = "imperial" ]; then - WIND="$WIND ${COLOR_TEXT_BEGIN}mph$COLOR_TEXT_END" - else - WIND="$WIND ${COLOR_TEXT_BEGIN}km/h$COLOR_TEXT_END" - fi - fi - fi - WIND="$WIND |" - fi - if [ "$UNITS" = "metric" ]; then - TEMP_ICON="糖" - elif [ "$UNITS" = "imperial" ]; then - TEMP_ICON="宅" - else - TEMP_ICON="洞" - fi - - TEMP=`echo "$TEMP" | cut -d "." -f 1` - - if [ "$TEMP" -le $COLD_TEMP ]; then - TEMP=" $COLOR_TEXT_BEGIN$TEMP$TEMP_ICON$COLOR_TEXT_END" - elif [ `echo "$TEMP >= $HOT_TEMP" | bc` -eq 1 ]; then - TEMP=" $COLOR_TEXT_BEGIN$TEMP$TEMP_ICON$COLOR_TEXT_END" - else - TEMP=" $COLOR_TEXT_BEGIN$TEMP$TEMP_ICON$COLOR_TEXT_END" - fi -} - -function outputCompact { - OUTPUT="$WIND $ICON $ERR_MSG$COLOR_TEXT_BEGIN$DESCRIPTION$COLOR_TEXT_END| $TEMP" - # getDataWttrIn - # - # echo "Output: $OUTPUT" >> "$HOME/.weather.log" - # printf "$OUTPUT\n$RESPONSE_WTTR_IN" - # echo $OUTPUT - echo "$OUTPUT" - # $RESPONSE_WTTR_IN" - # printf '{"text": "%s", "tooltip": "%s"}', "$OUTPUT", "$OUTPUT" -} - -getData $1 -if [ $ERROR -eq 0 ]; then - MAIN=`echo $RESPONSE | jq .weather[0].main` - WID=`echo $RESPONSE | jq .weather[0].id` - DESC=`echo $RESPONSE | jq .weather[0].description` - SUNRISE=`echo $RESPONSE | jq .sys.sunrise` - SUNSET=`echo $RESPONSE | jq .sys.sunset` - DATE=`date +%s` - WIND="" - TEMP=`echo $RESPONSE | jq .main.temp` - if [ $DISPLAY_LABEL = "yes" ]; then - DESCRIPTION=`echo "$RESPONSE" | jq .weather[0].description | tr -d '"' | sed 's/.*/\L&/; s/[a-z]*/\u&/g'`" " - else - DESCRIPTION="" - fi - PRESSURE=`echo $RESPONSE | jq .main.pressure` - HUMIDITY=`echo $RESPONSE | jq .main.humidity` - setIcons - outputCompact -else - echo " " -fi