diff --git a/dot_config/hypr/hypridle.conf b/dot_config/hypr/hypridle.conf index 64c6124..875ae48 100644 --- a/dot_config/hypr/hypridle.conf +++ b/dot_config/hypr/hypridle.conf @@ -1,7 +1,7 @@ ### based on the example config from hyprland.org general { - lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. + lock_cmd = pgrep -x swaylock >/dev/null || swaylock -f # avoid starting multiple swaylock instances. before_sleep_cmd = loginctl lock-session # lock before suspend. after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. ignore_dbus_inhibit = false # whether to ignore dbus-sent idle-inhibit requests (used by e.g. firefox or steam) diff --git a/dot_config/hypr/hyprland.d/60-rules.conf b/dot_config/hypr/hyprland.d/60-rules.conf index 090bf70..36212c8 100644 --- a/dot_config/hypr/hyprland.d/60-rules.conf +++ b/dot_config/hypr/hyprland.d/60-rules.conf @@ -74,7 +74,7 @@ windowrule = match:class ^$, match:title ^$, match:xwayland 1, match:float 1, ma windowrule = match:xwayland 1, no_initial_focus on ## ========== Special Workspaces ========== -workspace = special:keepass, on-created-empty:keepassxc +workspace = special:passwordmgr, on-created-empty:bitwarden-desktop #windowrule = float, class:org.keepassxc.KeePassXC #windowrule = noscreenshare, class:org.keepassxc.KeePassXC #windowrule = size 60% 60%, class:org.keepassxc.KeePassXC diff --git a/dot_config/hypr/hyprland.d/70-keybinds.conf.tmpl b/dot_config/hypr/hyprland.d/70-keybinds.conf.tmpl index efa2f22..3c9c172 100644 --- a/dot_config/hypr/hyprland.d/70-keybinds.conf.tmpl +++ b/dot_config/hypr/hyprland.d/70-keybinds.conf.tmpl @@ -19,7 +19,7 @@ $browsernewinst = uwsm app -- firefox --new-instance $altbrowser = uwsm app -- chromium $taskman = uwsm app -- owlry -m uuctl -$pwdmgr = uwsm app -- keepassxc +$pwdmgr = uwsm app -- bitwarden-desktop $soundctl = uwsm app -- pwvucontrol $notcenter = uwsm app -- swaync-client -t -sw @@ -28,7 +28,7 @@ $nothide = uwsm app -- swaync-client --hide-latest $notclose = uwsm app -- swaync-client --close-latest $notcloseall = uwsm app -- swaync-client --close-all -$lockcmd = loginctl lock-session +$lockcmd = swaylock -f ############################################## ################## KEYBINDS ################## @@ -86,7 +86,7 @@ bind = $mainMod, I, pin # Special workspaces bind = $mainMod SHIFT, Space, togglespecialworkspace # show/hide special workspace bind = $mainMod CTRL, Space, movetoworkspace, special # move to the special workspace -bind = $mainMod, N, togglespecialworkspace, keepass +bind = $mainMod, N, togglespecialworkspace, passwordmgr # Master layout bind = $mainMod, Tab, layoutmsg, swapwithmaster diff --git a/dot_config/mimeapps.list b/dot_config/mimeapps.list index adcf085..1cde91c 100644 --- a/dot_config/mimeapps.list +++ b/dot_config/mimeapps.list @@ -13,8 +13,8 @@ application/x-extension-xht=firefox.desktop application/pdf=org.pwmt.zathura-pdf-mupdf.desktop x-scheme-handler/jetbrains=jetbrains-toolbox.desktop application/gml+xml=dev.zed.Zed.desktop -image/png=gimp.desktop -image/jpeg=gimp.desktop +image/png=org.pwmt.zathura-pdf-mupdf.desktop +image/jpeg=org.pwmt.zathura-pdf-mupdf.desktop [Added Associations] x-scheme-handler/http=firefox.desktop; @@ -29,5 +29,5 @@ application/x-extension-xhtml=firefox.desktop; application/x-extension-xht=firefox.desktop; application/pdf=org.pwmt.zathura-pdf-mupdf.desktop; application/gml+xml=dev.zed.Zed.desktop; -image/png=satty.desktop;gimp.desktop; -image/jpeg=satty.desktop;gimp.desktop; +image/png=satty.desktop;gimp.desktop;org.pwmt.zathura-pdf-mupdf.desktop; +image/jpeg=satty.desktop;gimp.desktop;org.pwmt.zathura-pdf-mupdf.desktop; diff --git a/dot_config/niri/config.kdl.tmpl b/dot_config/niri/config.kdl.tmpl index 5b2c1d1..4140844 100644 --- a/dot_config/niri/config.kdl.tmpl +++ b/dot_config/niri/config.kdl.tmpl @@ -368,10 +368,33 @@ binds { // shows a list of important hotkeys. Mod+Shift+Slash { show-hotkey-overlay; } - // Suggested binds for running programs: terminal, app launcher, screen locker. - Mod+T hotkey-overlay-title="Open a Terminal: alacritty" { spawn "alacritty"; } - Mod+D hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; } - Super+Alt+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; } + // Hyprland-like launcher and app bindings. + Mod+Return hotkey-overlay-title="Open a Terminal: kitty" { spawn "kitty"; } + Mod+Shift+Return { spawn "kitty" "-e" "tmux"; } + Mod+Alt+Return { spawn "kitty" "-e" "tmux" "a"; } + Mod+Ctrl+Return { spawn "kitty"; } + Mod+T { spawn "kitty"; } + + Mod+Space hotkey-overlay-title="Run Launcher: owlry" { spawn "owlry" "-p" "app,cmd,system,ssh"; } + Mod+D { spawn "owlry" "-p" "app,cmd,system,ssh"; } + Mod+C { spawn "owlry" "-m" "clipboard"; } + Mod+X { spawn "owlry" "-m" "uuctl"; } + + Mod+E { spawn "nautilus"; } + Mod+Shift+E { spawn "kitty" "-e" "nvim"; } + Mod+W { spawn "firefox"; } + Mod+Shift+W { spawn "firefox" "--private-window"; } + Mod+Ctrl+W { spawn "chromium"; } + Mod+Alt+W { spawn "firefox" "--new-instance"; } + Mod+R { spawn "keepassxc"; } + Mod+F4 { spawn "pwvucontrol"; } + Mod+Backslash { spawn "mic-toggle-usb"; } + + Mod+Grave { spawn "swaync-client" "-t" "-sw"; } + Mod+Shift+Grave { spawn "swaync-client" "-d"; } + Mod+Pause { spawn "swaylock" "-f"; } + Mod+Shift+Escape { spawn "swaylock" "-f"; } + Super+Alt+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock" "-f"; } // Use spawn-sh to run a shell command. Do this if you need pipes, multiple commands, etc. // Note: the entire command goes as a single argument. It's passed verbatim to `sh -c`. @@ -420,10 +443,10 @@ binds { Mod+Ctrl+Down { move-window-down; } Mod+Ctrl+Up { move-window-up; } Mod+Ctrl+Right { move-column-right; } - Mod+Ctrl+H { move-column-left; } - Mod+Ctrl+J { move-window-down; } - Mod+Ctrl+K { move-window-up; } - Mod+Ctrl+L { move-column-right; } + Mod+Ctrl+H { set-column-width "-5%"; } + Mod+Ctrl+J { set-window-height "+5%"; } + Mod+Ctrl+K { set-window-height "-5%"; } + Mod+Ctrl+L { set-column-width "+5%"; } // Alternative commands that move across workspaces when reaching // the first or last window in a column. @@ -441,10 +464,11 @@ binds { Mod+Shift+Down { focus-monitor-down; } Mod+Shift+Up { focus-monitor-up; } Mod+Shift+Right { focus-monitor-right; } - Mod+Shift+H { focus-monitor-left; } - Mod+Shift+J { focus-monitor-down; } - Mod+Shift+K { focus-monitor-up; } - Mod+Shift+L { focus-monitor-right; } + + Mod+Shift+H { move-column-left; } + Mod+Shift+J { move-window-down; } + Mod+Shift+K { move-window-up; } + Mod+Shift+L { move-column-right; } Mod+Shift+Ctrl+Left { move-column-to-monitor-left; } Mod+Shift+Ctrl+Down { move-column-to-monitor-down; } @@ -530,6 +554,17 @@ binds { Mod+7 { focus-workspace 7; } Mod+8 { focus-workspace 8; } Mod+9 { focus-workspace 9; } + Mod+0 { focus-workspace 10; } + Mod+Shift+1 { move-column-to-workspace 1; } + Mod+Shift+2 { move-column-to-workspace 2; } + Mod+Shift+3 { move-column-to-workspace 3; } + Mod+Shift+4 { move-column-to-workspace 4; } + Mod+Shift+5 { move-column-to-workspace 5; } + Mod+Shift+6 { move-column-to-workspace 6; } + Mod+Shift+7 { move-column-to-workspace 7; } + Mod+Shift+8 { move-column-to-workspace 8; } + Mod+Shift+9 { move-column-to-workspace 9; } + Mod+Shift+0 { move-column-to-workspace 10; } Mod+Ctrl+1 { move-column-to-workspace 1; } Mod+Ctrl+2 { move-column-to-workspace 2; } Mod+Ctrl+3 { move-column-to-workspace 3; } @@ -539,6 +574,7 @@ binds { Mod+Ctrl+7 { move-column-to-workspace 7; } Mod+Ctrl+8 { move-column-to-workspace 8; } Mod+Ctrl+9 { move-column-to-workspace 9; } + Mod+Ctrl+0 { move-column-to-workspace 10; } // Alternatively, there are commands to move just a single window: // Mod+Ctrl+1 { move-window-to-workspace 1; } @@ -557,12 +593,13 @@ binds { // Expel the bottom window from the focused column to the right. Mod+Period { expel-window-from-column; } - Mod+R { switch-preset-column-width; } + Mod+Alt+R { switch-preset-column-width; } // Cycling through the presets in reverse order is also possible. - // Mod+R { switch-preset-column-width-back; } - Mod+Shift+R { switch-preset-window-height; } - Mod+Ctrl+R { reset-window-height; } - Mod+F { maximize-column; } + // Mod+Alt+R { switch-preset-column-width-back; } + Mod+Shift+Alt+R { switch-preset-window-height; } + Mod+Ctrl+Alt+R { reset-window-height; } + Mod+Alt+F { maximize-column; } + Mod+F { toggle-window-floating; } Mod+Shift+F { fullscreen-window; } // While maximize-column leaves gaps and borders around the window, @@ -575,10 +612,10 @@ binds { // Makes the column "fill the rest of the space". Mod+Ctrl+F { expand-column-to-available-width; } - Mod+C { center-column; } + Mod+Alt+C { center-column; } // Center all fully visible columns on screen. - Mod+Ctrl+C { center-visible-columns; } + Mod+Ctrl+Alt+C { center-visible-columns; } // Finer width adjustments. // This command can also: @@ -602,7 +639,7 @@ binds { // Toggle tabbed column display mode. // Windows in this column will appear as vertical tabs, // rather than stacked on top of each other. - Mod+W { toggle-column-tabbed-display; } + Mod+Ctrl+T { toggle-column-tabbed-display; } // Actions to switch layouts. // Note: if you uncomment these, make sure you do NOT have @@ -613,6 +650,8 @@ binds { // Mod+Shift+Space { switch-layout "prev"; } Print { screenshot; } + Mod+Print { spawn "owlry-screenshot-menu"; } + Shift+Print { spawn-sh "kitty --class=scrrec -e wf-recorder -f ~/Videos/scrrec.mkv -y -g \"$(slurp)\""; } Ctrl+Print { screenshot-screen; } Alt+Print { screenshot-window; } @@ -627,7 +666,7 @@ binds { Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; } // The quit action will show a confirmation dialog to avoid accidental exits. - Mod+Shift+E { quit; } + Mod+Ctrl+Shift+E { quit; } Ctrl+Alt+Delete { quit; } // Powers off the monitors. To turn them back on, do any input like diff --git a/dot_config/owlry/config.toml.tmpl b/dot_config/owlry/config.toml.tmpl index 41d832e..383b65e 100644 --- a/dot_config/owlry/config.toml.tmpl +++ b/dot_config/owlry/config.toml.tmpl @@ -28,7 +28,7 @@ max_results = 100 # Terminal emulator for SSH, scripts, etc. # Auto-detection order: $TERMINAL → xdg-terminal-exec → DE-native → Wayland → X11 → xterm # Uncomment to override: -# terminal_command = "kitty" +terminal_command = "kitty" # Launch wrapper for app execution (auto-detected for uwsm/Hyprland) # Examples: "uwsm app --", "hyprctl dispatch exec --", "" diff --git a/dot_config/swaylock/config.tmpl b/dot_config/swaylock/config.tmpl new file mode 100644 index 0000000..bf8552f --- /dev/null +++ b/dot_config/swaylock/config.tmpl @@ -0,0 +1,57 @@ +{{- $lock_bg := (index .chezmoi.config.data "lockscreen-wallpaper") -}} +{{- if not $lock_bg -}} + {{- $lock_bg = "~/.config/wallpaper/lockscreen/current" -}} +{{- end -}} +{{- $theme := .chezmoi.config.data.theme -}} + +{{- $inside := "00000033" -}} +{{- $ring_idle := "00000000" -}} +{{- $text := "ff0084cc" -}} +{{- $accent := "ff0084cc" -}} +{{- $alert := "ff4d6dcc" -}} +{{- $warn := "ffb700cc" -}} + +{{- if eq $theme "apex-aeon" -}} + {{- $inside = "f5f5f540" -}} + {{- $ring_idle = "00000000" -}} + {{- $text = "ff0044cc" -}} + {{- $accent = "ff0044cc" -}} + {{- $alert = "ff4d6dcc" -}} + {{- $warn = "d18f00cc" -}} +{{- end -}} + +image={{ $lock_bg }} +scaling=fill + +font=GeistMono Nerd Font +indicator +indicator-radius=110 +indicator-thickness=4 + +line-color=00000000 +separator-color=00000000 +inside-color={{ $inside }} +ring-color={{ $ring_idle }} +text-color={{ $text }} + +key-hl-color={{ $accent }} +bs-hl-color={{ $warn }} + +inside-clear-color={{ $inside }} +ring-clear-color={{ $accent }} +inside-ver-color={{ $inside }} +ring-ver-color={{ $accent }} +inside-wrong-color={{ $inside }} +ring-wrong-color={{ $alert }} + +text-clear-color={{ $text }} +text-ver-color={{ $text }} +text-wrong-color={{ $text }} + +show-failed-attempts +ignore-empty-password + +# If you use swaylock-effects, uncomment these to mirror hyprlock's clock/date feel: +# clock +# timestr=%-I:%M +# datestr=%A, %B %d diff --git a/dot_config/waybar/config.tmpl b/dot_config/waybar/config.tmpl index 2d386c2..8cd1805 100644 --- a/dot_config/waybar/config.tmpl +++ b/dot_config/waybar/config.tmpl @@ -1,9 +1,16 @@ +{{- $tags := .chezmoi.config.data.tags -}} {{- $primary_output := "eDP-1" -}} {{- range .monitors -}} {{- if index . "primary" -}} {{- $primary_output = .name -}} {{- end -}} {{- end -}} +{{- $workspace_module := "" -}} +{{- if $tags.niri -}} + {{- $workspace_module = "niri/workspaces" -}} +{{- else if $tags.hyprland -}} + {{- $workspace_module = "hyprland/workspaces" -}} +{{- end -}} { "layer": "top", "position": "left", @@ -16,8 +23,8 @@ "modules-left": [ "clock", "custom/swaync", - "custom/alhp", - "hyprland/workspaces" + "custom/alhp"{{- if $workspace_module }}, + "{{ $workspace_module }}"{{- end }} ], "modules-center": [ @@ -30,7 +37,9 @@ "modules-right": [ "idle_inhibitor", + {{- if $tags.hyprland }} "custom/hyprsunset", + {{- end }} "gamemode", "privacy", "group/volume", @@ -44,6 +53,12 @@ {{- end }} ], + {{- if $tags.niri }} + "niri/workspaces": { + "format": "{value}", + "all-outputs": true + }, + {{- else if $tags.hyprland }} "hyprland/workspaces": { "format": "{icon}", "all-outputs": true, @@ -69,6 +84,7 @@ "on-scroll-up": "hyprctl dispatch workspace e+1", "on-scroll-down": "hyprctl dispatch workspace e-1" }, + {{- end }} "cpu": { "interval": 2, @@ -310,6 +326,7 @@ "on-click-middle": "swaync-client -C" }, + {{- if $tags.hyprland }} "custom/hyprsunset": { "format": "SUN", "tooltip": true, @@ -322,6 +339,7 @@ "interval": 0 }, + {{- end }} "custom/alhp": { "id": "custom-alhp", diff --git a/dot_local/share/Steam/steamapps/common/Counter-Strike Global Offensive/game/csgo/cfg/autoexec.cfg b/dot_local/share/Steam/steamapps/common/Counter-Strike Global Offensive/game/csgo/cfg/autoexec.cfg index ef349cc..e4c8cc4 100644 --- a/dot_local/share/Steam/steamapps/common/Counter-Strike Global Offensive/game/csgo/cfg/autoexec.cfg +++ b/dot_local/share/Steam/steamapps/common/Counter-Strike Global Offensive/game/csgo/cfg/autoexec.cfg @@ -33,8 +33,8 @@ gameinstructor_enable 0 //CROSSHAIR COMMANDS cl_crosshairstyle 4 cl_crosshairsize 2 -cl_crosshairthickness 0.5 -cl_crosshairgap -3 +cl_crosshairthickness 1 +cl_crosshairgap -4 cl_crosshair_drawoutline 0 cl_crosshairdot 0 cl_crosshair_t 0