From 2f1eb7a6c025246d289364ee5732ba9add965ecd Mon Sep 17 00:00:00 2001 From: ZachIR Date: Tue, 22 Jul 2025 23:00:56 -0500 Subject: Use hyprscratch for scratchpads, not pyprland --- hypr/hyprland.conf | 87 ++++++----------------------------- hypr/hyprscratch.conf | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++ hypr/pyprland.toml | 98 --------------------------------------- 3 files changed, 138 insertions(+), 172 deletions(-) create mode 100644 hypr/hyprscratch.conf diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 17d19f7..ae57071 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -14,6 +14,7 @@ exec-once = hyprpaper #exec-once = hypridle exec-once = waybar exec-once = pypr +exec-once = hyprscratch init exec-once = lxqt-policykit-agent exec-once = import-gsettings gtk-theme 'Flat-Remix-GTK-Green-Darkest-Solid' exec-once = import-gsettings icon-theme 'COSMIC' @@ -395,80 +396,18 @@ bind = $mainMod, Comma, exec, acpi-notify.sh #}}} #{{{ Scratchpads -bind = $mainMod CONTROL, Z, exec, pypr toggle sphtop -$sphtop = class:^(sphtop)$ -windowrule = float,$sphtop -windowrule = workspace special:sphtop silent,$sphtop -windowrule = size 50% 50%,$sphtop -windowrule = move 25% 25%,$sphtop -bind = $mainMod CONTROL, X, exec, pypr toggle spterm -$spterm = class:^(spterm)$ -windowrule = float,$spterm -windowrule = workspace special:spterm silent,$spterm -windowrule = size 50% 50%,$spterm -windowrule = move 25% 25%,$spterm -bind = $mainMod CONTROL, C, exec, pypr toggle sppmxr -$sppmxr = class:^(sppmxr)$ -windowrule = float,$sppmxr -windowrule = workspace special:sppmxr silent,$sppmxr -windowrule = size 50% 50%,$sppmxr -windowrule = move 25% 25%,$sppmxr -bind = $mainMod CONTROL, V, exec, pypr toggle spblue -$spblue = class:^(spblue)$ -windowrule = float,$spblue -windowrule = workspace special:spblue silent,$spblue -windowrule = size 50% 50%,$spblue -windowrule = move 25% 25%,$spblue -bind = $mainMod CONTROL, B, exec, pypr toggle spncmp -$spncmp = class:^(spncmp)$ -windowrule = float,$spncmp -windowrule = workspace special:spncmp silent,$spncmp -windowrule = size 50% 50%,$spncmp -windowrule = move 25% 25%,$spncmp -bind = $mainMod CONTROL, A, exec, pypr toggle spmutt -$spmutt = class:^(spmutt)$ -windowrule = float,$spmutt -windowrule = workspace special:spmutt silent,$spmutt -windowrule = size 50% 50%,$spmutt -windowrule = move 25% 25%,$spmutt -bind = $mainMod CONTROL, S, exec, pypr toggle spprof -$spprof = class:^(spprof)$ -windowrule = float,$spprof -windowrule = workspace special:spprof silent,$spprof -windowrule = size 50% 50%,$spprof -windowrule = move 25% 25%,$spprof -bind = $mainMod CONTROL, D, exec, pypr toggle spirss -$spirss = class:^(spirss)$ -windowrule = float,$spirss -windowrule = workspace special:spirss silent,$spirss -windowrule = size 50% 50%,$spirss -windowrule = move 25% 25%,$spirss -bind = $mainMod CONTROL, F, exec, pypr toggle sptodo -$sptodo = class:^(sptodo)$ -windowrule = float,$sptodo -windowrule = workspace special:sptodo silent,$sptodo -windowrule = size 50% 50%,$sptodo -windowrule = move 25% 25%,$sptodo -bind = $mainMod CONTROL, G, exec, pypr toggle sptrmc -$sptrmc = class:^(sptrmc)$ -windowrule = float,$sptrmc -windowrule = workspace special:sptrmc silent,$sptrmc -windowrule = size 50% 50%,$sptrmc -windowrule = move 25% 25%,$sptrmc - -bind = $mainMod CONTROL, Q, exec, pypr toggle qpwgraph -$spqpwg = class:^(org\.rncbc\.qpwgraph)$ -windowrule = float,$spqpwg -windowrule = workspace special:spqpwg silent,$spqpwg -windowrule = size 50% 50%,$spqpwg -windowrule = move 25% 25%,$spqpwg - -bind = $mainMod CONTROL, E, togglespecialworkspace, speasy -$speasy = class:^(com\.github\.wwmm\.easyeffects)$ -windowrule = float,$speasy -windowrule = workspace special:speasy silent,$speasy -windowrule = size 50% 50%,$speasy -windowrule = move 25% 25%,$speasy +bind = $mainMod CONTROL, Z, exec, hyprscratch toggle sphtop +bind = $mainMod CONTROL, X, exec, hyprscratch toggle spterm +bind = $mainMod CONTROL, C, exec, hyprscratch toggle sppmxr +bind = $mainMod CONTROL, V, exec, hyprscratch toggle spblue +bind = $mainMod CONTROL, B, exec, hyprscratch toggle spncmp +bind = $mainMod CONTROL, A, exec, hyprscratch toggle spmutt +bind = $mainMod CONTROL, S, exec, hyprscratch toggle spprof +bind = $mainMod CONTROL, D, exec, hyprscratch toggle spirss +bind = $mainMod CONTROL, F, exec, hyprscratch toggle sptodo +bind = $mainMod CONTROL, G, exec, hyprscratch toggle sptrmc +bind = $mainMod CONTROL, Q, exec, hyprscratch toggle helvum +bind = $mainMod CONTROL, E, exec, hyprscratch toggle easyeffects #}}} #{{{ OBS bindings diff --git a/hypr/hyprscratch.conf b/hypr/hyprscratch.conf new file mode 100644 index 0000000..ce73d98 --- /dev/null +++ b/hypr/hyprscratch.conf @@ -0,0 +1,125 @@ +# Optional globals that apply to all scratchpads +daemon_options = clean + +global_rules = size 50% 50% + +sphtop { + # Mandatory fields + title = sphtop + command = st -t sphtop htop + + # Optional fields + options = lazy + options = special +} + +spterm { + # Mandatory fields + title = spterm + command = st -t spterm + + # Optional fields + options = lazy + options = special +} + +sppmxr { + # Mandatory fields + title = sppmxr + command = st -t sppmxr pulsemixer + + # Optional fields + options = lazy + options = special +} + +spblue { + # Mandatory fields + title = spblue + command = st -t spblue bluetoothctl + + # Optional fields + options = lazy + options = special +} + +spncmp { + # Mandatory fields + title = spncmp + command = st -t spncmp ncmpcpp + + # Optional fields + options = lazy + options = special +} + +spmutt { + # Mandatory fields + title = spmutt + command = st -t spmutt neomutt + + # Optional fields + options = lazy + options = special +} + +spprof { + # Mandatory fields + title = spprof + command = st -t spprof profanity + + # Optional fields + options = lazy + options = special +} + +spirss { + # Mandatory fields + title = spirss + command = st -t spirss irssi + + # Optional fields + options = lazy + options = special +} + +sptodo { + # Mandatory fields + title = sptodo + command = st -t sptodo todo + + # Optional fields + options = lazy + options = special +} + +sptrmc { + # Mandatory fields + title = sptrmc + command = st -t sptrmc tremc + + # Optional fields + options = lazy + options = special +} + +helvum { + # Mandatory fields + title = Helvum - Pipewire Patchbay + command = helvum + + # Optional fields + options = lazy + options = special +} + +easyeffects { + # Mandatory fields + title = Easy Effects + command = easyeffects + + # Optional fields + options = lazy + options = special +} + diff --git a/hypr/pyprland.toml b/hypr/pyprland.toml index 5c1d343..cacd7f1 100644 --- a/hypr/pyprland.toml +++ b/hypr/pyprland.toml @@ -1,103 +1,5 @@ [pyprland] plugins = [ - "scratchpads", "toggle_special", "expose" ] - -[scratchpads.sphtop] -animation = "" -command = "st -c sphtop htop" -class = "sphtop" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.spterm] -animation = "" -command = "st -c spterm" -class = "spterm" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.sppmxr] -animation = "" -command = "st -c sppmxr pulsemixer" -class = "sppmxr" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.spblue] -animation = "" -command = "st -c spblue bluetoothctl" -class = "spblue" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.spncmp] -animation = "" -command = "st -c spncmp ncmpcpp" -class = "spncmp" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.spmutt] -animation = "" -command = "st -c spmutt neomutt" -class = "spmutt" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.spprof] -animation = "" -command = "st -c spprof profanity" -class = "spprof" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.spirss] -animation = "" -command = "st -c spirss irssi" -class = "spirss" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.sptodo] -animation = "" -command = "st -c sptodo todo" -class = "sptodo" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.sptrmc] -animation = "" -command = "st -c sptrmc tremc" -class = "sptremc" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.helvum] -animation = "" -command = "helvum" -class = "org.pipewire.Helvum" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.easyeffects] -animation = "" -command = "flatpak run com.github.wwmm.easyeffects" -class = "com.github.wwmm.easyeffects" -lazy = true -size = "75% 75%" -position = "25% 25%" -unfocus = "hide" -- cgit v1.2.3 From fcec167357afd7831341bcf8a817a3a466ffadca Mon Sep 17 00:00:00 2001 From: ZachIR Date: Tue, 22 Jul 2025 23:01:33 -0500 Subject: Use hyprscrolling focus not movefocus --- hypr/hyprland.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index ae57071..3e9547a 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -243,10 +243,10 @@ bind = $mainMod+SHIFT, H, layoutmsg, movewindowto l #HYPRSCROLLING bind = $mainMod+SHIFT, L, layoutmsg, movewindowto r #HYPRSCROLLING bind = $mainMod+SHIFT, J, layoutmsg, colresize -conf #HYPRSCROLLING bind = $mainMod+SHIFT, K, layoutmsg, colresize +conf #HYPRSCROLLING -bind = $mainMod, H, movefocus, l #HYPRSCROLLING -bind = $mainMod, J, movefocus, u #HYPRSCROLLING -bind = $mainMod, K, movefocus, d #HYPRSCROLLING -bind = $mainMod, L, movefocus, r #HYPRSCROLLING +bind = $mainMod, H, layoutmsg, focus l #HYPRSCROLLING +bind = $mainMod, J, layoutmsg, focus u #HYPRSCROLLING +bind = $mainMod, K, layoutmsg, focus d #HYPRSCROLLING +bind = $mainMod, L, layoutmsg, focus r #HYPRSCROLLING bind = $mainMod+SHIFT, Return, layoutmsg, promote #HYPRSCROLLING #}}} -- cgit v1.2.3 From 11d957d896dbfd3502d1c1e00d8e573cbb235e2e Mon Sep 17 00:00:00 2001 From: ZachIR Date: Tue, 22 Jul 2025 23:01:46 -0500 Subject: Fix fpath in zshrc --- zsh/.zshrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zsh/.zshrc b/zsh/.zshrc index a96f1c1..b70b3d4 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -56,7 +56,7 @@ zle -N zle-line-init zle -N zle-keymap-select export KEYTIMEOUT=1 -#fpath+="$XDG_CONFIG_HOME/zsh/zfunc" +fpath+="$XDG_CONFIG_HOME/zsh/functions" autoload -Uz compinit if [[ -n ${ZDOTDIR}/.zcompdump(#qN.mh+24) ]]; then -- cgit v1.2.3 From 8888b075373c9126882a8b7c50a654fb663bd206 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Tue, 22 Jul 2025 23:10:18 -0500 Subject: Autoload anonsh --- zsh/.zshrc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/zsh/.zshrc b/zsh/.zshrc index b70b3d4..4ca4d31 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -58,6 +58,8 @@ export KEYTIMEOUT=1 fpath+="$XDG_CONFIG_HOME/zsh/functions" +autoload -Uz anonsh + autoload -Uz compinit if [[ -n ${ZDOTDIR}/.zcompdump(#qN.mh+24) ]]; then compinit -- cgit v1.2.3 From bb1eeb044938a4fdf2be041aeb71f0a49946f07f Mon Sep 17 00:00:00 2001 From: zachir Date: Wed, 23 Jul 2025 20:27:19 -0500 Subject: Use kitty, not st (again) --- hypr/hyprland.conf | 10 +++++----- hypr/hyprscratch.conf | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 3e9547a..66d4945 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -105,7 +105,7 @@ misc { disable_hyprland_logo = true disable_splash_rendering = true enable_swallow = true - swallow_regex = ^(st-256color)$ + swallow_regex = ^(kitty)$ swallow_exception_regex = ^(wev|.*ueberzug|n?vi?m? .*)$ vfr = true vrr = 3 @@ -203,9 +203,9 @@ plugin { #{{{ Windowrules # Example windowrule v1 -# windowrule = float, ^(st)$ +# windowrule = float, ^(kitty)$ # Example windowrule v2 -# windowrule = float, class:^(st)$, title:^(st)$ +# windowrule = float, class:^(kitty)$, title:^(kitty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more #}}} @@ -384,8 +384,8 @@ bind = $mainMod $secdMod, P, exec, passmenu #}}} #{{{ Misc bindings -bind = $mainMod, Return, exec, st -bind = $mainMod $secdMod, F, exec, st lf +bind = $mainMod, Return, exec, kitty +bind = $mainMod $secdMod, F, exec, kitty lf bind = $mainMod, W, exec, pkill -USR1 waybar bind = $mainMod, Q, exec, loginctl lock-session bind = $mainMod $secdMod CONTROL, Q, exec, systemctl suspend diff --git a/hypr/hyprscratch.conf b/hypr/hyprscratch.conf index ce73d98..4274dcd 100644 --- a/hypr/hyprscratch.conf +++ b/hypr/hyprscratch.conf @@ -6,7 +6,7 @@ global_rules = size 50% 50% sphtop { # Mandatory fields title = sphtop - command = st -t sphtop htop + command = kitty -T sphtop htop # Optional fields options = lazy @@ -16,7 +16,7 @@ sphtop { spterm { # Mandatory fields title = spterm - command = st -t spterm + command = kitty -T spterm # Optional fields options = lazy @@ -26,7 +26,7 @@ spterm { sppmxr { # Mandatory fields title = sppmxr - command = st -t sppmxr pulsemixer + command = kitty -T sppmxr pulsemixer # Optional fields options = lazy @@ -36,7 +36,7 @@ sppmxr { spblue { # Mandatory fields title = spblue - command = st -t spblue bluetoothctl + command = kitty -T spblue bluetoothctl # Optional fields options = lazy @@ -46,7 +46,7 @@ spblue { spncmp { # Mandatory fields title = spncmp - command = st -t spncmp ncmpcpp + command = kitty -T spncmp ncmpcpp # Optional fields options = lazy @@ -56,7 +56,7 @@ spncmp { spmutt { # Mandatory fields title = spmutt - command = st -t spmutt neomutt + command = kitty -T spmutt neomutt # Optional fields options = lazy @@ -66,7 +66,7 @@ spmutt { spprof { # Mandatory fields title = spprof - command = st -t spprof profanity + command = kitty -T spprof profanity # Optional fields options = lazy @@ -76,7 +76,7 @@ spprof { spirss { # Mandatory fields title = spirss - command = st -t spirss irssi + command = kitty -T spirss irssi # Optional fields options = lazy @@ -86,7 +86,7 @@ spirss { sptodo { # Mandatory fields title = sptodo - command = st -t sptodo todo + command = kitty -T sptodo todo # Optional fields options = lazy @@ -96,7 +96,7 @@ sptodo { sptrmc { # Mandatory fields title = sptrmc - command = st -t sptrmc tremc + command = kitty -T sptrmc tremc # Optional fields options = lazy -- cgit v1.2.3 From 19c003a5022df90a6f7e091dd762f6e53a50ce54 Mon Sep 17 00:00:00 2001 From: zachir Date: Wed, 23 Jul 2025 20:27:49 -0500 Subject: Fix caps not being remapped in tofi --- tofi/themes/dmenu | 1 + tofi/themes/dmenu_vertical | 1 + 2 files changed, 2 insertions(+) diff --git a/tofi/themes/dmenu b/tofi/themes/dmenu index e2dc14d..82cff1d 100644 --- a/tofi/themes/dmenu +++ b/tofi/themes/dmenu @@ -20,3 +20,4 @@ history = false selection-background-padding = 12 result-spacing = 24 require-match=false +physical-keybindings=false diff --git a/tofi/themes/dmenu_vertical b/tofi/themes/dmenu_vertical index c8b6900..6357b5a 100644 --- a/tofi/themes/dmenu_vertical +++ b/tofi/themes/dmenu_vertical @@ -26,3 +26,4 @@ clip-to-padding=true history = false require-match = false num-results = 15 +physical-keybindings=false -- cgit v1.2.3 From 2a110c253230d8740b9780fc9f2b0589ae2337d5 Mon Sep 17 00:00:00 2001 From: zachir Date: Wed, 23 Jul 2025 20:28:05 -0500 Subject: Remove acpi-notify keybind --- hypr/hyprland.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 66d4945..481a0cf 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -391,7 +391,7 @@ bind = $mainMod, Q, exec, loginctl lock-session bind = $mainMod $secdMod CONTROL, Q, exec, systemctl suspend bind = $mainMod SHIFT, G, exec, get-app-id bind = $mainMod Control, M, exec, volsv -m -bind = $mainMod, Comma, exec, acpi-notify.sh +#bind = $mainMod, Comma, exec, acpi-notify.sh #bind = $mainMod CONTROL, R, exec, startx -- /usr/bin/Xephyr -screen 1920x1080 :1 #}}} -- cgit v1.2.3 From 35416061aab2cadcfd604105c9f059c26c864453 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Wed, 23 Jul 2025 22:11:32 -0500 Subject: Change custom widget symbols --- waybar/config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/waybar/config b/waybar/config index 77f7386..26b3f75 100644 --- a/waybar/config +++ b/waybar/config @@ -144,12 +144,12 @@ "scroll-step": 0.1 }, "custom/launcher":{ - "format": "", + "format": ">", "on-click": "rofi -show drun", //"on-click-right": "killall rofi" }, "custom/power":{ - "format": " ", + "format": "", "on-click": "rofi -show p -modi p:rofi-power-menu", //"on-click-right": "killall rofi" }, -- cgit v1.2.3 From 12a2cb6a9f75f4525a5f4bf1a31a8db2c265b200 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Thu, 24 Jul 2025 13:32:27 -0500 Subject: Change hyprscrolling keybinds --- hypr/hyprland.conf | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 481a0cf..f3a9393 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -239,14 +239,17 @@ $secdMod = ALT # hyprscrolling layout binds #bind = $mainMod+SHIFT, H, layoutmsg, move -1 #HYPRSCROLLING #bind = $mainMod+SHIFT, L, layoutmsg, move +1 #HYPRSCROLLING -bind = $mainMod+SHIFT, H, layoutmsg, movewindowto l #HYPRSCROLLING -bind = $mainMod+SHIFT, L, layoutmsg, movewindowto r #HYPRSCROLLING -bind = $mainMod+SHIFT, J, layoutmsg, colresize -conf #HYPRSCROLLING -bind = $mainMod+SHIFT, K, layoutmsg, colresize +conf #HYPRSCROLLING +bind = $mainMod+ALT, H, layoutmsg, movewindowto l #HYPRSCROLLING +bind = $mainMod+ALT, L, layoutmsg, movewindowto r #HYPRSCROLLING +bind = $mainMod+SHIFT, H, movewindow, l #HYPRSCROLLING +bind = $mainMod+SHIFT, L, movewindow, r #HYPRSCROLLING +bind = $mainMod+SHIFT, K, movewindow, u #HYPRSCROLLING +bind = $mainMod+SHIFT, J, movewindow, d #HYPRSCROLLING bind = $mainMod, H, layoutmsg, focus l #HYPRSCROLLING -bind = $mainMod, J, layoutmsg, focus u #HYPRSCROLLING -bind = $mainMod, K, layoutmsg, focus d #HYPRSCROLLING +bind = $mainMod, J, layoutmsg, focus d #HYPRSCROLLING +bind = $mainMod, K, layoutmsg, focus u #HYPRSCROLLING bind = $mainMod, L, layoutmsg, focus r #HYPRSCROLLING +bind = $mainMod+SHIFT, R, layoutmsg, colresize +conf #HYPRSCROLLING bind = $mainMod+SHIFT, Return, layoutmsg, promote #HYPRSCROLLING #}}} -- cgit v1.2.3 From f1be1c5980c618e9cee0c76844271f3c4f39c6c9 Mon Sep 17 00:00:00 2001 From: zachir Date: Fri, 25 Jul 2025 18:55:57 -0500 Subject: Add starting niri config --- niri/config.kdl | 588 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 588 insertions(+) create mode 100644 niri/config.kdl diff --git a/niri/config.kdl b/niri/config.kdl new file mode 100644 index 0000000..9971a8d --- /dev/null +++ b/niri/config.kdl @@ -0,0 +1,588 @@ +// This config is in the KDL format: https://kdl.dev +// "/-" comments out the following node. +// Check the wiki for a full description of the configuration: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Introduction + +// Input device configuration. +// Find the full list of options on the wiki: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Input +input { + keyboard { + xkb { + // You can set rules, model, layout, variant and options. + // For more information, see xkeyboard-config(7). + + // For example: + // layout "us,ru" + // options "grp:win_space_toggle,compose:ralt,ctrl:nocaps" + } + + // Enable numlock on startup, omitting this setting disables it. + numlock + } + + // Next sections include libinput settings. + // Omitting settings disables them, or leaves them at their default values. + touchpad { + // off + tap + // dwt + // dwtp + // drag false + // drag-lock + // natural-scroll + // accel-speed 0.2 + // accel-profile "flat" + scroll-method "two-finger" + // disabled-on-external-mouse + } + + mouse { + // off + // natural-scroll + // accel-speed 0.2 + // accel-profile "flat" + // scroll-method "no-scroll" + } + + trackpoint { + // off + // natural-scroll + // accel-speed 0.2 + // accel-profile "flat" + // scroll-method "on-button-down" + // scroll-button 273 + // middle-emulation + } + + // Uncomment this to make the mouse warp to the center of newly focused windows. + warp-mouse-to-focus + + // Focus windows and outputs automatically when moving the mouse into them. + // Setting max-scroll-amount="0%" makes it work only on windows already fully on screen. + focus-follows-mouse max-scroll-amount="0%" +} + +// You can configure outputs by their name, which you can find +// by running `niri msg outputs` while inside a niri instance. +// The built-in laptop monitor is usually called "eDP-1". +// Find more information on the wiki: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Outputs +// Remember to uncomment the node by removing "/-"! +output "eDP-1" { + // Uncomment this line to disable this output. + // off + + // Resolution and, optionally, refresh rate of the output. + // The format is "x" or "x@". + // If the refresh rate is omitted, niri will pick the highest refresh rate + // for the resolution. + // If the mode is omitted altogether or is invalid, niri will pick one automatically. + // Run `niri msg outputs` while inside a niri instance to list all outputs and their modes. + mode "1920x1080@60.000" + + // You can use integer or fractional scale, for example use 1.5 for 150% scale. + scale 1 + + // Transform allows to rotate the output counter-clockwise, valid values are: + // normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270. + transform "normal" + + // Position of the output in the global coordinate space. + // This affects directional monitor actions like "focus-monitor-left", and cursor movement. + // The cursor can only move between directly adjacent outputs. + // Output scale and rotation has to be taken into account for positioning: + // outputs are sized in logical, or scaled, pixels. + // For example, a 3840×2160 output with scale 2.0 will have a logical size of 1920×1080, + // so to put another output directly adjacent to it on the right, set its x to 1920. + // If the position is unset or results in an overlap, the output is instead placed + // automatically. + position x=0 y=0 +} + +// Settings that influence how windows are positioned and sized. +// Find more information on the wiki: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Layout +layout { + // Set gaps around windows in logical pixels. + gaps 16 + + // When to center a column when changing focus, options are: + // - "never", default behavior, focusing an off-screen column will keep at the left + // or right edge of the screen. + // - "always", the focused column will always be centered. + // - "on-overflow", focusing a column will center it if it doesn't fit + // together with the previously focused column. + center-focused-column "never" + + // You can customize the widths that "switch-preset-column-width" (Mod+E) toggles between. + preset-column-widths { + // Proportion sets the width as a fraction of the output width, taking gaps into account. + // For example, you can perfectly fit four windows sized "proportion 0.25" on an output. + // The default preset widths are 1/3, 1/2 and 2/3 of the output. + proportion 0.33333 + proportion 0.5 + proportion 0.66667 + + // Fixed sets the width in logical pixels exactly. + // fixed 1920 + } + + // You can also customize the heights that "switch-preset-window-height" (Mod+Shift+E) toggles between. + // preset-window-heights { } + + // You can change the default width of the new windows. + default-column-width { proportion 0.5; } + // If you leave the brackets empty, the windows themselves will decide their initial width. + // default-column-width {} + + // By default focus ring and border are rendered as a solid background rectangle + // behind windows. That is, they will show up through semitransparent windows. + // This is because windows using client-side decorations can have an arbitrary shape. + // + // If you don't like that, you should uncomment `prefer-no-csd` below. + // Niri will draw focus ring and border *around* windows that agree to omit their + // client-side decorations. + // + // Alternatively, you can override it with a window rule called + // `draw-border-with-background`. + + // You can change how the focus ring looks. + focus-ring { + // Uncomment this line to disable the focus ring. + // off + + // How many logical pixels the ring extends out from the windows. + width 4 + + // Colors can be set in a variety of ways: + // - CSS named colors: "red" + // - RGB hex: "#rgb", "#rgba", "#rrggbb", "#rrggbbaa" + // - CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl() and a few others. + + // Color of the ring on the active monitor. + active-color "#198844" + + // Color of the ring on inactive monitors. + inactive-color "#1b1d1c" + + // You can also use gradients. They take precedence over solid colors. + // Gradients are rendered the same as CSS linear-gradient(angle, from, to). + // The angle is the same as in linear-gradient, and is optional, + // defaulting to 180 (top-to-bottom gradient). + // You can use any CSS linear-gradient tool on the web to set these up. + // Changing the color space is also supported, check the wiki for more info. + // + // active-gradient from="#80c8ff" to="#bbddff" angle=45 + + // You can also color the gradient relative to the entire view + // of the workspace, rather than relative to just the window itself. + // To do that, set relative-to="workspace-view". + // + // inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view" + } + + // You can also add a border. It's similar to the focus ring, but always visible. + border { + // The settings are the same as for the focus ring. + // If you enable the border, you probably want to disable the focus ring. + off + + width 4 + active-color "#ffc87f" + inactive-color "#505050" + + // Color of the border around windows that request your attention. + urgent-color "#9b0000" + + // active-gradient from="#ffbb66" to="#ffc880" angle=45 relative-to="workspace-view" + // inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view" + } + + // You can enable drop shadows for windows. + shadow { + // Uncomment the next line to enable shadows. + // on + + // By default, the shadow draws only around its window, and not behind it. + // Uncomment this setting to make the shadow draw behind its window. + // + // Note that niri has no way of knowing about the CSD window corner + // radius. It has to assume that windows have square corners, leading to + // shadow artifacts inside the CSD rounded corners. This setting fixes + // those artifacts. + // + // However, instead you may want to set prefer-no-csd and/or + // geometry-corner-radius. Then, niri will know the corner radius and + // draw the shadow correctly, without having to draw it behind the + // window. These will also remove client-side shadows if the window + // draws any. + // + // draw-behind-window true + + // You can change how shadows look. The values below are in logical + // pixels and match the CSS box-shadow properties. + + // Softness controls the shadow blur radius. + softness 30 + + // Spread expands the shadow. + spread 5 + + // Offset moves the shadow relative to the window. + offset x=0 y=5 + + // You can also change the shadow color and opacity. + color "#0007" + } + + // Struts shrink the area occupied by windows, similarly to layer-shell panels. + // You can think of them as a kind of outer gaps. They are set in logical pixels. + // Left and right struts will cause the next window to the side to always be visible. + // Top and bottom struts will simply add outer gaps in addition to the area occupied by + // layer-shell panels and regular gaps. + struts { + // left 64 + // right 64 + // top 64 + // bottom 64 + } +} + +// Add lines like this to spawn processes at startup. +// Note that running niri as a session supports xdg-desktop-autostart, +// which may be more convenient to use. +// See the binds section below for more spawn examples. + +// This line starts waybar, a commonly used bar for Wayland compositors. +spawn-at-startup "dinit" +spawn-at-startup "waybar" "-c" "~/.config/waybar/config-niri" +//spawn-at-startup "swaybg" "-i" "~/Pictures/background.png" +//spawn-at-startup "swayidle" + +// Uncomment this line to ask the clients to omit their client-side decorations if possible. +// If the client will specifically ask for CSD, the request will be honored. +// Additionally, clients will be informed that they are tiled, removing some client-side rounded corners. +// This option will also fix border/focus ring drawing behind some semitransparent windows. +// After enabling or disabling this, you need to restart the apps for this to take effect. +prefer-no-csd + +// You can change the path where screenshots are saved. +// A ~ at the front will be expanded to the home directory. +// The path is formatted with strftime(3) to give you the screenshot date and time. +screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png" + +// You can also set this to null to disable saving screenshots to disk. +// screenshot-path null + +// Animation settings. +// The wiki explains how to configure individual animations: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Animations +animations { + // Uncomment to turn off all animations. + // off + + // Slow down all animations by this factor. Values below 1 speed them up instead. + // slowdown 3.0 +} + +// Window rules let you adjust behavior for individual windows. +// Find more information on the wiki: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules + +// Work around WezTerm's initial configure bug +// by setting an empty default-column-width. +window-rule { + // This regular expression is intentionally made as specific as possible, + // since this is the default config, and we want no false positives. + // You can get away with just app-id="wezterm" if you want. + match app-id=r#"^org\.wezfurlong\.wezterm$"# + default-column-width {} +} + +// Open the Firefox picture-in-picture player as floating by default. +window-rule { + // This app-id regular expression will work for both: + // - host Firefox (app-id is "firefox") + // - Flatpak Firefox (app-id is "org.mozilla.firefox") + match app-id=r#"firefox$"# title="^Picture-in-Picture$" + open-floating true +} + +// Example: block out two password managers from screen capture. +// (This example rule is commented out with a "/-" in front.) +/-window-rule { + match app-id=r#"^org\.keepassxc\.KeePassXC$"# + match app-id=r#"^org\.gnome\.World\.Secrets$"# + + block-out-from "screen-capture" + + // Use this instead if you want them visible on third-party screenshot tools. + // block-out-from "screencast" +} + +// Example: enable rounded corners for all windows. +// (This example rule is commented out with a "/-" in front.) +window-rule { + geometry-corner-radius 10 + clip-to-geometry true +} + +binds { + // Keys consist of modifiers separated by + signs, followed by an XKB key name + // in the end. To find an XKB name for a particular key, you may use a program + // like wev. + // + // "Mod" is a special modifier equal to Super when running on a TTY, and to Alt + // when running as a winit window. + // + // Most actions that you can bind here can also be invoked programmatically with + // `niri msg action do-something`. + + // Mod-Shift-/, which is usually the same as Mod-?, + // shows a list of important hotkeys. + Mod+Shift+Slash { show-hotkey-overlay; } + + // Suggested binds for running programs: terminal, app launcher, screen locker. + Mod+Return hotkey-overlay-title="Open a Terminal: kitty" { spawn "kitty"; } + Mod+D hotkey-overlay-title="Run an Application: tofi-run" { spawn "sh" "-c" "$(tofi-run -c ~/.config/tofi/themes/dmenu_vertical)"; } + Mod+E hotkey-overlay-title="Run an Application: tofi-drun" { spawn "sh" "-c" "$(tofi-drun -c ~/.config/tofi/themes/dmenu_vertical)"; } + Mod+Q hotkey-overlay-title="Lock the Screen" { spawn "loginctl" "lock-session"; } + + // You can also use a shell. Do this if you need pipes, multiple commands, etc. + // Note: the entire command goes as a single argument in the end. + // Mod+T { spawn "bash" "-c" "notify-send hello && exec alacritty"; } + + // Example volume keys mappings for PipeWire & WirePlumber. + // The allow-when-locked=true property makes them work even when the session is locked. + XF86AudioRaiseVolume allow-when-locked=true { spawn "volsv" "-i"; } + XF86AudioLowerVolume allow-when-locked=true { spawn "volsv" "-d"; } + XF86AudioMute allow-when-locked=true { spawn "volsv" "-t"; } + XF86AudioMicMute allow-when-locked=true { spawn "volsv" "-m"; } + + // Open/close the Overview: a zoomed-out view of workspaces and windows. + // You can also move the mouse into the top-left hot corner, + // or do a four-finger swipe up on a touchpad. + Mod+O repeat=false { toggle-overview; } + + Mod+Shift+Q { close-window; } + + Mod+Left { focus-column-left; } + Mod+Down { focus-window-down; } + Mod+Up { focus-window-up; } + Mod+Right { focus-column-right; } + Mod+H { focus-column-left; } + Mod+J { focus-window-down; } + Mod+K { focus-window-up; } + Mod+L { focus-column-right; } + + Mod+Ctrl+Left { move-column-left; } + 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; } + + // Alternative commands that move across workspaces when reaching + // the first or last window in a column. + // Mod+J { focus-window-or-workspace-down; } + // Mod+K { focus-window-or-workspace-up; } + // Mod+Ctrl+J { move-window-down-or-to-workspace-down; } + // Mod+Ctrl+K { move-window-up-or-to-workspace-up; } + + Mod+Home { focus-column-first; } + Mod+End { focus-column-last; } + Mod+Ctrl+Home { move-column-to-first; } + Mod+Ctrl+End { move-column-to-last; } + + Mod+Shift+Left { focus-monitor-left; } + 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+Ctrl+Left { move-column-to-monitor-left; } + Mod+Shift+Ctrl+Down { move-column-to-monitor-down; } + Mod+Shift+Ctrl+Up { move-column-to-monitor-up; } + Mod+Shift+Ctrl+Right { move-column-to-monitor-right; } + Mod+Shift+Ctrl+H { move-column-to-monitor-left; } + Mod+Shift+Ctrl+J { move-column-to-monitor-down; } + Mod+Shift+Ctrl+K { move-column-to-monitor-up; } + Mod+Shift+Ctrl+L { move-column-to-monitor-right; } + + // Alternatively, there are commands to move just a single window: + // Mod+Shift+Ctrl+Left { move-window-to-monitor-left; } + // ... + + // And you can also move a whole workspace to another monitor: + // Mod+Shift+Ctrl+Left { move-workspace-to-monitor-left; } + // ... + + Mod+Page_Down { focus-workspace-down; } + Mod+Page_Up { focus-workspace-up; } + Mod+U { focus-workspace-down; } + Mod+I { focus-workspace-up; } + Mod+Ctrl+Page_Down { move-column-to-workspace-down; } + Mod+Ctrl+Page_Up { move-column-to-workspace-up; } + Mod+Ctrl+U { move-column-to-workspace-down; } + Mod+Ctrl+I { move-column-to-workspace-up; } + + // Alternatively, there are commands to move just a single window: + // Mod+Ctrl+Page_Down { move-window-to-workspace-down; } + // ... + + Mod+Shift+Page_Down { move-workspace-down; } + Mod+Shift+Page_Up { move-workspace-up; } + Mod+Shift+U { move-workspace-down; } + Mod+Shift+I { move-workspace-up; } + + // You can bind mouse wheel scroll ticks using the following syntax. + // These binds will change direction based on the natural-scroll setting. + // + // To avoid scrolling through workspaces really fast, you can use + // the cooldown-ms property. The bind will be rate-limited to this value. + // You can set a cooldown on any bind, but it's most useful for the wheel. + Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } + Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } + Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } + Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } + + Mod+WheelScrollRight { focus-column-right; } + Mod+WheelScrollLeft { focus-column-left; } + Mod+Ctrl+WheelScrollRight { move-column-right; } + Mod+Ctrl+WheelScrollLeft { move-column-left; } + + // Usually scrolling up and down with Shift in applications results in + // horizontal scrolling; these binds replicate that. + Mod+Shift+WheelScrollDown { focus-column-right; } + Mod+Shift+WheelScrollUp { focus-column-left; } + Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } + Mod+Ctrl+Shift+WheelScrollUp { move-column-left; } + + // Similarly, you can bind touchpad scroll "ticks". + // Touchpad scrolling is continuous, so for these binds it is split into + // discrete intervals. + // These binds are also affected by touchpad's natural-scroll, so these + // example binds are "inverted", since we have natural-scroll enabled for + // touchpads by default. + // Mod+TouchpadScrollDown { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02+"; } + // Mod+TouchpadScrollUp { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02-"; } + + // You can refer to workspaces by index. However, keep in mind that + // niri is a dynamic workspace system, so these commands are kind of + // "best effort". Trying to refer to a workspace index bigger than + // the current workspace count will instead refer to the bottommost + // (empty) workspace. + // + // For example, with 2 workspaces + 1 empty, indices 3, 4, 5 and so on + // will all refer to the 3rd workspace. + Mod+1 { focus-workspace 1; } + Mod+2 { focus-workspace 2; } + Mod+3 { focus-workspace 3; } + Mod+4 { focus-workspace 4; } + Mod+5 { focus-workspace 5; } + Mod+6 { focus-workspace 6; } + Mod+7 { focus-workspace 7; } + Mod+8 { focus-workspace 8; } + Mod+9 { focus-workspace 9; } + Mod+Ctrl+1 { move-column-to-workspace 1; } + Mod+Ctrl+2 { move-column-to-workspace 2; } + Mod+Ctrl+3 { move-column-to-workspace 3; } + Mod+Ctrl+4 { move-column-to-workspace 4; } + Mod+Ctrl+5 { move-column-to-workspace 5; } + Mod+Ctrl+6 { move-column-to-workspace 6; } + Mod+Ctrl+7 { move-column-to-workspace 7; } + Mod+Ctrl+8 { move-column-to-workspace 8; } + Mod+Ctrl+9 { move-column-to-workspace 9; } + + // Alternatively, there are commands to move just a single window: + // Mod+Ctrl+1 { move-window-to-workspace 1; } + + // Switches focus between the current and the previous workspace. + // Mod+Tab { focus-workspace-previous; } + + // The following binds move the focused window in and out of a column. + // If the window is alone, they will consume it into the nearby column to the side. + // If the window is already in a column, they will expel it out. + Mod+BracketLeft { consume-or-expel-window-left; } + Mod+BracketRight { consume-or-expel-window-right; } + + // Consume one window from the right to the bottom of the focused column. + Mod+Comma { consume-window-into-column; } + // Expel the bottom window from the focused column to the right. + Mod+Period { expel-window-from-column; } + + Mod+R { switch-preset-column-width; } + Mod+Shift+R { switch-preset-window-height; } + Mod+Ctrl+R { reset-window-height; } + Mod+F { maximize-column; } + Mod+Shift+F { fullscreen-window; } + + // Expand the focused column to space not taken up by other fully visible columns. + // Makes the column "fill the rest of the space". + Mod+Ctrl+F { expand-column-to-available-width; } + + Mod+C { center-column; } + + // Center all fully visible columns on screen. + Mod+Ctrl+C { center-visible-columns; } + + // Finer width adjustments. + // This command can also: + // * set width in pixels: "1000" + // * adjust width in pixels: "-5" or "+5" + // * set width as a percentage of screen width: "25%" + // * adjust width as a percentage of screen width: "-10%" or "+10%" + // Pixel sizes use logical, or scaled, pixels. I.e. on an output with scale 2.0, + // set-column-width "100" will make the column occupy 200 physical screen pixels. + Mod+Minus { set-column-width "-10%"; } + Mod+Equal { set-column-width "+10%"; } + + // Finer height adjustments when in column with other windows. + Mod+Shift+Minus { set-window-height "-10%"; } + Mod+Shift+Equal { set-window-height "+10%"; } + + // Move the focused window between the floating and the tiling layout. + Mod+V { toggle-window-floating; } + Mod+Shift+V { switch-focus-between-floating-and-tiling; } + + // 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; } + + // Actions to switch layouts. + // Note: if you uncomment these, make sure you do NOT have + // a matching layout switch hotkey configured in xkb options above. + // Having both at once on the same hotkey will break the switching, + // since it will switch twice upon pressing the hotkey (once by xkb, once by niri). + // Mod+Space { switch-layout "next"; } + // Mod+Shift+Space { switch-layout "prev"; } + + Print { screenshot; } + Ctrl+Print { screenshot-screen; } + Alt+Print { screenshot-window; } + + // Applications such as remote-desktop clients and software KVM switches may + // request that niri stops processing the keyboard shortcuts defined here + // so they may, for example, forward the key presses as-is to a remote machine. + // It's a good idea to bind an escape hatch to toggle the inhibitor, + // so a buggy application can't hold your session hostage. + // + // The allow-inhibiting=false property can be applied to other binds as well, + // which ensures niri always processes them, even when an inhibitor is active. + 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; } + Ctrl+Alt+Delete { quit; } + + // Powers off the monitors. To turn them back on, do any input like + // moving the mouse or pressing any other key. + Mod+Shift+P { power-off-monitors; } +} -- cgit v1.2.3 From 745fcd626acd258fada028be53a2613526c737d5 Mon Sep 17 00:00:00 2001 From: zachir Date: Fri, 25 Jul 2025 18:56:17 -0500 Subject: Add waybar config for niri --- waybar/config-niri | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 waybar/config-niri diff --git a/waybar/config-niri b/waybar/config-niri new file mode 100644 index 0000000..9b36e8e --- /dev/null +++ b/waybar/config-niri @@ -0,0 +1,161 @@ +{ + "layer": "bottom", + "position": "top", + "height": 36, + //"output": "%%DISPLAY%%", + "spacing": 4, + //"margin-top": 5, + //"margin-bottom":5, + + // Choose the order of the modules + + "modules-left":[ "niri/workspaces", "custom/launcher", "niri/window"], + "modules-center":[], + "modules-right":[ "tray", "mpd", "idle_inhibitor", "wireplumber", "cpu", "memory", "battery", "temperature#cpu", "temperature#gpu", "backlight", "network", "clock", "custom/power"], + + // Modules configuration + + "hyprland/workspaces": { + "format": "{icon}", + "active-only": false, + "all-outputs": false, + "format-icons": { + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7", + "8": "8", + "9": "9", + "10": "1", + "11": "2", + "12": "3", + "13": "4", + "14": "5", + "15": "6", + "16": "7", + "17": "8", + "18": "9", + }, + "persistent-workspaces": { + "eDP-1": [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ], + }, + "on-scroll-up": "hyprctl dispatch split-workspace e+1", + "on-scroll-down": "hyprctl dispatch split-workspace e-1", + "on-click": "activate" + }, + "hyprland/window": { + "separate-outputs": true, + "format": "{}" + }, + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": " {name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "mpd": { + "format": "{title}", + "format-stopped": "", + "format-paused": "{title}", + "format-disconnected": "", + "artist-len": 15, + "title-len": 15, + //"album-len": 15, + //"max-length": 200, + "on-click": "mpc toggle" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + "icon-size": 20, + "spacing": 10 + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "battery": { + //"bat": "BAT0", + "weighted-average": "true", + "interval": 60, + "state": { + "warning": 30, + "critical": 15 + }, + "format": "{capacity}%", + "max-length": 25 + }, + "temperature#cpu": { + "thermal-zone": 0, + // "hwmon-path": "cat /sys/class/hwmon/hwmon5/temp1_input", + "critical-threshold": 110, + "format-critical": "{temperatureC}°C", + "format": "", + "format-icons": ["", "", ""] + }, + "temperature#gpu": { + "thermal-zone": 1, + // "hwmon-path": "/sys/class/hwmon/hwmon4/temp1_input", + "critical-threshold": 126, + "format-critical": "{temperatureC}°C", + "format": "", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}%" + //"format-icons": ["", ""] + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ", + "format-ethernet": "Connected  ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}", + "max-length": 22, + "on-click-right": "bash ~/.config/rofi/wifi_menu/rofi_wifi_menu" + }, + "wireplumber": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon}", + "format-muted": "{volume}% ", + "format-icons": ["", "", ""], + "on-click": "volsv -t", + "scroll-step": 0.1 + }, + "custom/launcher":{ + "format": ">", + "on-click": "rofi -show drun", + //"on-click-right": "killall rofi" + }, + "custom/power":{ + "format": "", + "on-click": "rofi -show p -modi p:rofi-power-menu", + //"on-click-right": "killall rofi" + }, + "custom/snip":{ + "format": " ", + "on-click": "grimshot --notify save area $HOME/Pictures/$(zenity --entry --text 'Set filename:' --entry-text '.png')" + } +} -- cgit v1.2.3 From 983c7b685b8ba20fe8e22ef719388ce36aaa0259 Mon Sep 17 00:00:00 2001 From: zachir Date: Fri, 25 Jul 2025 19:30:31 -0500 Subject: Make niri and hyprland the same waybar config --- waybar/config | 15 ++++- waybar/config-niri | 161 ----------------------------------------------------- 2 files changed, 14 insertions(+), 162 deletions(-) delete mode 100644 waybar/config-niri diff --git a/waybar/config b/waybar/config index 26b3f75..cc06bb7 100644 --- a/waybar/config +++ b/waybar/config @@ -15,6 +15,11 @@ // Modules configuration + "niri/workspaces": { + "format": "{value}", + "all-outputs": false, + "on-click": "activate" + }, "hyprland/workspaces": { "format": "{icon}", "active-only": false, @@ -46,9 +51,17 @@ "on-scroll-down": "hyprctl dispatch split-workspace e-1", "on-click": "activate" }, + "niri/window": { + "separate-outputs": true, + "icon": true, + "format": "{title}", + "expand": true + }, "hyprland/window": { "separate-outputs": true, - "format": "{}" + "icon": true, + "format": "{title}", + "espand": true, }, "keyboard-state": { "numlock": true, diff --git a/waybar/config-niri b/waybar/config-niri deleted file mode 100644 index 9b36e8e..0000000 --- a/waybar/config-niri +++ /dev/null @@ -1,161 +0,0 @@ -{ - "layer": "bottom", - "position": "top", - "height": 36, - //"output": "%%DISPLAY%%", - "spacing": 4, - //"margin-top": 5, - //"margin-bottom":5, - - // Choose the order of the modules - - "modules-left":[ "niri/workspaces", "custom/launcher", "niri/window"], - "modules-center":[], - "modules-right":[ "tray", "mpd", "idle_inhibitor", "wireplumber", "cpu", "memory", "battery", "temperature#cpu", "temperature#gpu", "backlight", "network", "clock", "custom/power"], - - // Modules configuration - - "hyprland/workspaces": { - "format": "{icon}", - "active-only": false, - "all-outputs": false, - "format-icons": { - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7", - "8": "8", - "9": "9", - "10": "1", - "11": "2", - "12": "3", - "13": "4", - "14": "5", - "15": "6", - "16": "7", - "17": "8", - "18": "9", - }, - "persistent-workspaces": { - "eDP-1": [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ], - }, - "on-scroll-up": "hyprctl dispatch split-workspace e+1", - "on-scroll-down": "hyprctl dispatch split-workspace e-1", - "on-click": "activate" - }, - "hyprland/window": { - "separate-outputs": true, - "format": "{}" - }, - "keyboard-state": { - "numlock": true, - "capslock": true, - "format": " {name} {icon}", - "format-icons": { - "locked": "", - "unlocked": "" - } - }, - "mpd": { - "format": "{title}", - "format-stopped": "", - "format-paused": "{title}", - "format-disconnected": "", - "artist-len": 15, - "title-len": 15, - //"album-len": 15, - //"max-length": 200, - "on-click": "mpc toggle" - }, - "idle_inhibitor": { - "format": "{icon}", - "format-icons": { - "activated": "", - "deactivated": "" - } - }, - "tray": { - "icon-size": 20, - "spacing": 10 - }, - "clock": { - // "timezone": "America/New_York", - "tooltip-format": "{:%Y %B}\n{calendar}", - "format-alt": "{:%Y-%m-%d}" - }, - "cpu": { - "format": "{usage}% ", - "tooltip": false - }, - "memory": { - "format": "{}% " - }, - "battery": { - //"bat": "BAT0", - "weighted-average": "true", - "interval": 60, - "state": { - "warning": 30, - "critical": 15 - }, - "format": "{capacity}%", - "max-length": 25 - }, - "temperature#cpu": { - "thermal-zone": 0, - // "hwmon-path": "cat /sys/class/hwmon/hwmon5/temp1_input", - "critical-threshold": 110, - "format-critical": "{temperatureC}°C", - "format": "", - "format-icons": ["", "", ""] - }, - "temperature#gpu": { - "thermal-zone": 1, - // "hwmon-path": "/sys/class/hwmon/hwmon4/temp1_input", - "critical-threshold": 126, - "format-critical": "{temperatureC}°C", - "format": "", - "format-icons": ["", "", ""] - }, - "backlight": { - // "device": "acpi_video1", - "format": "{percent}%" - //"format-icons": ["", ""] - }, - "network": { - // "interface": "wlp2*", // (Optional) To force the use of this interface - "format-wifi": "{essid} ", - "format-ethernet": "Connected  ", - "tooltip-format": "{ifname} via {gwaddr} ", - "format-linked": "{ifname} (No IP) ", - "format-disconnected": "Disconnected ⚠", - "format-alt": "{ifname}: {ipaddr}/{cidr}", - "max-length": 22, - "on-click-right": "bash ~/.config/rofi/wifi_menu/rofi_wifi_menu" - }, - "wireplumber": { - // "scroll-step": 1, // %, can be a float - "format": "{volume}% {icon}", - "format-muted": "{volume}% ", - "format-icons": ["", "", ""], - "on-click": "volsv -t", - "scroll-step": 0.1 - }, - "custom/launcher":{ - "format": ">", - "on-click": "rofi -show drun", - //"on-click-right": "killall rofi" - }, - "custom/power":{ - "format": "", - "on-click": "rofi -show p -modi p:rofi-power-menu", - //"on-click-right": "killall rofi" - }, - "custom/snip":{ - "format": " ", - "on-click": "grimshot --notify save area $HOME/Pictures/$(zenity --entry --text 'Set filename:' --entry-text '.png')" - } -} -- cgit v1.2.3 From 5580dc2a23376198ebbcdf7156e1ad285158e4ba Mon Sep 17 00:00:00 2001 From: zachir Date: Fri, 25 Jul 2025 19:30:48 -0500 Subject: Make launcher prompt >_ --- waybar/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/waybar/config b/waybar/config index cc06bb7..313aed7 100644 --- a/waybar/config +++ b/waybar/config @@ -157,7 +157,7 @@ "scroll-step": 0.1 }, "custom/launcher":{ - "format": ">", + "format": ">_", "on-click": "rofi -show drun", //"on-click-right": "killall rofi" }, -- cgit v1.2.3 From e8313cb6bcb2718d4c960fbe350e490ba15cb0a3 Mon Sep 17 00:00:00 2001 From: zachir Date: Fri, 25 Jul 2025 19:45:52 -0500 Subject: Add group binds to hyprland --- hypr/hyprland.conf | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index f3a9393..740a50e 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -253,6 +253,12 @@ bind = $mainMod+SHIFT, R, layoutmsg, colresize +conf #HYPRSCROLLING bind = $mainMod+SHIFT, Return, layoutmsg, promote #HYPRSCROLLING #}}} +#{{{ tab binds +bind = $mainMod+ALT, O, togglegroup +bind = $mainMod+ALT, J, changegroupactive, f +bind = $mainMod+ALT, K, changegroupactive, b +#}}} + #{{{ Group binds # Group binds #bind = $mainMod CONTROL, G, togglegroup, -- cgit v1.2.3 From 6b2673b4c82fbec53ad2960058b23c1690ea479b Mon Sep 17 00:00:00 2001 From: zachir Date: Fri, 25 Jul 2025 19:46:12 -0500 Subject: Use US keyboard with caps->escape in niri --- niri/config.kdl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/niri/config.kdl b/niri/config.kdl index 9971a8d..1a826c6 100644 --- a/niri/config.kdl +++ b/niri/config.kdl @@ -15,6 +15,8 @@ input { // For example: // layout "us,ru" // options "grp:win_space_toggle,compose:ralt,ctrl:nocaps" + layout "us" + options "escape:nocaps" } // Enable numlock on startup, omitting this setting disables it. -- cgit v1.2.3 From 1f2b7e8a90d5987b0b3b1ac3fefb24efe2367e24 Mon Sep 17 00:00:00 2001 From: zachir Date: Fri, 25 Jul 2025 19:47:35 -0500 Subject: Add all displays in Niri, but don't configure any for master --- niri/config.kdl | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/niri/config.kdl b/niri/config.kdl index 1a826c6..b83e4b4 100644 --- a/niri/config.kdl +++ b/niri/config.kdl @@ -71,9 +71,9 @@ input { // Find more information on the wiki: // https://github.com/YaLTeR/niri/wiki/Configuration:-Outputs // Remember to uncomment the node by removing "/-"! -output "eDP-1" { +/-output "eDP-1" { // Uncomment this line to disable this output. - // off + //off // Resolution and, optionally, refresh rate of the output. // The format is "x" or "x@". @@ -102,6 +102,20 @@ output "eDP-1" { position x=0 y=0 } +/-output "DP-2" { + mode "1920x1080@75.000" + scale 1 + transform "normal" + position x=0 y=0 +} + +/-output "HDMI-A-1" { + mode "1920x1080@75.000" + scale 1 + transform "normal" + position x=1920 y=0 +} + // Settings that influence how windows are positioned and sized. // Find more information on the wiki: // https://github.com/YaLTeR/niri/wiki/Configuration:-Layout -- cgit v1.2.3 From da0ed5c9fc1f509843711bbadff47e7180ff15bd Mon Sep 17 00:00:00 2001 From: zachir Date: Fri, 25 Jul 2025 19:49:57 -0500 Subject: Set unused niri border colors too --- niri/config.kdl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/niri/config.kdl b/niri/config.kdl index b83e4b4..cab419f 100644 --- a/niri/config.kdl +++ b/niri/config.kdl @@ -205,8 +205,8 @@ layout { off width 4 - active-color "#ffc87f" - inactive-color "#505050" + active-color "#198844" + inactive-color "#1b1d1c" // Color of the border around windows that request your attention. urgent-color "#9b0000" -- cgit v1.2.3 From eb561e1c22629a3df4ac69e458c37330bd806fc5 Mon Sep 17 00:00:00 2001 From: zachir Date: Fri, 25 Jul 2025 19:51:31 -0500 Subject: Update zinit calls --- zsh/.zshrc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/zsh/.zshrc b/zsh/.zshrc index 4ca4d31..d6e7718 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -120,5 +120,6 @@ bindkey -M vicmd "k" history-substring-search-up bindkey -M vicmd "j" history-substring-search-down #source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh -zinit light zsh-users/zsh-syntax-highlighting +zinit light 'zsh-users/zsh-syntax-highlighting' +zinit ice wait atload'_history_substring_search_config' #zprof -- cgit v1.2.3 From f41964243b0c4945b7ef97956e3a2314d7e21c4d Mon Sep 17 00:00:00 2001 From: ZachIR Date: Fri, 25 Jul 2025 21:28:51 -0500 Subject: Fix comments for Mod+R --- niri/config.kdl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/niri/config.kdl b/niri/config.kdl index cab419f..9aade19 100644 --- a/niri/config.kdl +++ b/niri/config.kdl @@ -131,7 +131,7 @@ layout { // together with the previously focused column. center-focused-column "never" - // You can customize the widths that "switch-preset-column-width" (Mod+E) toggles between. + // You can customize the widths that "switch-preset-column-width" (Mod+R) toggles between. preset-column-widths { // Proportion sets the width as a fraction of the output width, taking gaps into account. // For example, you can perfectly fit four windows sized "proportion 0.25" on an output. @@ -144,7 +144,7 @@ layout { // fixed 1920 } - // You can also customize the heights that "switch-preset-window-height" (Mod+Shift+E) toggles between. + // You can also customize the heights that "switch-preset-window-height" (Mod+Shift+R) toggles between. // preset-window-heights { } // You can change the default width of the new windows. -- cgit v1.2.3 From 872d95f7baf9991eb1a1e2075d77e94696acf945 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Fri, 25 Jul 2025 21:36:38 -0500 Subject: Fix syntax for caps->escape in Niri --- niri/config.kdl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/niri/config.kdl b/niri/config.kdl index 9aade19..752a1f4 100644 --- a/niri/config.kdl +++ b/niri/config.kdl @@ -16,7 +16,7 @@ input { // layout "us,ru" // options "grp:win_space_toggle,compose:ralt,ctrl:nocaps" layout "us" - options "escape:nocaps" + options "caps:escape" } // Enable numlock on startup, omitting this setting disables it. -- cgit v1.2.3 From 2ec47dc199559863409216795de7dae00121e4a3 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Fri, 25 Jul 2025 21:36:53 -0500 Subject: Fix niri autostarts for master --- niri/config.kdl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/niri/config.kdl b/niri/config.kdl index 752a1f4..6bf00ad 100644 --- a/niri/config.kdl +++ b/niri/config.kdl @@ -271,10 +271,10 @@ layout { // See the binds section below for more spawn examples. // This line starts waybar, a commonly used bar for Wayland compositors. -spawn-at-startup "dinit" -spawn-at-startup "waybar" "-c" "~/.config/waybar/config-niri" -//spawn-at-startup "swaybg" "-i" "~/Pictures/background.png" -//spawn-at-startup "swayidle" +spawn-at-startup "waybar" +spawn-at-startup "hyprpaper" +spawn-at-startup "hypridle" +spawn-at-startup "dunst" // Uncomment this line to ask the clients to omit their client-side decorations if possible. // If the client will specifically ask for CSD, the request will be honored. -- cgit v1.2.3 From b675770aed76f0ec433bd2212309083d6fc7965f Mon Sep 17 00:00:00 2001 From: ZachIR Date: Fri, 25 Jul 2025 21:59:56 -0500 Subject: Start xwayland-satellite at startup in Niri --- niri/config.kdl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/niri/config.kdl b/niri/config.kdl index 6bf00ad..297a51e 100644 --- a/niri/config.kdl +++ b/niri/config.kdl @@ -275,6 +275,11 @@ spawn-at-startup "waybar" spawn-at-startup "hyprpaper" spawn-at-startup "hypridle" spawn-at-startup "dunst" +spawn-at-startup "xwayland-satellite" + +environment { + DISPLAY ":0" +} // Uncomment this line to ask the clients to omit their client-side decorations if possible. // If the client will specifically ask for CSD, the request will be honored. -- cgit v1.2.3 From bb5665653225727065d12807dabea9f0b4004ee3 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Fri, 25 Jul 2025 22:00:08 -0500 Subject: Add lwc shortcut to Niri --- niri/config.kdl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/niri/config.kdl b/niri/config.kdl index 297a51e..16e8c11 100644 --- a/niri/config.kdl +++ b/niri/config.kdl @@ -606,4 +606,7 @@ binds { // Powers off the monitors. To turn them back on, do any input like // moving the mouse or pressing any other key. Mod+Shift+P { power-off-monitors; } + + // Browsers + Super+Alt+W { spawn "lwc"; } } -- cgit v1.2.3 From f7bac8982e049663d66e659ea4f743f66e4cd288 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Fri, 25 Jul 2025 23:40:39 -0500 Subject: Change desktop launcher to mod+E in hyprland --- hypr/hyprland.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 740a50e..adf3160 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -378,7 +378,7 @@ submap = reset #}}} #{{{ Menu bindings -bind = $mainMod, R, exec, sh -c "tofi-drun --drun-launch=true -c $HOME/.config/tofi/themes/dmenu_vertical" +bind = $mainMod, E, exec, sh -c "tofi-drun --drun-launch=true -c $HOME/.config/tofi/themes/dmenu_vertical" bind = $mainMod, D, exec, sh -c "$(tofi-run -c $HOME/.config/tofi/themes/dmenu_vertical)" bind = $mainMod $secdMod, Q, exec, qbc bind = $mainMod $secdMod, W, exec, lwc -- cgit v1.2.3 From 011dcc1803e24a8ffce2b1c3b632ceef856bd143 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Fri, 25 Jul 2025 23:40:52 -0500 Subject: Add mod+r for restart script --- hypr/hyprland.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index adf3160..90cc7b1 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -380,6 +380,7 @@ submap = reset #{{{ Menu bindings bind = $mainMod, E, exec, sh -c "tofi-drun --drun-launch=true -c $HOME/.config/tofi/themes/dmenu_vertical" bind = $mainMod, D, exec, sh -c "$(tofi-run -c $HOME/.config/tofi/themes/dmenu_vertical)" +bind = $mainMod, R, exec, rs bind = $mainMod $secdMod, Q, exec, qbc bind = $mainMod $secdMod, W, exec, lwc bind = $mainMod $secdMod, E, exec, mbc -- cgit v1.2.3 From c1d2d606db04ddaf80fce654c45a0c03f95ed545 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Fri, 25 Jul 2025 23:48:57 -0500 Subject: Set cursor theme in Xresources --- X11/xresources | 2 ++ 1 file changed, 2 insertions(+) diff --git a/X11/xresources b/X11/xresources index 63f2348..13799fc 100644 --- a/X11/xresources +++ b/X11/xresources @@ -493,3 +493,5 @@ dmenu.selhiforeground: #198844 ! white *.color7: #b4b7b5 *.color15: #ffffff +Xcursor.theme: BreezeX-Black +Xcursor.size: 32 -- cgit v1.2.3 From 161ec8f0979610f8b3a1ae84eeb5df81db7adea1 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Fri, 25 Jul 2025 23:49:14 -0500 Subject: Update kitty colors to match Xresources --- kitty/kitty.conf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kitty/kitty.conf b/kitty/kitty.conf index 59a7f5e..095607b 100644 --- a/kitty/kitty.conf +++ b/kitty/kitty.conf @@ -1151,7 +1151,7 @@ color8 #969896 #: black color1 #89231d -color9 #ec0101 +color9 #cc342b #: red @@ -1170,8 +1170,8 @@ color12 #3971ed #: blue -color5 #6e3c85 -color13 #8400c1 +color5 #784e93 +color13 #a36ac7 #: magenta -- cgit v1.2.3 From 0cbbcd5764bedfc0a583d204eb935587a94740b4 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Fri, 25 Jul 2025 23:49:27 -0500 Subject: Add background behind tray in waybar --- waybar/style.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/waybar/style.css b/waybar/style.css index fefb890..59f741f 100644 --- a/waybar/style.css +++ b/waybar/style.css @@ -278,7 +278,8 @@ label:focus { } #tray { - background-color: transparent; + border-radius: 20px; + background-color: black; color: #ffffff; } -- cgit v1.2.3 From ff8f57ea7ac4d850adcb3e2ab0bc625bd9552222 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sat, 26 Jul 2025 11:19:47 -0500 Subject: Add configs to use scroll --- scroll/config | 516 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ waybar/config | 21 +++ waybar/style.css | 4 + 3 files changed, 541 insertions(+) create mode 100644 scroll/config diff --git a/scroll/config b/scroll/config new file mode 100644 index 0000000..c715eed --- /dev/null +++ b/scroll/config @@ -0,0 +1,516 @@ +# vim: ft=swayconfig +# +# Default config for scroll +# +# Copy this to ~/.config/scroll/config and edit it to your liking. +# +# Read `man 5 scroll` for a complete reference. + +### Variables +# +# Logo key. Use Mod1 for Alt. +set $mod Mod4 +# Home row direction keys, like vim +set $left Left +set $down Down +set $up Up +set $right Right +# Your preferred terminal emulator +set $term kitty +# Your preferred application launcher +set $rmenu tofi-drun --drun-launch=true -c ~/.config/tofi/themes/dmenu_vertical +set $dmenu dmenu_run -l 15 +# Your preferred file manager +set $filemanager kitty -e lf + +bar mode invisible +exec waybar +exec hypridle +exec hyprpaper + +### Output configuration +# +# Default wallpaper (more resolutions are available in /usr/share/backgrounds/scroll/) +# output * bg /usr/share/backgrounds/scroll/Sway_Wallpaper_Blue_1920x1080.png fill +# +# Example configuration: +# +# output HDMI-A-1 resolution 1920x1080 position 1920,0 +# +# You can get the names of your outputs by running: scrollmsg -t get_outputs + +### Idle configuration +# +# Example configuration: +# +# exec swayidle -w \ +# timeout 300 'swaylock -f -c 000000' \ +# timeout 600 'scrollmsg "output * power off"' resume 'scrollmsg "output * power on"' \ +# before-sleep 'swaylock -f -c 000000' +# +# This will lock your screen after 300 seconds of inactivity, then turn off +# your displays after another 300 seconds, and turn your screens back on when +# resumed. It will also lock your screen before your computer goes to sleep. + +### Input configuration +# +# Example configuration: +# +# input type:touchpad { +# dwt enabled +# tap enabled +# natural_scroll enabled +# middle_emulation enabled +# } +# +# input type:keyboard { +# xkb_layout "eu" +# } +# +# You can also configure each device individually. +# Read `man 5 scroll-input` for more information about this section. + +### Windows defaults +default_border pixel 2 +gaps inner 4 +gaps outer 20 +client.focused #15439e #000000 #e0e0e0 #2e9ef4 #15439e +client.focused_inactive #595959 #000000 #e0e0e0 #2e9ef4 #595959 +client.unfocused #595959 #000000 #e0e0e0 #2e9ef4 #595959 + +# Idle inhibit for fullscreen windows +for_window [all] inhibit_idle fullscreen + +# Layout settings +layout_default_width 0.5 +layout_default_height 1.0 +layout_widths [0.33333333 0.5 0.666666667 1.0] +layout_heights [0.33333333 0.5 0.666666667 1.0] + +fullscreen_movefocus true + +mouse_warping container + +# Animations +animations { + enabled yes + default yes 300 var 3 [ 0.215 0.61 0.355 1 ] + window_open yes 300 var 3 [ 0 0 1 1 ] + window_move yes 300 var 3 [ 0.215 0.61 0.355 1 ] off 0.05 6 [0 0.6 0.4 0 1 0 0.4 -0.6 1 -0.6] + window_size yes 300 var 3 [ -0.35 0 0 0.5 ] +} + +### Key bindings +# +# Basics: +# + # Start a terminal + bindsym $mod+Return exec $term + + # Kill focused window + bindsym $mod+Backspace kill + bindsym $mod+Shift+Backspace kill unfocused + bindsym $mod+Ctrl+Backspace kill all + + # Start your launcher + bindsym $mod+r exec $rmenu + bindsym $mod+d exec $dmenu + + bindsym $mod+e exec $filemanager + + # Drag floating windows by holding down $mod and left mouse button. + # Resize them with right mouse button + $mod. + # Despite the name, also works for non-floating windows. + # Change normal to inverse to use left mouse button for resizing and right + # mouse button for dragging. + floating_modifier $mod normal + + # Reload the configuration file + bindsym $mod+Shift+c reload + + # Closes the active application (hopefully) + bindsym $mod+Shift+q view_close + + # Exit scroll (logs you out of your Wayland session) + bindsym $mod+Shift+e exec scrollnag -t warning -m 'You pressed the exit shortcut. Do you really want to exit scroll? This will end your Wayland session.' -B 'Yes, exit scroll' 'scrollmsg exit' + + # Layout mode + bindsym $mod+bracketleft set_mode h + bindsym $mod+bracketright set_mode v +# +# Moving around: +# + # Move your focus around + bindsym $mod+h focus left + bindsym $mod+j focus down + bindsym $mod+k focus up + bindsym $mod+l focus right + bindsym $mod+home focus beginning + bindsym $mod+end focus end + # Move the focused window with the same, but add Ctrl + bindsym $mod+Ctrl+h move left + bindsym $mod+Ctrl+j move down + bindsym $mod+Ctrl+k move up + bindsym $mod+Ctrl+l move right + bindsym $mod+Ctrl+home move beginning + bindsym $mod+Ctrl+end move end + # nomode + bindsym $mod+Alt+h move left nomode + bindsym $mod+Alt+j move down nomode + bindsym $mod+Alt+k move up nomode + bindsym $mod+Alt+l move right nomode + bindsym $mod+Alt+home move beginning nomode + bindsym $mod+Alt+end move end nomode + + # Focus other monitors + bindsym $mod+Shift+h focus output left + bindsym $mod+Shift+j focus output down + bindsym $mod+Shift+k focus output up + bindsym $mod+Shift+l focus output right +# +# Workspaces: +# + # Switch to workspace + bindsym $mod+1 workspace number 1 + bindsym $mod+2 workspace number 2 + bindsym $mod+3 workspace number 3 + bindsym $mod+4 workspace number 4 + bindsym $mod+5 workspace number 5 + bindsym $mod+6 workspace number 6 + bindsym $mod+7 workspace number 7 + bindsym $mod+8 workspace number 8 + bindsym $mod+9 workspace number 9 + bindsym $mod+0 workspace number 10 + # Move focused container to workspace + bindsym $mod+Shift+1 move container to workspace number 1; workspace number 1 + bindsym $mod+Shift+2 move container to workspace number 2; workspace number 2 + bindsym $mod+Shift+3 move container to workspace number 3; workspace number 3 + bindsym $mod+Shift+4 move container to workspace number 4; workspace number 4 + bindsym $mod+Shift+5 move container to workspace number 5; workspace number 5 + bindsym $mod+Shift+6 move container to workspace number 6; workspace number 6 + bindsym $mod+Shift+7 move container to workspace number 7; workspace number 7 + bindsym $mod+Shift+8 move container to workspace number 8; workspace number 8 + bindsym $mod+Shift+9 move container to workspace number 9; workspace number 9 + bindsym $mod+Shift+0 move container to workspace number 10; workspace number 10 + # Note: workspaces can have any name you want, not just numbers. + # We just use 1-10 as the default. + + bindsym $mod+Ctrl+1 move workspace to output left + bindsym $mod+Ctrl+2 move workspace to output right + +# Scaling + # Workspace + bindsym $mod+Shift+comma scale_workspace incr -0.05 + bindsym --whole-window $mod+Shift+button4 scale_workspace incr -0.05 + bindsym $mod+Shift+period scale_workspace incr 0.05 + bindsym --whole-window $mod+Shift+button5 scale_workspace incr 0.05 + bindsym $mod+Shift+Ctrl+period scale_workspace reset + + # Overview + bindsym --no-repeat $mod+tab scale_workspace overview + bindsym --whole-window button8 scale_workspace overview + + # Jump + # jump_labels_color #9e1530FF + # jump_labels_background #15309eFF + # jump_labels_scale 0.9 + # jump_labels_keys asdf + bindsym --no-repeat $mod+slash jump + bindsym --no-repeat $mod+Shift+slash jump container + bindsym --no-repeat $mod+Ctrl+slash jump workspaces + bindsym --no-repeat $mod+Alt+slash jump floating + + # Content + bindsym $mod+comma scale_content incr -0.05 + bindsym --whole-window $mod+button4 scale_content incr -0.05 + bindsym $mod+period scale_content incr 0.05 + bindsym --whole-window $mod+button5 scale_content incr 0.05 + bindsym $mod+Ctrl+period scale_content reset + +# +# Layout stuff: +# + # Make the current focus fullscreen + bindsym $mod+f fullscreen + bindsym $mod+Ctrl+f fullscreen global + bindsym $mod+Alt+f fullscreen_application toggle + bindsym $mod+Ctrl+Alt+f fullscreen_application reset + + # Toggle the current focus between tiling and floating mode + bindsym $mod+y focus mode_toggle + # Toggle layout type (h<->v) + bindsym $mod+Shift+y layout_transpose + + # Float a window + bindsym $mod+Shift+f floating toggle + + # Toggle sticky + bindsym $mod+Shift+Ctrl+a sticky toggle + # Toggle pin + bindsym --no-repeat $mod+a pin beginning + bindsym --no-repeat $mod+Shift+a pin end + + # Selection + bindsym --no-repeat $mod+Insert selection toggle + bindsym --no-repeat $mod+Ctrl+Insert selection reset + bindsym --no-repeat $mod+Shift+Insert selection move + bindsym --no-repeat $mod+Ctrl+Shift+Insert selection workspace + bindsym --no-repeat $mod+Alt+Insert selection to_trail + + # Marks + # bindsym $mod+m exec scroll-mark-toggle.sh + # bindsym $mod+Shift+m exec scroll-mark-remove.sh + # bindsym $mod+apostrophe exec scroll-mark-switch.sh + +# +# Scratchpad: +# + # Scroll has a "scratchpad", which is a bag of holding for windows. + # You can send windows there and get them back later. + + # Move the currently focused window to the scratchpad + bindsym $mod+Shift+z move scratchpad + + # Show the next scratchpad window or hide the focused scratchpad window. + # If there are multiple scratchpad windows, this command cycles through them. + bindsym $mod+z scratchpad show + bindsym --no-repeat $mod+Alt+z scratchpad jump + + bindsym $mod+Ctrl+z workspace back_and_forth + +# +# Mode modifiers +# +mode "modifiers" { + bindsym $right set_mode after; mode default + bindsym $left set_mode before; mode default + bindsym home set_mode beginning; mode default + bindsym end set_mode end; mode default + bindsym $up set_mode focus; mode default + bindsym $down set_mode nofocus; mode default + bindsym h set_mode center_horiz; mode default + bindsym Shift+h set_mode nocenter_horiz; mode default + bindsym v set_mode center_vert; mode default + bindsym Shift+v set_mode nocenter_vert; mode default + bindsym r set_mode reorder_auto; mode default + bindsym Shift+r set_mode noreorder_auto; mode default + + # Return to default mode + bindsym Escape mode "default" +} +bindsym $mod+backslash mode "modifiers" + +# +# Resizing containers: +# +bindsym $mod+minus cycle_size h prev +bindsym $mod+equal cycle_size h next +bindsym $mod+Shift+minus cycle_size v prev +bindsym $mod+Shift+equal cycle_size v next + +mode "setsizeh" { + bindsym 1 set_size h 0.125; mode default + bindsym 2 set_size h 0.1666666667; mode default + bindsym 3 set_size h 0.25; mode default + bindsym 4 set_size h 0.333333333; mode default + bindsym 5 set_size h 0.375; mode default + bindsym 6 set_size h 0.5; mode default + bindsym 7 set_size h 0.625; mode default + bindsym 8 set_size h 0.6666666667; mode default + bindsym 9 set_size h 0.75; mode default + bindsym 0 set_size h 0.833333333; mode default + bindsym minus set_size h 0.875; mode default + bindsym equal set_size h 1.0; mode default + + # Return to default mode + bindsym Escape mode "default" +} +bindsym $mod+b mode "setsizeh" + +mode "setsizev" { + bindsym 1 set_size v 0.125; mode default + bindsym 2 set_size v 0.1666666667; mode default + bindsym 3 set_size v 0.25; mode default + bindsym 4 set_size v 0.333333333; mode default + bindsym 5 set_size v 0.375; mode default + bindsym 6 set_size v 0.5; mode default + bindsym 7 set_size v 0.625; mode default + bindsym 8 set_size v 0.6666666667; mode default + bindsym 9 set_size v 0.75; mode default + bindsym 0 set_size v 0.833333333; mode default + bindsym minus set_size v 0.875; mode default + bindsym equal set_size v 1.0; mode default + + # Return to default mode + bindsym Escape mode "default" +} +bindsym $mod+Shift+b mode "setsizev" + +mode "resize" { + # left will shrink the containers width + # right will grow the containers width + # up will shrink the containers height + # down will grow the containers height + bindsym $left resize shrink width 100px + bindsym $down resize grow height 100px + bindsym $up resize shrink height 100px + bindsym $right resize grow width 100px + + # Return to default mode + bindsym Escape mode "default" +} +bindsym $mod+Shift+r mode "resize" + +mode "align" { + bindsym c align center; mode default + bindsym m align middle; mode default + bindsym r align reset; mode default + bindsym $left align left; mode default + bindsym $right align right; mode default + bindsym $up align up; mode default + bindsym $down align down; mode default + bindsym Escape mode "default" +} +bindsym $mod+c mode "align" + +mode "fit_size" { + bindsym w fit_size h visible proportional; mode default + bindsym Shift+w fit_size v visible proportional; mode default + bindsym Ctrl+w fit_size h visible equal; mode default + bindsym Ctrl+Shift+w fit_size v visible equal; mode default + + bindsym $right fit_size h toend proportional; mode default + bindsym Shift+$right fit_size v toend proportional; mode default + bindsym Ctrl+$right fit_size h toend equal; mode default + bindsym Ctrl+Shift+$right fit_size v toend equal; mode default + + bindsym $left fit_size h tobeg proportional; mode default + bindsym Shift+$left fit_size v tobeg proportional; mode default + bindsym Ctrl+$left fit_size h tobeg equal; mode default + bindsym Ctrl+Shift+$left fit_size v tobeg equal; mode default + + bindsym $up fit_size h active proportional; mode default + bindsym Shift+$up fit_size v active proportional; mode default + #bindsym Ctrl+$up fit_size h active equal; mode default + #bindsym Ctrl+Shift+$up fit_size v active equal; mode default + + bindsym $down fit_size h all proportional; mode default + bindsym Shift+$down fit_size v all proportional; mode default + bindsym Ctrl+$down fit_size h all equal; mode default + bindsym Ctrl+Shift+$down fit_size v all equal; mode default + bindsym Escape mode "default" +} +bindsym $mod+w mode "fit_size" + +mode "trailmark" { + bindsym bracketright trailmark next + bindsym bracketleft trailmark prev + bindsym semicolon trailmark toggle; mode default + bindsym Escape mode "default" +} +bindsym $mod+semicolon mode "trailmark" + +mode "trail" { + bindsym bracketright trail next + bindsym bracketleft trail prev + bindsym semicolon trail new; mode default + bindsym d trail delete; mode default + bindsym c trail clear; mode default + bindsym insert trail to_selection; mode default + bindsym Escape mode "default" +} +bindsym $mod+Shift+semicolon mode "trail" + +mode "spaces" { + bindsym 1 space load 1; mode default + bindsym 2 space load 2; mode default + bindsym 3 space load 3; mode default + bindsym 4 space load 4; mode default + bindsym 5 space load 5; mode default + bindsym 6 space load 6; mode default + bindsym 7 space load 7; mode default + bindsym 8 space load 8; mode default + bindsym 9 space load 9; mode default + bindsym 0 space load 0; mode default + bindsym Shift+1 space save 1; mode default + bindsym Shift+2 space save 2; mode default + bindsym Shift+3 space save 3; mode default + bindsym Shift+4 space save 4; mode default + bindsym Shift+5 space save 5; mode default + bindsym Shift+6 space save 6; mode default + bindsym Shift+7 space save 7; mode default + bindsym Shift+8 space save 8; mode default + bindsym Shift+9 space save 9; mode default + bindsym Shift+0 space save 0; mode default + bindsym Ctrl+1 space restore 1; mode default + bindsym Ctrl+2 space restore 2; mode default + bindsym Ctrl+3 space restore 3; mode default + bindsym Ctrl+4 space restore 4; mode default + bindsym Ctrl+5 space restore 5; mode default + bindsym Ctrl+6 space restore 6; mode default + bindsym Ctrl+7 space restore 7; mode default + bindsym Ctrl+8 space restore 8; mode default + bindsym Ctrl+9 space restore 9; mode default + bindsym Ctrl+0 space restore 0; mode default + bindsym Escape mode "default" +} +bindsym $mod+g mode "spaces" + +# +# Utilities: +# + # Special keys to adjust volume via PulseAudio + bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle + bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5% + bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5% + bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle + + # Special keys to control media via playerctl + bindsym --locked XF86AudioPlay exec playerctl play-pause + bindsym --locked XF86AudioPause exec playerctl play-pause + bindsym --locked XF86AudioPrev exec playerctl previous + bindsym --locked XF86AudioNext exec playerctl next + bindsym --locked XF86AudioStop exec playerctl stop + + # Special keys to adjust brightness via brightnessctl + bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- + bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ + + # Special key to take a screenshot with grim + bindsym Print exec grim + + +focus_wrapping no + +bindgesture swipe:4:right workspace next +bindgesture swipe:4:left workspace prev + +bindgesture swipe:4:up scale_workspace overview + +# +# Workspace rules: +# +# Opens a terminal when creating workspace 6 +# workspace 6 exec kitty + + +# +# Status Bar: +# +# Read `man 5 scroll-bar` for more information about this section. +bar { + position top + + # When the status_command prints a new line to stdout, scrollbar updates. + # The default just shows the current date and time. + status_command while date +'%Y-%m-%d %X'; do sleep 1; done + + colors { + statusline #ffffff + background #323232 + inactive_workspace #32323200 #32323200 #5c5c5c + scroller #2F343AFF #055E20FF #FFFFFFFF + } +} +# +# include /etc/scroll/config.d/* diff --git a/waybar/config b/waybar/config index 313aed7..74d0fee 100644 --- a/waybar/config +++ b/waybar/config @@ -15,6 +15,21 @@ // Modules configuration + "sway/workspaces": { + "all-outputs": false, + "persistent-workspaces": { + "1": ["eDP-1"], + "2": ["eDP-1"], + "3": ["eDP-1"], + "4": ["eDP-1"], + "5": ["eDP-1"], + "6": ["eDP-1"], + "7": ["eDP-1"], + "8": ["eDP-1"], + "9": ["eDP-1"], + }, + "format": "{value}", + }, "niri/workspaces": { "format": "{value}", "all-outputs": false, @@ -51,6 +66,12 @@ "on-scroll-down": "hyprctl dispatch split-workspace e-1", "on-click": "activate" }, + "sway/window": { + "separate-outputs": true, + "icon": true, + "format": "{title}", + "expand": true + }, "niri/window": { "separate-outputs": true, "icon": true, diff --git a/waybar/style.css b/waybar/style.css index 59f741f..9398381 100644 --- a/waybar/style.css +++ b/waybar/style.css @@ -56,6 +56,10 @@ window#waybar.hidden { background: #198844; } +#workspaces button.focused { + background: #198844; +} + /* #workspaces button.active:hover { background: #6e3c85; -- cgit v1.2.3 From 373441fde1ddd2b915cc83e5a43c87fef566b101 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sat, 26 Jul 2025 11:24:47 -0500 Subject: Add initial bash configs --- Makefile | 9 +++++++++ bash/.bash_logout | 2 ++ bash/.bashrc | 24 ++++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 bash/.bash_logout create mode 100644 bash/.bashrc diff --git a/Makefile b/Makefile index 12854c4..a25e316 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ VIM := $(shell command -v vim 2>/dev/null) +BCONFS := bash/.bash_logout bash/.bashrc ZCONFS := zsh/zshenv zsh/zshrc SCONFS := sh/profile DCONFS := doas.conf @@ -9,6 +10,14 @@ install: install-hyprplugins install-zshconfigs install-shconfigs vimplug-vim install-hyprplugins: install-hyprsplit install-hyprland-plugins +install-bashconfigs: $(BCONFS) install-shconfigs + @echo "Installing bash conf files..." + @echo ".bashrc..." + @ln -sf `pwd`/bash/.bashrc ~/.bashrc + @echo ".bash_logout..." + @ln -sf `pwd`/bash/.bash_logout ~/.bash_logout + @echo "Done." + install-hyprsplit: @echo "Installing hyprsplit..." @hyprpm add https://github.com/shezdy/hyprsplit || echo "Already installed!" diff --git a/bash/.bash_logout b/bash/.bash_logout new file mode 100644 index 0000000..9bccd62 --- /dev/null +++ b/bash/.bash_logout @@ -0,0 +1,2 @@ +clear +reset diff --git a/bash/.bashrc b/bash/.bashrc new file mode 100644 index 0000000..600352a --- /dev/null +++ b/bash/.bashrc @@ -0,0 +1,24 @@ +# Syntax Highlighting +source /usr/share/blesh/ble.sh + +# Incorporate my SH agnostic stuff +[ -f "$XDG_CONFIG_HOME/sh/aliases" ] && source "$XDG_CONFIG_HOME/sh/aliases" +[ -f "$XDG_CONFIG_HOME/sh/functions" ] && source "$XDG_CONFIG_HOME/sh/functions" + +# History Search +bind '"\e[A": history-search-backward' +bind '"\e[B": history-search-forward' + +# History Cleaning +export HISTCONTROL="erasedups:ignorespace" + +# Run-Help Ability +run-help() { help "$READLINE_LINE" 2>/dev/null || man "$READLINE_LINE"; } +bind -m vi-insert -x '"\eh": run-help' +bind -m emacs -x '"\eh": run-help' + +# CD when typing directory name +shopt -s autocd + +# Set my prompt +export PS1='\e[42m[\u@\H]\e[46\w\e[42m\$\e(B\e[m ' -- cgit v1.2.3 From 82506e32c7233cadca8249fb60e28b5e0e13aa2d Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sat, 26 Jul 2025 11:25:02 -0500 Subject: ZSH make install only needs to setup .zprofile --- Makefile | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index a25e316..ac56da3 100644 --- a/Makefile +++ b/Makefile @@ -32,12 +32,10 @@ install-hyprland-plugins: @hyprpm enable hyprscrolling @echo "Done." -install-zshconfigs: $(ZCONFS) - @echo "Installing zsh conf files..." - @echo ".zshenv..." - @ln -sf `pwd`/zsh/zshenv ~/.zshenv - @echo ".zshrc..." - @ln -sf `pwd`/zsh/zshrc ~/.zshrc +install-zshconfigs: install-shconfigs + @echo "Settings up ZDOTDIR..." + @echo "Installing .zprofile..." + @ln -sf `pwd`/sh/profile ~/.zprofile @echo "Done." install-shconfigs: $(SCONFS) -- cgit v1.2.3 From ac700e2efa3479460b565d1542725da3c2c6c68c Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sat, 26 Jul 2025 12:56:35 -0500 Subject: Add $home variable for scroll --- .gitignore | 1 + Makefile | 14 ++++++++++++-- scroll/config | 2 ++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 3dcf353..6bd8fea 100644 --- a/.gitignore +++ b/.gitignore @@ -237,6 +237,7 @@ RVXX EXEX.settings RVXX v2/ RVXX v2.settings SchildiChat/ +scroll/user.conf Serenity/ Session/ Shibalba EXEX.settings diff --git a/Makefile b/Makefile index ac56da3..3f6f51c 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ DCONFS := doas.conf all: -install: install-hyprplugins install-zshconfigs install-shconfigs vimplug-vim +install: install-hyprplugins install-zshconfigs install-shconfigs vimplug-vim install-scrollconf install-hyprplugins: install-hyprsplit install-hyprland-plugins @@ -32,6 +32,16 @@ install-hyprland-plugins: @hyprpm enable hyprscrolling @echo "Done." +install-scrollconf: scroll/user.conf + @echo "Installing user.conf..." + @sudo ln -sf `pwd`/scroll/user.conf /etc/scroll/config.d/user.conf + @echo "Done." + +scroll/user.conf: + @echo "Generating user.conf..." + @echo 'set $$home' $(shell echo $(HOME)) > scroll/user.conf + @echo "Done." + install-zshconfigs: install-shconfigs @echo "Settings up ZDOTDIR..." @echo "Installing .zprofile..." @@ -58,4 +68,4 @@ doas-conf: $(DCONFS) @sudo cp -n doas.conf /etc/doas.conf @echo "Done." -.PHONY: install-hyprplugins install-zshconfigs install-shconfigs vimplug-vim doas-conf install +.PHONY: install-hyprplugins install-zshconfigs install-shconfigs vimplug-vim doas-conf install install-scrollconf diff --git a/scroll/config b/scroll/config index c715eed..e1b0f0e 100644 --- a/scroll/config +++ b/scroll/config @@ -6,6 +6,8 @@ # # Read `man 5 scroll` for a complete reference. +include /etc/scroll/config.d/* + ### Variables # # Logo key. Use Mod1 for Alt. -- cgit v1.2.3 From 85559e966fd1e29374c759c697ac9c5757750d3c Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sat, 26 Jul 2025 12:56:55 -0500 Subject: Move bash in Makefile and make it phony --- Makefile | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 3f6f51c..ce4171e 100644 --- a/Makefile +++ b/Makefile @@ -10,14 +10,6 @@ install: install-hyprplugins install-zshconfigs install-shconfigs vimplug-vim in install-hyprplugins: install-hyprsplit install-hyprland-plugins -install-bashconfigs: $(BCONFS) install-shconfigs - @echo "Installing bash conf files..." - @echo ".bashrc..." - @ln -sf `pwd`/bash/.bashrc ~/.bashrc - @echo ".bash_logout..." - @ln -sf `pwd`/bash/.bash_logout ~/.bash_logout - @echo "Done." - install-hyprsplit: @echo "Installing hyprsplit..." @hyprpm add https://github.com/shezdy/hyprsplit || echo "Already installed!" @@ -42,6 +34,14 @@ scroll/user.conf: @echo 'set $$home' $(shell echo $(HOME)) > scroll/user.conf @echo "Done." +install-bashconfigs: $(BCONFS) install-shconfigs + @echo "Installing bash conf files..." + @echo ".bashrc..." + @ln -sf `pwd`/bash/.bashrc ~/.bashrc + @echo ".bash_logout..." + @ln -sf `pwd`/bash/.bash_logout ~/.bash_logout + @echo "Done." + install-zshconfigs: install-shconfigs @echo "Settings up ZDOTDIR..." @echo "Installing .zprofile..." @@ -68,4 +68,4 @@ doas-conf: $(DCONFS) @sudo cp -n doas.conf /etc/doas.conf @echo "Done." -.PHONY: install-hyprplugins install-zshconfigs install-shconfigs vimplug-vim doas-conf install install-scrollconf +.PHONY: install-hyprplugins install-zshconfigs install-shconfigs vimplug-vim doas-conf install install-scrollconf install-bashconfigs -- cgit v1.2.3 From 5462f87978dfa2d09d90dc3497852d03c007b5d1 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sat, 26 Jul 2025 12:57:55 -0500 Subject: Hide the bar in scroll --- scroll/config | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/scroll/config b/scroll/config index e1b0f0e..222f6cd 100644 --- a/scroll/config +++ b/scroll/config @@ -25,7 +25,6 @@ set $dmenu dmenu_run -l 15 # Your preferred file manager set $filemanager kitty -e lf -bar mode invisible exec waybar exec hypridle exec hyprpaper @@ -501,18 +500,19 @@ bindgesture swipe:4:up scale_workspace overview # # Read `man 5 scroll-bar` for more information about this section. bar { - position top - - # When the status_command prints a new line to stdout, scrollbar updates. - # The default just shows the current date and time. - status_command while date +'%Y-%m-%d %X'; do sleep 1; done - - colors { - statusline #ffffff - background #323232 - inactive_workspace #32323200 #32323200 #5c5c5c - scroller #2F343AFF #055E20FF #FFFFFFFF - } + mode invisible + + #position top + + ## When the status_command prints a new line to stdout, scrollbar updates. + ## The default just shows the current date and time. + #status_command while date +'%Y-%m-%d %X'; do sleep 1; done + + #colors { + # statusline #ffffff + # background #323232 + # inactive_workspace #32323200 #32323200 #5c5c5c + # scroller #2F343AFF #055E20FF #FFFFFFFF + #} } # -# include /etc/scroll/config.d/* -- cgit v1.2.3 From 024301a886470f528cdd27b7911f1bd9b76e554f Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sat, 26 Jul 2025 12:58:23 -0500 Subject: Fix closing windows in scroll --- scroll/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scroll/config b/scroll/config index 222f6cd..86f26df 100644 --- a/scroll/config +++ b/scroll/config @@ -130,7 +130,7 @@ animations { bindsym $mod+Shift+c reload # Closes the active application (hopefully) - bindsym $mod+Shift+q view_close + bindsym $mod+Shift+q kill # Exit scroll (logs you out of your Wayland session) bindsym $mod+Shift+e exec scrollnag -t warning -m 'You pressed the exit shortcut. Do you really want to exit scroll? This will end your Wayland session.' -B 'Yes, exit scroll' 'scrollmsg exit' -- cgit v1.2.3 From 5a20ce5c913f79f3e9192dc85c469b1929685d2e Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sat, 26 Jul 2025 12:58:55 -0500 Subject: Rebind fullscreen global and toggle float in scroll --- scroll/config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scroll/config b/scroll/config index 86f26df..3e06009 100644 --- a/scroll/config +++ b/scroll/config @@ -233,7 +233,7 @@ animations { # # Make the current focus fullscreen bindsym $mod+f fullscreen - bindsym $mod+Ctrl+f fullscreen global + bindsym $mod+Shift+f fullscreen global bindsym $mod+Alt+f fullscreen_application toggle bindsym $mod+Ctrl+Alt+f fullscreen_application reset @@ -243,7 +243,7 @@ animations { bindsym $mod+Shift+y layout_transpose # Float a window - bindsym $mod+Shift+f floating toggle + bindsym $mod+Shift+space floating toggle # Toggle sticky bindsym $mod+Shift+Ctrl+a sticky toggle -- cgit v1.2.3 From 3b4aabf936aeca88f325183f1a7895f0a5b263a9 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sat, 26 Jul 2025 12:59:11 -0500 Subject: Remove default scroll scratchpad bindings --- scroll/config | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scroll/config b/scroll/config index 3e06009..9c25c8c 100644 --- a/scroll/config +++ b/scroll/config @@ -270,14 +270,14 @@ animations { # You can send windows there and get them back later. # Move the currently focused window to the scratchpad - bindsym $mod+Shift+z move scratchpad + #bindsym $mod+Shift+z move scratchpad # Show the next scratchpad window or hide the focused scratchpad window. # If there are multiple scratchpad windows, this command cycles through them. - bindsym $mod+z scratchpad show - bindsym --no-repeat $mod+Alt+z scratchpad jump + #bindsym $mod+z scratchpad show + #bindsym --no-repeat $mod+Alt+z scratchpad jump - bindsym $mod+Ctrl+z workspace back_and_forth + #bindsym $mod+Ctrl+z workspace back_and_forth # # Mode modifiers -- cgit v1.2.3 From 453206c3c82d2a305ffe1634a1609cc740ddb4e5 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sat, 26 Jul 2025 12:59:37 -0500 Subject: Set XF86 keys to my scripts --- scroll/config | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/scroll/config b/scroll/config index 9c25c8c..d9596be 100644 --- a/scroll/config +++ b/scroll/config @@ -461,10 +461,10 @@ bindsym $mod+g mode "spaces" # Utilities: # # Special keys to adjust volume via PulseAudio - bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle - bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5% - bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5% - bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle + bindsym --locked XF86AudioMute exec volsv -t + bindsym --locked XF86AudioLowerVolume exec volsv -d + bindsym --locked XF86AudioRaiseVolume exec volsv -i + bindsym --locked XF86AudioMicMute exec volsv -m # Special keys to control media via playerctl bindsym --locked XF86AudioPlay exec playerctl play-pause @@ -474,8 +474,8 @@ bindsym $mod+g mode "spaces" bindsym --locked XF86AudioStop exec playerctl stop # Special keys to adjust brightness via brightnessctl - bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- - bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ + bindsym --locked XF86MonBrightnessDown exec bl -d + bindsym --locked XF86MonBrightnessUp exec bl -i # Special key to take a screenshot with grim bindsym Print exec grim -- cgit v1.2.3 From dc3897a61769a24cecb4f1ab8385c0cf6d21e4d4 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sat, 26 Jul 2025 12:59:57 -0500 Subject: Add dmenu scripts to scroll --- scroll/config | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scroll/config b/scroll/config index d9596be..cb19b70 100644 --- a/scroll/config +++ b/scroll/config @@ -480,6 +480,14 @@ bindsym $mod+g mode "spaces" # Special key to take a screenshot with grim bindsym Print exec grim +# Launch lwc librewolf profile interface +bindsym $mod+Alt+w exec lwc +# Launch qbc qutebrowser profile interface +bindsym $mod+Alt+q exec qbc +# Launch dmount dmenu mount script +bindsym $mod+Alt+comma exec dmount +# Launch dmenuumount dmenu umount script +bindsym $mod+Alt+period exec dmenuumount focus_wrapping no -- cgit v1.2.3 From 208a0ff78229e85a4a6ae448aac3c54686ca0585 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sat, 26 Jul 2025 13:00:36 -0500 Subject: Add bare bones of window swallowing to scroll --- scroll/config | 3 +++ scroll/scripts/swallow.lua | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 scroll/scripts/swallow.lua diff --git a/scroll/config b/scroll/config index cb19b70..3c8b0c3 100644 --- a/scroll/config +++ b/scroll/config @@ -496,6 +496,9 @@ bindgesture swipe:4:left workspace prev bindgesture swipe:4:up scale_workspace overview +# Enable window swallowing (of mpv specifically) +lua $home/.config/scroll/scripts/swallow.lua + # # Workspace rules: # diff --git a/scroll/scripts/swallow.lua b/scroll/scripts/swallow.lua new file mode 100644 index 0000000..5760886 --- /dev/null +++ b/scroll/scripts/swallow.lua @@ -0,0 +1,32 @@ +local function candidate(view) + local app_id = scroll.view_get_app_id(view) + if app_id == "mpv" then + local pview = scroll.view_get_parent_view(view) + if pview ~= nil and pview ~= view then + local papp_id = scroll.view_get_app_id(pview) + if papp_id == "kitty" then + return scroll.view_get_container(pview) + end + end + end + return nil +end + +local function on_create(view, _) + local parent = candidate(view) + if parent ~= nil then + scroll.command(parent, "move scratchpad") + end +end + +local function on_destroy(view, _) + local parent = candidate(view) + if parent ~= nil then + scroll.command(nil, "scratchpad show; floating toggle") + end +end + +scroll.add_callback("view_map", on_create, nil) +scroll.add_callback("view_unmap", on_destroy, nil) + + -- cgit v1.2.3 From b35c7ad4db8e604f109f4857a4ed5a1c236caf30 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sat, 26 Jul 2025 13:00:57 -0500 Subject: Add most scratchpads to scroll --- scroll/config | 32 ++++++++++++++++++++++++++++++++ scroll/scripts/scratchpad.lua | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 scroll/scripts/scratchpad.lua diff --git a/scroll/config b/scroll/config index 3c8b0c3..2b18e24 100644 --- a/scroll/config +++ b/scroll/config @@ -499,6 +499,38 @@ bindgesture swipe:4:up scale_workspace overview # Enable window swallowing (of mpv specifically) lua $home/.config/scroll/scripts/swallow.lua +# Scratchpads +for_window [app_id="sphtop"] move scratchpad +for_window [app_id="sphtop"] scratchpad show +bindsym $mod+Ctrl+z lua $home/.config/scroll/scripts/scratchpad.lua sphtop htop +for_window [app_id="spterm"] move scratchpad +for_window [app_id="spterm"] scratchpad show +bindsym $mod+Ctrl+x lua $home/.config/scroll/scripts/scratchpad.lua spterm +for_window [app_id="sppmxr"] move scratchpad +for_window [app_id="sppmxr"] scratchpad show +bindsym $mod+Ctrl+c lua $home/.config/scroll/scripts/scratchpad.lua sppmxr pulsemixer +for_window [app_id="spblue"] move scratchpad +for_window [app_id="spblue"] scratchpad show +bindsym $mod+Ctrl+v lua $home/.config/scroll/scripts/scratchpad.lua spblue bluetoothctl +for_window [app_id="spncmp"] move scratchpad +for_window [app_id="spncmp"] scratchpad show +bindsym $mod+Ctrl+b lua $home/.config/scroll/scripts/scratchpad.lua spncmp ncmpcpp +for_window [app_id="spmutt"] move scratchpad +for_window [app_id="spmutt"] scratchpad show +bindsym $mod+Ctrl+a lua $home/.config/scroll/scripts/scratchpad.lua spmutt neomutt +for_window [app_id="spprof"] move scratchpad +for_window [app_id="spprof"] scratchpad show +bindsym $mod+Ctrl+s lua $home/.config/scroll/scripts/scratchpad.lua spprof profanity +for_window [app_id="spirss"] move scratchpad +for_window [app_id="spirss"] scratchpad show +bindsym $mod+Ctrl+d lua $home/.config/scroll/scripts/scratchpad.lua spirss irssi +for_window [app_id="sptodo"] move scratchpad +for_window [app_id="sptodo"] scratchpad show +bindsym $mod+Ctrl+f lua $home/.config/scroll/scripts/scratchpad.lua sptodo todo +for_window [app_id="sptrmc"] move scratchpad +for_window [app_id="sptrmc"] scratchpad show +bindsym $mod+Ctrl+g lua $home/.config/scroll/scripts/scratchpad.lua sptrmc tremc + # # Workspace rules: # diff --git a/scroll/scripts/scratchpad.lua b/scroll/scripts/scratchpad.lua new file mode 100644 index 0000000..7e078d6 --- /dev/null +++ b/scroll/scripts/scratchpad.lua @@ -0,0 +1,41 @@ +local args, _ = ... +local id = "" +local spawn = "" + +for i, arg in ipairs(args) do + if i <= 1 then + id = arg + else + spawn = spawn .. " " .. arg + end +end + +local function exists(id) + local is_in_array = false + local cons = scroll.scratchpad_get_containers() + for _, con in ipairs(cons) do + local views = scroll.container_get_views(con) + for _, view in ipairs(views) do + local app_id = scroll.view_get_app_id(view) + if (app_id == id) then + is_in_array = true + end + end + end + return is_in_array +end + +local function is_focused(id) + local view = scroll.focused_view() + local app_id = scroll.view_get_app_id(view) + return app_id == id +end + +if (not exists(id)) then + scroll.command(nil, "exec kitty --class " .. id .. spawn) +end +if (is_focused(id)) then + scroll.command(nill, "scratchpad show") +else + scroll.command(nil, "[app_id=\"" .. id .. "\"] scratchpad show") +end -- cgit v1.2.3 From 304aa0bc4856e5498b64ae95e73e1a7b21924f46 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sat, 26 Jul 2025 13:07:11 -0500 Subject: Add wc script to install wc stuff as necessary --- Makefile | 7 ++++++- installers/wc | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100755 installers/wc diff --git a/Makefile b/Makefile index ce4171e..24b5acd 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,12 @@ DCONFS := doas.conf all: -install: install-hyprplugins install-zshconfigs install-shconfigs vimplug-vim install-scrollconf +install: install-zshconfigs install-shconfigs vimplug-vim wc + +wc: + @echo "Installing wayland compositor stuff..." + @./installers/wc + @echo "Done." install-hyprplugins: install-hyprsplit install-hyprland-plugins diff --git a/installers/wc b/installers/wc new file mode 100755 index 0000000..bfdb299 --- /dev/null +++ b/installers/wc @@ -0,0 +1,6 @@ +#!/bin/sh + +pgrep -x Hyprland && make install-hyprplugins +pgrep -x scroll && make install-scrollconf + + -- cgit v1.2.3 From 14abc661c1f16d6cb5070b4c524a7196e0eb1ca0 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sat, 26 Jul 2025 13:38:15 -0500 Subject: Set $scripts variable in scroll --- scroll/config | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/scroll/config b/scroll/config index 2b18e24..2758843 100644 --- a/scroll/config +++ b/scroll/config @@ -25,6 +25,9 @@ set $dmenu dmenu_run -l 15 # Your preferred file manager set $filemanager kitty -e lf +# The scripts directory +set $scripts $home/.config/scroll/scripts + exec waybar exec hypridle exec hyprpaper @@ -497,39 +500,39 @@ bindgesture swipe:4:left workspace prev bindgesture swipe:4:up scale_workspace overview # Enable window swallowing (of mpv specifically) -lua $home/.config/scroll/scripts/swallow.lua +lua $scripts/swallow.lua # Scratchpads for_window [app_id="sphtop"] move scratchpad for_window [app_id="sphtop"] scratchpad show -bindsym $mod+Ctrl+z lua $home/.config/scroll/scripts/scratchpad.lua sphtop htop +bindsym $mod+Ctrl+z lua $scripts/scratchpad.lua sphtop kitty htop for_window [app_id="spterm"] move scratchpad for_window [app_id="spterm"] scratchpad show -bindsym $mod+Ctrl+x lua $home/.config/scroll/scripts/scratchpad.lua spterm +bindsym $mod+Ctrl+x lua $scripts/scratchpad.lua spterm kitty for_window [app_id="sppmxr"] move scratchpad for_window [app_id="sppmxr"] scratchpad show -bindsym $mod+Ctrl+c lua $home/.config/scroll/scripts/scratchpad.lua sppmxr pulsemixer +bindsym $mod+Ctrl+c lua $scripts/scratchpad.lua sppmxr kitty pulsemixer for_window [app_id="spblue"] move scratchpad for_window [app_id="spblue"] scratchpad show -bindsym $mod+Ctrl+v lua $home/.config/scroll/scripts/scratchpad.lua spblue bluetoothctl +bindsym $mod+Ctrl+v lua $scripts/scratchpad.lua spblue kitty bluetoothctl for_window [app_id="spncmp"] move scratchpad for_window [app_id="spncmp"] scratchpad show -bindsym $mod+Ctrl+b lua $home/.config/scroll/scripts/scratchpad.lua spncmp ncmpcpp +bindsym $mod+Ctrl+b lua $scripts/scratchpad.lua spncmp kitty ncmpcpp for_window [app_id="spmutt"] move scratchpad for_window [app_id="spmutt"] scratchpad show -bindsym $mod+Ctrl+a lua $home/.config/scroll/scripts/scratchpad.lua spmutt neomutt +bindsym $mod+Ctrl+a lua $scripts/scratchpad.lua spmutt kitty neomutt for_window [app_id="spprof"] move scratchpad for_window [app_id="spprof"] scratchpad show -bindsym $mod+Ctrl+s lua $home/.config/scroll/scripts/scratchpad.lua spprof profanity +bindsym $mod+Ctrl+s lua $scripts/scratchpad.lua spprof kitty profanity for_window [app_id="spirss"] move scratchpad for_window [app_id="spirss"] scratchpad show -bindsym $mod+Ctrl+d lua $home/.config/scroll/scripts/scratchpad.lua spirss irssi +bindsym $mod+Ctrl+d lua $scripts/scratchpad.lua spirss kitty irssi for_window [app_id="sptodo"] move scratchpad for_window [app_id="sptodo"] scratchpad show -bindsym $mod+Ctrl+f lua $home/.config/scroll/scripts/scratchpad.lua sptodo todo +bindsym $mod+Ctrl+f lua $scripts/scratchpad.lua sptodo kitty todo for_window [app_id="sptrmc"] move scratchpad for_window [app_id="sptrmc"] scratchpad show -bindsym $mod+Ctrl+g lua $home/.config/scroll/scripts/scratchpad.lua sptrmc tremc +bindsym $mod+Ctrl+g lua $scripts/scratchpad.lua sptrmc kitty tremc # # Workspace rules: -- cgit v1.2.3 From 3769b80f680ff0b9a5b9cae219d2dff5e5d49c28 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sat, 26 Jul 2025 13:38:59 -0500 Subject: Change around some bindings --- scroll/config | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scroll/config b/scroll/config index 2758843..21cc489 100644 --- a/scroll/config +++ b/scroll/config @@ -117,10 +117,10 @@ animations { bindsym $mod+Ctrl+Backspace kill all # Start your launcher - bindsym $mod+r exec $rmenu + bindsym $mod+e exec $rmenu bindsym $mod+d exec $dmenu - bindsym $mod+e exec $filemanager + bindsym $mod+Alt+f exec $filemanager # Drag floating windows by holding down $mod and left mouse button. # Resize them with right mouse button + $mod. @@ -236,8 +236,8 @@ animations { # # Make the current focus fullscreen bindsym $mod+f fullscreen - bindsym $mod+Shift+f fullscreen global - bindsym $mod+Alt+f fullscreen_application toggle + #bindsym $mod+Shift+f fullscreen global + bindsym $mod+Shift+f fullscreen_application toggle bindsym $mod+Ctrl+Alt+f fullscreen_application reset # Toggle the current focus between tiling and floating mode -- cgit v1.2.3 From be4dc4fce70d7aeb4ddc986320468a834808adf8 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sat, 26 Jul 2025 13:39:28 -0500 Subject: Update scratchpad.lua to work with non-terminal apps --- scroll/scripts/scratchpad.lua | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/scroll/scripts/scratchpad.lua b/scroll/scripts/scratchpad.lua index 7e078d6..6972843 100644 --- a/scroll/scripts/scratchpad.lua +++ b/scroll/scripts/scratchpad.lua @@ -1,15 +1,26 @@ local args, _ = ... local id = "" -local spawn = "" +local terminal = false +local command = nil for i, arg in ipairs(args) do if i <= 1 then - id = arg - else - spawn = spawn .. " " .. arg + id = arg + elseif i == 2 then + if (arg == "kitty") then + terminal = true + else + command = arg + --terminal = true + end + elseif (terminal == true) then + command = arg + break end end +--scroll.command(nil, "exec notify-send \"Spawn command\" \"" .. command .. "\"") + local function exists(id) local is_in_array = false local cons = scroll.scratchpad_get_containers() @@ -31,11 +42,23 @@ local function is_focused(id) return app_id == id end +local function spawn(term, comm) + if (term) then + if (comm) then + scroll.command(nil, "exec kitty --class " .. id .. " -e " .. comm) + else + scroll.command(nil, "exec kitty --class " .. id) + end + else + scroll.command(nil, "exec " .. comm) + end +end + if (not exists(id)) then - scroll.command(nil, "exec kitty --class " .. id .. spawn) + spawn(terminal, command) end if (is_focused(id)) then - scroll.command(nill, "scratchpad show") + scroll.command(nil, "scratchpad show") else scroll.command(nil, "[app_id=\"" .. id .. "\"] scratchpad show") end -- cgit v1.2.3 From b9a2511463cad1705ce5b506346b4b84bf181d21 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sat, 26 Jul 2025 13:39:43 -0500 Subject: Add helvum and easyeffects scratchpads for scroll --- scroll/config | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scroll/config b/scroll/config index 21cc489..34eaaee 100644 --- a/scroll/config +++ b/scroll/config @@ -533,6 +533,12 @@ bindsym $mod+Ctrl+f lua $scripts/scratchpad.lua sptodo kitty todo for_window [app_id="sptrmc"] move scratchpad for_window [app_id="sptrmc"] scratchpad show bindsym $mod+Ctrl+g lua $scripts/scratchpad.lua sptrmc kitty tremc +for_window [app_id="org.pipewire.Helvum"] move scratchpad +for_window [app_id="org.pipewire.Helvum"] scratchpad show +bindsym $mod+Ctrl+q lua $scripts/scratchpad.lua org.pipewire.Helvum helvum +for_window [app_id="com.github.wwmm.easyeffects"] move scratchpad +for_window [app_id="com.github.wwmm.easyeffects"] scratchpad show +bindsym $mod+Ctrl+e lua $scripts/scratchpad.lua com.github.wwmm.easyeffects easyeffects # # Workspace rules: -- cgit v1.2.3 From 9ed839f53856aa0d6ce7bfecb0af88db7bb272c0 Mon Sep 17 00:00:00 2001 From: zachir Date: Sat, 26 Jul 2025 14:48:08 -0500 Subject: Add outputs (all commented out in master) --- scroll/config | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scroll/config b/scroll/config index 34eaaee..da3c7e9 100644 --- a/scroll/config +++ b/scroll/config @@ -43,6 +43,10 @@ exec hyprpaper # # You can get the names of your outputs by running: scrollmsg -t get_outputs +#output eDP-1 resolution 1920x1080 position 0 0 +#output HDMI-A-1 resolution 1920x1080 position 1920 0 +#output DP-2 resolution 1920x1080 position 0 0 + ### Idle configuration # # Example configuration: -- cgit v1.2.3 From 3cd7676a0e6893bff7228a1fed385624d7002093 Mon Sep 17 00:00:00 2001 From: zachir Date: Sat, 26 Jul 2025 14:48:24 -0500 Subject: Set border colors in scroll --- scroll/config | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scroll/config b/scroll/config index da3c7e9..e499557 100644 --- a/scroll/config +++ b/scroll/config @@ -82,9 +82,9 @@ exec hyprpaper default_border pixel 2 gaps inner 4 gaps outer 20 -client.focused #15439e #000000 #e0e0e0 #2e9ef4 #15439e -client.focused_inactive #595959 #000000 #e0e0e0 #2e9ef4 #595959 -client.unfocused #595959 #000000 #e0e0e0 #2e9ef4 #595959 +client.focused #198844 #000000 #e0e0e0 #198844 #198844 +client.focused_inactive #1b1d1c #000000 #e0e0e0 #1b1d1c #1b1d1c +client.unfocused #1b1d1c #000000 #e0e0e0 #1b1d1c #1b1d1c # Idle inhibit for fullscreen windows for_window [all] inhibit_idle fullscreen -- cgit v1.2.3 From c382995939a55af298b3e75307eb479c37c5eef1 Mon Sep 17 00:00:00 2001 From: zachir Date: Sat, 26 Jul 2025 14:48:52 -0500 Subject: Remove workspace 10 from scroll --- scroll/config | 2 -- 1 file changed, 2 deletions(-) diff --git a/scroll/config b/scroll/config index e499557..5eaee2e 100644 --- a/scroll/config +++ b/scroll/config @@ -188,7 +188,6 @@ animations { bindsym $mod+7 workspace number 7 bindsym $mod+8 workspace number 8 bindsym $mod+9 workspace number 9 - bindsym $mod+0 workspace number 10 # Move focused container to workspace bindsym $mod+Shift+1 move container to workspace number 1; workspace number 1 bindsym $mod+Shift+2 move container to workspace number 2; workspace number 2 @@ -199,7 +198,6 @@ animations { bindsym $mod+Shift+7 move container to workspace number 7; workspace number 7 bindsym $mod+Shift+8 move container to workspace number 8; workspace number 8 bindsym $mod+Shift+9 move container to workspace number 9; workspace number 9 - bindsym $mod+Shift+0 move container to workspace number 10; workspace number 10 # Note: workspaces can have any name you want, not just numbers. # We just use 1-10 as the default. -- cgit v1.2.3 From f1987ba629deeb8f027a7707b745f404ad6af1f3 Mon Sep 17 00:00:00 2001 From: zachir Date: Sat, 26 Jul 2025 14:49:25 -0500 Subject: Move containers to outputs with MSC h/j/k/l not MC 1/2 --- scroll/config | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scroll/config b/scroll/config index 5eaee2e..c695d28 100644 --- a/scroll/config +++ b/scroll/config @@ -201,8 +201,10 @@ animations { # Note: workspaces can have any name you want, not just numbers. # We just use 1-10 as the default. - bindsym $mod+Ctrl+1 move workspace to output left - bindsym $mod+Ctrl+2 move workspace to output right + bindsym $mod+Shift+Ctrl+h move container to output left + bindsym $mod+Shift+Ctrl+j move container to output down + bindsym $mod+Shift+Ctrl+k move container to output up + bindsym $mod+Shift+Ctrl+l move container to output right # Scaling # Workspace -- cgit v1.2.3 From 4a433d5e3c2f9f1898e8c9652473e0b4de77f57f Mon Sep 17 00:00:00 2001 From: zachir Date: Sat, 26 Jul 2025 14:49:49 -0500 Subject: Add maximize lua script for scroll --- scroll/config | 3 +++ scroll/scripts/maximize.lua | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 scroll/scripts/maximize.lua diff --git a/scroll/config b/scroll/config index c695d28..6655223 100644 --- a/scroll/config +++ b/scroll/config @@ -244,6 +244,9 @@ animations { bindsym $mod+Shift+f fullscreen_application toggle bindsym $mod+Ctrl+Alt+f fullscreen_application reset + # Maximize, not fullscreen + bindsym $mod+m lua $scripts/maximize.lua toggle + # Toggle the current focus between tiling and floating mode bindsym $mod+y focus mode_toggle # Toggle layout type (h<->v) diff --git a/scroll/scripts/maximize.lua b/scroll/scripts/maximize.lua new file mode 100644 index 0000000..f0df156 --- /dev/null +++ b/scroll/scripts/maximize.lua @@ -0,0 +1,42 @@ +local args, state = ... + +-- Set up views table +local views = scroll.state_get_value(state, "views") +if views == nil then + scroll.state_set_value(state, "views", {}) + views = scroll.state_get_value(state, "views") +end + +local function find_view(view) + for _, v in ipairs(views) do + if v["object"] == view then + return v + end + end + return nil +end + +if args[1] == 'toggle' then + local focused_view = scroll.focused_view() + local view = find_view(focused_view) + if view == nil then + view = { + object = focused_view, + maximized = false, + wf = 0, + hf = 0 + } + table.insert(views, view) + end + view["maximized"] = not view["maximized"] + if view["maximized"] then + local container = scroll.view_get_container(focused_view) + view["wf"] = scroll.container_get_width_fraction(container) + view["hf"] = scroll.container_get_height_fraction(container) + scroll.command(nil, "set_size h 1.0") + scroll.command(nil, "set_size v 1.0") + else + scroll.command(nil, "set_size h " .. view["wf"]) + scroll.command(nil, "set_size v " .. view["hf"]) + end +end -- cgit v1.2.3 From 5407b39d082fef72ac526ac1fe9a98565cdefbaf Mon Sep 17 00:00:00 2001 From: zachir Date: Sat, 26 Jul 2025 14:50:20 -0500 Subject: Fix typo in waybar config --- waybar/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/waybar/config b/waybar/config index 74d0fee..7f07eed 100644 --- a/waybar/config +++ b/waybar/config @@ -82,7 +82,7 @@ "separate-outputs": true, "icon": true, "format": "{title}", - "espand": true, + "expand": true, }, "keyboard-state": { "numlock": true, -- cgit v1.2.3 From 9dde73f783e0bac3588bb7506bce9ae06f66366a Mon Sep 17 00:00:00 2001 From: zachir Date: Sat, 26 Jul 2025 17:55:33 -0500 Subject: Turn warping off; it's a bit weird --- scroll/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scroll/config b/scroll/config index 6655223..1886bbc 100644 --- a/scroll/config +++ b/scroll/config @@ -97,7 +97,7 @@ layout_heights [0.33333333 0.5 0.666666667 1.0] fullscreen_movefocus true -mouse_warping container +mouse_warping none # Animations animations { -- cgit v1.2.3 From 003ec2c9a33b9adb850525740a481092ed3434a1 Mon Sep 17 00:00:00 2001 From: zachir Date: Sat, 26 Jul 2025 19:28:44 -0500 Subject: Enable hyprland animations --- hypr/hyprland.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 90cc7b1..a8b0bed 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -139,7 +139,7 @@ decoration { #{{{ Animations options animations { - enabled = no + enabled = yes # 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, 7, myBezier -- cgit v1.2.3 From c524ef216217a9e49af46ffd4a4933b533b85a1f Mon Sep 17 00:00:00 2001 From: zachir Date: Sat, 26 Jul 2025 19:29:04 -0500 Subject: Move hyprscrolling options to plugin options --- hypr/hyprland.conf | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index a8b0bed..d820a44 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -175,16 +175,6 @@ master { } #}}} -#{{{ Hyprscrolling layout options -plugin:hyprscrolling { - fullscreen_on_one_column = true - column_width = 0.5 - explicit_column_widths = 0.333, 0.5, 0.667, 1.0 - focus_fit_method = 1 - follow_focus = true -} -#}}} - #{{{ Gestures options gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more @@ -198,6 +188,14 @@ plugin { num_workspaces = 9 persistent_workspaces = true } + + hyprscrolling { + fullscreen_on_one_column = true + column_width = 0.5 + explicit_column_widths = 0.333, 0.5, 0.667, 1.0 + focus_fit_method = 1 + follow_focus = true + } } #}}} -- cgit v1.2.3 From c5ff5261c0e856982f99f137e95cffe675f51a0f Mon Sep 17 00:00:00 2001 From: zachir Date: Sat, 26 Jul 2025 19:29:57 -0500 Subject: Try to make hyprscrolling binds more intuitive --- hypr/hyprland.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index d820a44..69fb6b9 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -237,12 +237,12 @@ $secdMod = ALT # hyprscrolling layout binds #bind = $mainMod+SHIFT, H, layoutmsg, move -1 #HYPRSCROLLING #bind = $mainMod+SHIFT, L, layoutmsg, move +1 #HYPRSCROLLING -bind = $mainMod+ALT, H, layoutmsg, movewindowto l #HYPRSCROLLING -bind = $mainMod+ALT, L, layoutmsg, movewindowto r #HYPRSCROLLING -bind = $mainMod+SHIFT, H, movewindow, l #HYPRSCROLLING +bind = $mainMod+CTRL, H, layoutmsg, movewindowto l #HYPRSCROLLING +bind = $mainMod+CTRL, L, layoutmsg, movewindowto r #HYPRSCROLLING +#bind = $mainMod+SHIFT, H, movewindow, l #HYPRSCROLLING bind = $mainMod+SHIFT, L, movewindow, r #HYPRSCROLLING bind = $mainMod+SHIFT, K, movewindow, u #HYPRSCROLLING -bind = $mainMod+SHIFT, J, movewindow, d #HYPRSCROLLING +#bind = $mainMod+SHIFT, J, movewindow, d #HYPRSCROLLING bind = $mainMod, H, layoutmsg, focus l #HYPRSCROLLING bind = $mainMod, J, layoutmsg, focus d #HYPRSCROLLING bind = $mainMod, K, layoutmsg, focus u #HYPRSCROLLING -- cgit v1.2.3 From 4f3d058db4b7471755cc7603f5c3b9bb0738a311 Mon Sep 17 00:00:00 2001 From: zachir Date: Sat, 26 Jul 2025 19:31:05 -0500 Subject: Fix scrolling on waybar workspaces --- waybar/config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/waybar/config b/waybar/config index 7f07eed..77e7e6d 100644 --- a/waybar/config +++ b/waybar/config @@ -62,8 +62,8 @@ "persistent-workspaces": { "eDP-1": [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ], }, - "on-scroll-up": "hyprctl dispatch split-workspace e+1", - "on-scroll-down": "hyprctl dispatch split-workspace e-1", + "on-scroll-up": "hyprctl dispatch split:workspace r+1", + "on-scroll-down": "hyprctl dispatch split:workspace r-1", "on-click": "activate" }, "sway/window": { -- cgit v1.2.3 From 837a8fa2fb1f942ecdc8076ca50e6620386b47f3 Mon Sep 17 00:00:00 2001 From: zachir Date: Sat, 26 Jul 2025 19:53:37 -0500 Subject: Add window rule for easyeffects --- hypr/hyprland.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 69fb6b9..ba1f623 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -205,6 +205,7 @@ plugin { # Example windowrule v2 # windowrule = float, class:^(kitty)$, title:^(kitty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +windowrulev2 = workspace special:easyeffects silent, class: ^(com\.github\.wwmm\.easyeffects)$ #}}} #{{{ Mods -- cgit v1.2.3 From d23734b67cd5e57ce1b8a3b2f2c37de45d48e8d3 Mon Sep 17 00:00:00 2001 From: zachir Date: Sat, 26 Jul 2025 20:27:37 -0500 Subject: Make scroll animations faster --- scroll/config | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scroll/config b/scroll/config index 1886bbc..fae0309 100644 --- a/scroll/config +++ b/scroll/config @@ -102,10 +102,10 @@ mouse_warping none # Animations animations { enabled yes - default yes 300 var 3 [ 0.215 0.61 0.355 1 ] - window_open yes 300 var 3 [ 0 0 1 1 ] - window_move yes 300 var 3 [ 0.215 0.61 0.355 1 ] off 0.05 6 [0 0.6 0.4 0 1 0 0.4 -0.6 1 -0.6] - window_size yes 300 var 3 [ -0.35 0 0 0.5 ] + default yes 100 var 3 [ 0.215 0.61 0.355 1 ] + window_open yes 100 var 3 [ 0 0 1 1 ] + window_move yes 100 var 3 [ 0.215 0.61 0.355 1 ] off 0.05 6 [0 0.6 0.4 0 1 0 0.4 -0.6 1 -0.6] + window_size yes 100 var 3 [ -0.35 0 0 0.5 ] } ### Key bindings -- cgit v1.2.3 From 83f2189e7234cad9054795b77b07d24ca0a7c742 Mon Sep 17 00:00:00 2001 From: zachir Date: Sat, 26 Jul 2025 20:37:37 -0500 Subject: Move scroll user.conf to config.d --- .gitignore | 2 +- Makefile | 9 +++------ scroll/config | 3 ++- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 6bd8fea..cf80b9b 100644 --- a/.gitignore +++ b/.gitignore @@ -237,7 +237,7 @@ RVXX EXEX.settings RVXX v2/ RVXX v2.settings SchildiChat/ -scroll/user.conf +scroll/config.d/user.conf Serenity/ Session/ Shibalba EXEX.settings diff --git a/Makefile b/Makefile index 24b5acd..ab6e0da 100644 --- a/Makefile +++ b/Makefile @@ -29,14 +29,11 @@ install-hyprland-plugins: @hyprpm enable hyprscrolling @echo "Done." -install-scrollconf: scroll/user.conf - @echo "Installing user.conf..." - @sudo ln -sf `pwd`/scroll/user.conf /etc/scroll/config.d/user.conf - @echo "Done." +install-scrollconf: scroll/config.d/user.conf -scroll/user.conf: +scroll/config.d/user.conf: @echo "Generating user.conf..." - @echo 'set $$home' $(shell echo $(HOME)) > scroll/user.conf + @echo 'set $$home' $(shell echo $(HOME)) > scroll/config.d/user.conf @echo "Done." install-bashconfigs: $(BCONFS) install-shconfigs diff --git a/scroll/config b/scroll/config index fae0309..c115cd9 100644 --- a/scroll/config +++ b/scroll/config @@ -6,7 +6,7 @@ # # Read `man 5 scroll` for a complete reference. -include /etc/scroll/config.d/* +include ~/.config/scroll/config.d/* ### Variables # @@ -575,3 +575,4 @@ bar { #} } # +include /etc/scroll/config.d/* -- cgit v1.2.3 From 97cdc7084e6928b9bcb962cd8c82832e70bf1a36 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sat, 26 Jul 2025 21:06:45 -0500 Subject: Make dir for scroll/config.d in Makefile --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index ab6e0da..1c66195 100644 --- a/Makefile +++ b/Makefile @@ -33,6 +33,7 @@ install-scrollconf: scroll/config.d/user.conf scroll/config.d/user.conf: @echo "Generating user.conf..." + @mkdir -p scroll/config.d @echo 'set $$home' $(shell echo $(HOME)) > scroll/config.d/user.conf @echo "Done." -- cgit v1.2.3 From d3de3f03fd3b57b0dc124747d7edd2de330f0d2d Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sat, 26 Jul 2025 21:06:59 -0500 Subject: Add binding to lock screen --- scroll/config | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scroll/config b/scroll/config index c115cd9..e689a61 100644 --- a/scroll/config +++ b/scroll/config @@ -124,8 +124,12 @@ animations { bindsym $mod+e exec $rmenu bindsym $mod+d exec $dmenu + # Launch your file manager bindsym $mod+Alt+f exec $filemanager + # Lock your screen + bindsym $mod+q exec loginctl lock-session + # Drag floating windows by holding down $mod and left mouse button. # Resize them with right mouse button + $mod. # Despite the name, also works for non-floating windows. -- cgit v1.2.3 From 309f88b7875c27e063062fdebe71058765b199ee Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sun, 27 Jul 2025 06:31:02 -0500 Subject: Fix brave menu xray on hyprland --- hypr/hyprland.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index ba1f623..059ba5a 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -206,6 +206,8 @@ plugin { # windowrule = float, class:^(kitty)$, title:^(kitty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more windowrulev2 = workspace special:easyeffects silent, class: ^(com\.github\.wwmm\.easyeffects)$ +# Fix brave xray menus +windowrulev2 = xray 0, class: ^(\s*), title: ^(\s*)$ #}}} #{{{ Mods -- cgit v1.2.3 From 3cd69e013903b053395d323d24fd71327a7018d3 Mon Sep 17 00:00:00 2001 From: zachir Date: Sun, 27 Jul 2025 20:24:12 -0500 Subject: Use movewindowto for all directions --- hypr/hyprland.conf | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 059ba5a..68948f5 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -240,11 +240,13 @@ $secdMod = ALT # hyprscrolling layout binds #bind = $mainMod+SHIFT, H, layoutmsg, move -1 #HYPRSCROLLING #bind = $mainMod+SHIFT, L, layoutmsg, move +1 #HYPRSCROLLING -bind = $mainMod+CTRL, H, layoutmsg, movewindowto l #HYPRSCROLLING -bind = $mainMod+CTRL, L, layoutmsg, movewindowto r #HYPRSCROLLING +bind = $mainMod+SHIFT, H, layoutmsg, movewindowto l #HYPRSCROLLING +bind = $mainMod+SHIFT, J, layoutmsg, movewindowto d #HYPRSCROLLING +bind = $mainMod+SHIFT, K, layoutmsg, movewindowto u #HYPRSCROLLING +bind = $mainMod+SHIFT, L, layoutmsg, movewindowto r #HYPRSCROLLING #bind = $mainMod+SHIFT, H, movewindow, l #HYPRSCROLLING -bind = $mainMod+SHIFT, L, movewindow, r #HYPRSCROLLING -bind = $mainMod+SHIFT, K, movewindow, u #HYPRSCROLLING +#bind = $mainMod+SHIFT, L, movewindow, r #HYPRSCROLLING +#bind = $mainMod+SHIFT, K, movewindow, u #HYPRSCROLLING #bind = $mainMod+SHIFT, J, movewindow, d #HYPRSCROLLING bind = $mainMod, H, layoutmsg, focus l #HYPRSCROLLING bind = $mainMod, J, layoutmsg, focus d #HYPRSCROLLING -- cgit v1.2.3 From a0abeab1c719c59f0c97adc3353e832826701938 Mon Sep 17 00:00:00 2001 From: zachir Date: Mon, 28 Jul 2025 12:22:27 -0500 Subject: Use swaysome for more awesome scroll workspaces --- scroll/config | 59 +++++++++++++++++++----------------- scroll/config.d/swaysome.conf | 69 +++++++++++++++++++++++++++++++++++++++++++ waybar/config | 51 +++++++++++++++++++++++++------- 3 files changed, 142 insertions(+), 37 deletions(-) create mode 100644 scroll/config.d/swaysome.conf diff --git a/scroll/config b/scroll/config index e689a61..8117844 100644 --- a/scroll/config +++ b/scroll/config @@ -6,7 +6,10 @@ # # Read `man 5 scroll` for a complete reference. -include ~/.config/scroll/config.d/* +include /etc/scroll/config.d/* + +# This includes config.d/user.conf, which should set the $home variable +include ~/.config/scroll/config.d/user.conf ### Variables # @@ -179,36 +182,38 @@ animations { bindsym $mod+Shift+j focus output down bindsym $mod+Shift+k focus output up bindsym $mod+Shift+l focus output right -# -# Workspaces: -# - # Switch to workspace - bindsym $mod+1 workspace number 1 - bindsym $mod+2 workspace number 2 - bindsym $mod+3 workspace number 3 - bindsym $mod+4 workspace number 4 - bindsym $mod+5 workspace number 5 - bindsym $mod+6 workspace number 6 - bindsym $mod+7 workspace number 7 - bindsym $mod+8 workspace number 8 - bindsym $mod+9 workspace number 9 - # Move focused container to workspace - bindsym $mod+Shift+1 move container to workspace number 1; workspace number 1 - bindsym $mod+Shift+2 move container to workspace number 2; workspace number 2 - bindsym $mod+Shift+3 move container to workspace number 3; workspace number 3 - bindsym $mod+Shift+4 move container to workspace number 4; workspace number 4 - bindsym $mod+Shift+5 move container to workspace number 5; workspace number 5 - bindsym $mod+Shift+6 move container to workspace number 6; workspace number 6 - bindsym $mod+Shift+7 move container to workspace number 7; workspace number 7 - bindsym $mod+Shift+8 move container to workspace number 8; workspace number 8 - bindsym $mod+Shift+9 move container to workspace number 9; workspace number 9 - # Note: workspaces can have any name you want, not just numbers. - # We just use 1-10 as the default. + # Move window to other monitors bindsym $mod+Shift+Ctrl+h move container to output left bindsym $mod+Shift+Ctrl+j move container to output down bindsym $mod+Shift+Ctrl+k move container to output up bindsym $mod+Shift+Ctrl+l move container to output right +## +## Workspaces: +## NOW USING SWAYSOME +## +# # Switch to workspace +# bindsym $mod+1 workspace number 1 +# bindsym $mod+2 workspace number 2 +# bindsym $mod+3 workspace number 3 +# bindsym $mod+4 workspace number 4 +# bindsym $mod+5 workspace number 5 +# bindsym $mod+6 workspace number 6 +# bindsym $mod+7 workspace number 7 +# bindsym $mod+8 workspace number 8 +# bindsym $mod+9 workspace number 9 +# # Move focused container to workspace +# bindsym $mod+Shift+1 move container to workspace number 1; workspace number 1 +# bindsym $mod+Shift+2 move container to workspace number 2; workspace number 2 +# bindsym $mod+Shift+3 move container to workspace number 3; workspace number 3 +# bindsym $mod+Shift+4 move container to workspace number 4; workspace number 4 +# bindsym $mod+Shift+5 move container to workspace number 5; workspace number 5 +# bindsym $mod+Shift+6 move container to workspace number 6; workspace number 6 +# bindsym $mod+Shift+7 move container to workspace number 7; workspace number 7 +# bindsym $mod+Shift+8 move container to workspace number 8; workspace number 8 +# bindsym $mod+Shift+9 move container to workspace number 9; workspace number 9 +# # Note: workspaces can have any name you want, not just numbers. +# # We just use 1-10 as the default. # Scaling # Workspace @@ -579,4 +584,4 @@ bar { #} } # -include /etc/scroll/config.d/* +include ~/.config/scroll/config.d/* diff --git a/scroll/config.d/swaysome.conf b/scroll/config.d/swaysome.conf new file mode 100644 index 0000000..eebf6a3 --- /dev/null +++ b/scroll/config.d/swaysome.conf @@ -0,0 +1,69 @@ +# vim: ft=swayconfig +# +# Use (un)bindcode or (un)bindsym, depending on what you used in your main sway config file. +# The `--no-warn` setting is only added to shortcuts that exist in the default config. You may want to add or remove +# that flag on some bindings depending on your config. + + +# Change focus between workspaces +bindsym --no-warn $mod+1 exec "swaysome focus 1" +bindsym --no-warn $mod+2 exec "swaysome focus 2" +bindsym --no-warn $mod+3 exec "swaysome focus 3" +bindsym --no-warn $mod+4 exec "swaysome focus 4" +bindsym --no-warn $mod+5 exec "swaysome focus 5" +bindsym --no-warn $mod+6 exec "swaysome focus 6" +bindsym --no-warn $mod+7 exec "swaysome focus 7" +bindsym --no-warn $mod+8 exec "swaysome focus 8" +bindsym --no-warn $mod+9 exec "swaysome focus 9" +#bindsym --no-warn $mod+0 exec "swaysome focus 0" + +# Move containers between workspaces +bindsym --no-warn $mod+Shift+1 exec "swaysome move 1" +bindsym --no-warn $mod+Shift+2 exec "swaysome move 2" +bindsym --no-warn $mod+Shift+3 exec "swaysome move 3" +bindsym --no-warn $mod+Shift+4 exec "swaysome move 4" +bindsym --no-warn $mod+Shift+5 exec "swaysome move 5" +bindsym --no-warn $mod+Shift+6 exec "swaysome move 6" +bindsym --no-warn $mod+Shift+7 exec "swaysome move 7" +bindsym --no-warn $mod+Shift+8 exec "swaysome move 8" +bindsym --no-warn $mod+Shift+9 exec "swaysome move 9" +#bindsym --no-warn $mod+Shift+0 exec "swaysome move 0" + +# Focus workspace groups +bindsym $mod+Alt+1 exec "swaysome focus-group 1" +bindsym $mod+Alt+2 exec "swaysome focus-group 2" +bindsym $mod+Alt+3 exec "swaysome focus-group 3" +bindsym $mod+Alt+4 exec "swaysome focus-group 4" +bindsym $mod+Alt+5 exec "swaysome focus-group 5" +bindsym $mod+Alt+6 exec "swaysome focus-group 6" +bindsym $mod+Alt+7 exec "swaysome focus-group 7" +bindsym $mod+Alt+8 exec "swaysome focus-group 8" +bindsym $mod+Alt+9 exec "swaysome focus-group 9" +#bindsym $mod+Alt+0 exec "swaysome focus-group 0" + +# Move containers to other workspace groups +bindsym $mod+Alt+Shift+1 exec "swaysome move-to-group 1" +bindsym $mod+Alt+Shift+2 exec "swaysome move-to-group 2" +bindsym $mod+Alt+Shift+3 exec "swaysome move-to-group 3" +bindsym $mod+Alt+Shift+4 exec "swaysome move-to-group 4" +bindsym $mod+Alt+Shift+5 exec "swaysome move-to-group 5" +bindsym $mod+Alt+Shift+6 exec "swaysome move-to-group 6" +bindsym $mod+Alt+Shift+7 exec "swaysome move-to-group 7" +bindsym $mod+Alt+Shift+8 exec "swaysome move-to-group 8" +bindsym $mod+Alt+Shift+9 exec "swaysome move-to-group 9" +#bindsym $mod+Alt+Shift+0 exec "swaysome move-to-group 0" + +# Move focused container to next output +bindsym $mod+o exec "swaysome next-output" +# Move focused container to previous output +bindsym $mod+Shift+o exec "swaysome prev-output" + +# Move focused workspace group to next output +bindsym $mod+Alt+o exec "swaysome workspace-group-next-output" +# Move focused workspace group to previous output +bindsym $mod+Alt+Shift+o exec "swaysome workspace-group-prev-output" + +# Init workspaces for every screen +exec "swaysome init 1" + + diff --git a/waybar/config b/waybar/config index 77e7e6d..b480559 100644 --- a/waybar/config +++ b/waybar/config @@ -18,17 +18,48 @@ "sway/workspaces": { "all-outputs": false, "persistent-workspaces": { - "1": ["eDP-1"], - "2": ["eDP-1"], - "3": ["eDP-1"], - "4": ["eDP-1"], - "5": ["eDP-1"], - "6": ["eDP-1"], - "7": ["eDP-1"], - "8": ["eDP-1"], - "9": ["eDP-1"], + "11": ["DP-2"], + "12": ["DP-2"], + "13": ["DP-2"], + "14": ["DP-2"], + "15": ["DP-2"], + "16": ["DP-2"], + "17": ["DP-2"], + "18": ["DP-2"], + "19": ["DP-2"], + }, + "format": "{icon}", + "format-icons": { + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7", + "8": "8", + "9": "9", + "10": "0", + "11": "1", + "12": "2", + "13": "3", + "14": "4", + "15": "5", + "16": "6", + "17": "7", + "18": "8", + "19": "9", + "20": "0", + "21": "1", + "22": "2", + "23": "3", + "24": "4", + "25": "5", + "26": "6", + "27": "7", + "28": "8", + "29": "9", }, - "format": "{value}", }, "niri/workspaces": { "format": "{value}", -- cgit v1.2.3 From 0de3a40a14d40a74947ca84396bf0a5b76152377 Mon Sep 17 00:00:00 2001 From: zachir Date: Mon, 28 Jul 2025 12:22:55 -0500 Subject: Add restart script keybind to scroll --- scroll/config | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scroll/config b/scroll/config index 8117844..15c9f1d 100644 --- a/scroll/config +++ b/scroll/config @@ -126,6 +126,9 @@ animations { # Start your launcher bindsym $mod+e exec $rmenu bindsym $mod+d exec $dmenu + + # Start restart menu + bindsym $mod+r exec rs # Launch your file manager bindsym $mod+Alt+f exec $filemanager -- cgit v1.2.3 From 8a2c32014dc380cf9fc92e60c2ebe5f01f2930e3 Mon Sep 17 00:00:00 2001 From: zachir Date: Mon, 28 Jul 2025 13:01:03 -0500 Subject: Fix formatting in waybar cnofig --- waybar/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/waybar/config b/waybar/config index b480559..d9fcbda 100644 --- a/waybar/config +++ b/waybar/config @@ -5,7 +5,7 @@ //"output": "%%DISPLAY%%", "spacing": 4, //"margin-top": 5, - //"margin-bottom":5, + //"margin-bottom": 5, // Choose the order of the modules -- cgit v1.2.3 From 8bc4e11ba7d4ad30f09c376e5ba31d5563471cba Mon Sep 17 00:00:00 2001 From: zachir Date: Mon, 28 Jul 2025 13:01:17 -0500 Subject: eDP-1 is the only display in master --- waybar/config | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/waybar/config b/waybar/config index d9fcbda..25fb4dc 100644 --- a/waybar/config +++ b/waybar/config @@ -18,15 +18,15 @@ "sway/workspaces": { "all-outputs": false, "persistent-workspaces": { - "11": ["DP-2"], - "12": ["DP-2"], - "13": ["DP-2"], - "14": ["DP-2"], - "15": ["DP-2"], - "16": ["DP-2"], - "17": ["DP-2"], - "18": ["DP-2"], - "19": ["DP-2"], + "11": ["eDP-1"], + "12": ["eDP-1"], + "13": ["eDP-1"], + "14": ["eDP-1"], + "15": ["eDP-1"], + "16": ["eDP-1"], + "17": ["eDP-1"], + "18": ["eDP-1"], + "19": ["eDP-1"], }, "format": "{icon}", "format-icons": { -- cgit v1.2.3 From 15c221f1edd7b623edf4bcfb79ee2e993ca7d04c Mon Sep 17 00:00:00 2001 From: zachir Date: Mon, 28 Jul 2025 13:14:20 -0500 Subject: Remove debugging stuff from scratchpad.lua --- scroll/scripts/scratchpad.lua | 2 -- 1 file changed, 2 deletions(-) diff --git a/scroll/scripts/scratchpad.lua b/scroll/scripts/scratchpad.lua index 6972843..2235c33 100644 --- a/scroll/scripts/scratchpad.lua +++ b/scroll/scripts/scratchpad.lua @@ -11,7 +11,6 @@ for i, arg in ipairs(args) do terminal = true else command = arg - --terminal = true end elseif (terminal == true) then command = arg @@ -19,7 +18,6 @@ for i, arg in ipairs(args) do end end ---scroll.command(nil, "exec notify-send \"Spawn command\" \"" .. command .. "\"") local function exists(id) local is_in_array = false -- cgit v1.2.3 From 98d4473f1c9783c7bc8f01208f1996b2e40e53ce Mon Sep 17 00:00:00 2001 From: zachir Date: Mon, 28 Jul 2025 13:14:42 -0500 Subject: Add fallback to scrathpad.lua so command should always be defind --- scroll/scripts/scratchpad.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scroll/scripts/scratchpad.lua b/scroll/scripts/scratchpad.lua index 2235c33..e581cc1 100644 --- a/scroll/scripts/scratchpad.lua +++ b/scroll/scripts/scratchpad.lua @@ -6,6 +6,9 @@ local command = nil for i, arg in ipairs(args) do if i <= 1 then id = arg + if #args == 1 then + command = arg + end elseif i == 2 then if (arg == "kitty") then terminal = true @@ -18,6 +21,7 @@ for i, arg in ipairs(args) do end end +command = command or "kitty" local function exists(id) local is_in_array = false -- cgit v1.2.3 From 0ff1806f2c2d690238c373b8f65ba40f569301d7 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Wed, 30 Jul 2025 02:40:49 -0500 Subject: Use JetBrainsMono Nerd Font instead of Fira Code --- X11/xresources | 8 ++++---- alacritty/alacritty.yml | 8 ++++---- awesome/rc.lua | 2 +- awesome/themes/zachir/theme.lua | 6 +++--- dunst/dunstrc | 2 +- kitty/kitty.conf | 4 ++-- rofi/dmenu.rasi | 2 +- sxhkd/sxhkdrc | 4 ++-- tofi/cosmic | 2 +- tofi/themes/dmenu | 2 +- tofi/themes/dmenu_vertical | 2 +- waybar/style.css | 2 +- 12 files changed, 22 insertions(+), 22 deletions(-) diff --git a/X11/xresources b/X11/xresources index 13799fc..7d2525a 100644 --- a/X11/xresources +++ b/X11/xresources @@ -1,6 +1,6 @@ !! dmenu -dmenu.font: FiraCode Nerd Font Mono:size=24 +dmenu.font: JetBrainsMono Nerd Font:size=24 !! dwm @@ -30,7 +30,7 @@ st.termname: st-256color st.shell: /usr/bin/tmux ! The following options options can be reloaded via USR1 signal. -!st.font: FiraCode Nerd Font Mono:pixelsize=12:antialias=true:autohint=true; +!st.font: JetBrainsMono Nerd Font:pixelsize=12:antialias=true:autohint=true; !st.font2: Symbola:pixelsize=12:antialias=true:autohint=true; st.borderpx: 3 ! st alpha @@ -76,7 +76,7 @@ URxvt.secondaryScreen: 1 URxvt.secondaryScroll: 0 URxvt.secondaryWheel: 1 ! URxvt font -URxvt.font: xft:FiraCode:regular:size=8,xft:symbola:regular:size=9 +URxvt.font: xft:JetBrainsMono:regular:size=8,xft:symbola:regular:size=9 ! fix font spacing URxvt.letterSpace: -1 ! Disable printing @@ -119,7 +119,7 @@ rofi.width: 1366 ! "Number of columns" Set from: Default ! rofi.columns: 1 ! "Font to use" Set from: Default -rofi.font: FiraCode 9 +rofi.font: JetBrainsMono 9 ! "Border width" Set from: Default ! rofi.bw: 1 ! "Location on screen" Set from: Default diff --git a/alacritty/alacritty.yml b/alacritty/alacritty.yml index 1bd8532..0b30805 100644 --- a/alacritty/alacritty.yml +++ b/alacritty/alacritty.yml @@ -115,7 +115,7 @@ font: # - (macOS) Menlo # - (Linux/BSD) monospace # - (Windows) Consolas - family: FiraCode Nerd Font Mono + family: JetBrainsMono Nerd Font # The `style` can be specified to pick a specific face. style: Regular @@ -126,7 +126,7 @@ font: # # If the bold family is not specified, it will fall back to the # value specified for the normal font. - family: FiraCode Nerd Font Mono + family: JetBrainsMono Nerd Font # The `style` can be specified to pick a specific face. style: Bold @@ -137,7 +137,7 @@ font: # # If the italic family is not specified, it will fall back to the # value specified for the normal font. - family: FiraCode Nerd Font Mono + family: JetBrainsMono Nerd Font # The `style` can be specified to pick a specific face. style: Italic @@ -148,7 +148,7 @@ font: # # If the bold italic family is not specified, it will fall back to the # value specified for the normal font. - family: FiraCode Nerd Font Mono + family: JetBrainsMono Nerd Font # The `style` can be specified to pick a specific face. style: Bold Italic diff --git a/awesome/rc.lua b/awesome/rc.lua index fda4f16..7fa49ef 100644 --- a/awesome/rc.lua +++ b/awesome/rc.lua @@ -58,7 +58,7 @@ awesome_config_folder = config_dir .. "awesome" theme.dir = string.format("%s/awesome/themes/%s", config_dir, theme.name) beautiful.init(theme.dir .. "/theme.lua") beautiful.useless_gap = 5 -font = beautiful.font or "FiraCode Nerd Font Mono 18" +font = beautiful.font or "JetBrainsMono Nerd Font 18" -- Library I'm using for swallowing, but it does much more diff --git a/awesome/themes/zachir/theme.lua b/awesome/themes/zachir/theme.lua index b54c3c6..30a575a 100644 --- a/awesome/themes/zachir/theme.lua +++ b/awesome/themes/zachir/theme.lua @@ -12,8 +12,8 @@ local themes_path = gfs.get_themes_dir() local theme = {} -theme.font = "FiraCode Nerd Font Mono 18" -theme.font2 = "FiraCode Nerd Font Mono 12" +theme.font = "JetBrainsMono Nerd Font 18" +theme.font2 = "JetBrainsMono Nerd Font 12" theme.bg_normal = xrdb.background theme.bg_focus = xrdb.color2 @@ -162,7 +162,7 @@ theme.tabbar_disable = false -- disable the tab bar entirely theme.tabbar_ontop = false theme.tabbar_radius = 0 -- border radius of the tabbar theme.tabbar_style = "default" -- style of the tabbar ("default", "boxes" or "modern") -theme.tabbar_font = "FiraCode Nerd Font Mono 24" -- font of the tabbar +theme.tabbar_font = "JetBrainsMono Nerd Font 24" -- font of the tabbar theme.tabbar_size = 40 -- size of the tabbar theme.tabbar_position = "top" -- position of the tabbar theme.tabbar_bg_normal = "#000000" -- background color of the focused client on the tabbar diff --git a/dunst/dunstrc b/dunst/dunstrc index 4bdcfba..6377f26 100644 --- a/dunst/dunstrc +++ b/dunst/dunstrc @@ -86,7 +86,7 @@ ### Text ### - font = FiraCode Nerd Font Mono 18 + font = JetBrainsMono Nerd Font 18 # The spacing between lines. If the height is smaller than the # font height, it will get raised to the font height. diff --git a/kitty/kitty.conf b/kitty/kitty.conf index 095607b..7afcb30 100644 --- a/kitty/kitty.conf +++ b/kitty/kitty.conf @@ -6,7 +6,7 @@ #: individual font faces and even specify special fonts for particular #: characters. -font_family FiraCode Nerd Font Mono +font_family JetBrainsMono Nerd Font bold_font auto italic_font auto bold_italic_font auto @@ -24,7 +24,7 @@ bold_italic_font auto #: italic_font Operator Mono Book Italic #: bold_italic_font Operator Mono Medium Italic -font_size 11.0 +font_size 15.0 #: Font size (in pts) diff --git a/rofi/dmenu.rasi b/rofi/dmenu.rasi index 6fd198a..2ac7745 100644 --- a/rofi/dmenu.rasi +++ b/rofi/dmenu.rasi @@ -8,7 +8,7 @@ background-color: Black; border-color: White; text-color: White; - font: "FiraCode Nerd Font Mono 12"; + font: "JetBrainsMono Nerd Font 12"; } window { anchor: north; diff --git a/sxhkd/sxhkdrc b/sxhkd/sxhkdrc index a38f356..96ca393 100755 --- a/sxhkd/sxhkdrc +++ b/sxhkd/sxhkdrc @@ -12,11 +12,11 @@ super + Escape # program launcher super + d - dmenu_run -i -l 15 -h 36 -fn 'FiraCode Nerd Font Mono' -nb '#000' -nf '#c5c8c6' -sb '#198844' -sf '#000' + dmenu_run -i -l 15 -h 36 -fn 'JetBrainsMono Nerd Font' -nb '#000' -nf '#c5c8c6' -sb '#198844' -sf '#000' # desktop application launcher super + r - j4-dmenu-desktop --dmenu="dmenu -i -l 15 -h 36 -fn 'FiraCode Nerd Font Mono' -nb '#000' -nf '#c5c8c6' -sb '#198844' -sf '#000'" + j4-dmenu-desktop --dmenu="dmenu -i -l 15 -h 36 -fn 'JetBrainsMono Nerd Font' -nb '#000' -nf '#c5c8c6' -sb '#198844' -sf '#000'" # dmenu prompt for recording super + control + r diff --git a/tofi/cosmic b/tofi/cosmic index 8be1a31..b339f73 100644 --- a/tofi/cosmic +++ b/tofi/cosmic @@ -7,7 +7,7 @@ height = 32 horizontal = true font-size = 18 prompt-text = "" -font = FiraCode Nerd Font Mono +font = JetBrainsMono Nerd Font outline-width = 0 border-width = 0 min-input-width = 424 diff --git a/tofi/themes/dmenu b/tofi/themes/dmenu index 82cff1d..8af8c80 100644 --- a/tofi/themes/dmenu +++ b/tofi/themes/dmenu @@ -7,7 +7,7 @@ height = 36 horizontal = true font-size = 18 prompt-text = "" -font = FiraCode Nerd Font Mono +font = JetBrainsMono Nerd Font outline-width = 0 border-width = 0 min-input-width = 424 diff --git a/tofi/themes/dmenu_vertical b/tofi/themes/dmenu_vertical index 6357b5a..2e95559 100644 --- a/tofi/themes/dmenu_vertical +++ b/tofi/themes/dmenu_vertical @@ -8,7 +8,7 @@ horizontal = false font-size = 18 prompt-text = "" prompt-padding = 18 -font = FiraCode Nerd Font Mono +font = JetBrainsMono Nerd Font outline-width = 0 border-width = 0 min-input-width = 424 diff --git a/waybar/style.css b/waybar/style.css index 9398381..0a4431c 100644 --- a/waybar/style.css +++ b/waybar/style.css @@ -3,7 +3,7 @@ margin: 0px; border-radius: 0px; /* `otf-font-awesome` is required to be installed for icons */ - font-family: FiraCode Nerd Font Mono; + font-family: JetBrainsMono Nerd Font; font-size: 18px; min-height: 0px; min-width: 0px; -- cgit v1.2.3 From b22f6afb388054996a43626e6da2bb7bb93e15c8 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Wed, 30 Jul 2025 02:41:27 -0500 Subject: Use ePapirus-Dark instead of COSMIC --- gtk-2.0/gtkrc | 6 +++--- gtk-3.0/settings.ini | 6 +++--- xsettingsd/xsettingsd.conf | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gtk-2.0/gtkrc b/gtk-2.0/gtkrc index 628ed00..f569e9b 100644 --- a/gtk-2.0/gtkrc +++ b/gtk-2.0/gtkrc @@ -2,9 +2,9 @@ # Any customization should be done in ~/.gtkrc-2.0.mine instead. include "/home/zachir/.gtkrc-2.0.mine" -gtk-theme-name="Flat-Remix-GTK-Green-Darkest-Solid" -gtk-icon-theme-name="Cosmic" -gtk-font-name="Cantarell 11" +gtk-theme-name="Flat-Remix-GTK-Green-Darkest" +gtk-icon-theme-name="ePapirus-Dark" +gtk-font-name="Noto Sans, 10" gtk-cursor-theme-name="BreezeX-Black" gtk-cursor-theme-size=32 gtk-toolbar-style=3 diff --git a/gtk-3.0/settings.ini b/gtk-3.0/settings.ini index 28ef3a0..310ac7b 100644 --- a/gtk-3.0/settings.ini +++ b/gtk-3.0/settings.ini @@ -1,7 +1,7 @@ [Settings] -gtk-theme-name=Flat-Remix-GTK-Green-Darkest-Solid -gtk-icon-theme-name=Cosmic -gtk-font-name=Cantarell 11 +gtk-theme-name=Flat-Remix-GTK-Green-Darkest +gtk-icon-theme-name=ePapirus-Dark +gtk-font-name=Noto Sans, 10 gtk-cursor-theme-name=BreezeX-Black gtk-cursor-theme-size=32 gtk-toolbar-style=3 diff --git a/xsettingsd/xsettingsd.conf b/xsettingsd/xsettingsd.conf index c4ab3db..47a327b 100644 --- a/xsettingsd/xsettingsd.conf +++ b/xsettingsd/xsettingsd.conf @@ -1,5 +1,5 @@ -Net/ThemeName "Flat-Remix-GTK-Green-Darkest-Solid" -Net/IconThemeName "Cosmic" +Net/ThemeName "Flat-Remix-GTK-Green-Darkest" +Net/IconThemeName "ePapirus-Dark" Gtk/CursorThemeName "BreezeX-Black" Net/EnableEventSounds 1 EnableInputFeedbackSounds 0 -- cgit v1.2.3 From 6e529ca13fd6c9f273cccce6d788c9940b473c6d Mon Sep 17 00:00:00 2001 From: ZachIR Date: Wed, 30 Jul 2025 02:42:52 -0500 Subject: Add maximize when only lua script for scroll --- scroll/config | 7 ++++++- scroll/scripts/maximize_when_only.lua | 38 +++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 scroll/scripts/maximize_when_only.lua diff --git a/scroll/config b/scroll/config index 15c9f1d..889da2e 100644 --- a/scroll/config +++ b/scroll/config @@ -100,6 +100,8 @@ layout_heights [0.33333333 0.5 0.666666667 1.0] fullscreen_movefocus true +focus_follows_mouse yes + mouse_warping none # Animations @@ -511,7 +513,7 @@ bindsym $mod+Alt+comma exec dmount # Launch dmenuumount dmenu umount script bindsym $mod+Alt+period exec dmenuumount -focus_wrapping no +focus_wrapping yes bindgesture swipe:4:right workspace next bindgesture swipe:4:left workspace prev @@ -521,6 +523,9 @@ bindgesture swipe:4:up scale_workspace overview # Enable window swallowing (of mpv specifically) lua $scripts/swallow.lua +# Enable maximize when only +lua $scripts/maximize_when_only.lua + # Scratchpads for_window [app_id="sphtop"] move scratchpad for_window [app_id="sphtop"] scratchpad show diff --git a/scroll/scripts/maximize_when_only.lua b/scroll/scripts/maximize_when_only.lua new file mode 100644 index 0000000..a047180 --- /dev/null +++ b/scroll/scripts/maximize_when_only.lua @@ -0,0 +1,38 @@ +local args, state = ... + +local maximized_containers = scroll.state_get_value(state, "maximized_containers") or {} + +local debug_notify = function(msg) + scroll.command(nil, "exec notify-send " .. msg) +end + +local maximize_container = function(container, workspace) + local wf = scroll.container_get_width_fraction(container) + local hf = scroll.container_get_height_fraction(container) + maximized_containers[workspace] = { container = container, wf = wf, hf = hf, workspace = workspace } + scroll.state_set_value(state, "maximized_containers", maximized_containers) + scroll.command(container, "set_size h 1.0") + scroll.command(container, "set_size v 1.0") +end + +local maximize_when_only = function() + local focused_workspace = scroll.focused_workspace() + local containers = scroll.workspace_get_tiling(focused_workspace) + local focused_container = scroll.focused_container() + local maximized_container = maximized_containers[focused_workspace] + if #containers == 1 then + if not maximized_container or (maximized_container and maximized_container.container ~= focused_container) then + -- debug_notify("Maximizing") + maximize_container(focused_container, focused_workspace) + end + elseif #containers > 1 and maximized_container then + -- debug_notify("Shrinking") + scroll.command(maximized_container.container, "set_size h " .. maximized_container.wf) + scroll.command(maximized_container.container, "set_size v " .. maximized_container.hf) + maximized_containers[focused_workspace] = nil + scroll.state_set_value(state, "maximized_containers", maximized_containers) + end + scroll.command(focused_container, "nop") +end + +scroll.add_callback("view_focus", maximize_when_only, nil) -- cgit v1.2.3 From ec330589a41b423950fe49449248edb546961383 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Wed, 30 Jul 2025 02:44:19 -0500 Subject: Add json syntax highlighting to waybar config --- waybar/config | 1 + 1 file changed, 1 insertion(+) diff --git a/waybar/config b/waybar/config index 25fb4dc..5807b92 100644 --- a/waybar/config +++ b/waybar/config @@ -1,3 +1,4 @@ +// vim: set filetype=json5 : { "layer": "bottom", "position": "top", -- cgit v1.2.3 From 66a55d31d6cfa115c99a7fe3c93fbbed7901fe8e Mon Sep 17 00:00:00 2001 From: ZachIR Date: Wed, 30 Jul 2025 04:23:51 -0500 Subject: Add custom/battery for while battery is broken --- waybar/config | 9 +++++++-- waybar/style.css | 5 +++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/waybar/config b/waybar/config index 5807b92..9246fa2 100644 --- a/waybar/config +++ b/waybar/config @@ -160,8 +160,8 @@ "format": "{}% " }, "battery": { - "bat": "BAT0", - "interval": 60, + //"bat": "BAT0", + //"interval": 60, "state": { "warning": 30, "critical": 15 @@ -214,6 +214,11 @@ "on-click": "rofi -show drun", //"on-click-right": "killall rofi" }, + "custom/battery":{ + "interval": 60, + "format": "{}%", + "exec": "cat /sys/class/power_supply/BAT0/capacity", + }, "custom/power":{ "format": "", "on-click": "rofi -show p -modi p:rofi-power-menu", diff --git a/waybar/style.css b/waybar/style.css index 0a4431c..865e806 100644 --- a/waybar/style.css +++ b/waybar/style.css @@ -89,6 +89,7 @@ window#waybar.hidden { #custom-media, #custom-launcher, #custom-power, +#custom-battery, #custom-layout, #custom-updater, #custom-snip, @@ -215,7 +216,11 @@ label:focus { background-color: #1b1d1c; font-size: 18px; margin-right: 5px; +} +#custom-battery{ + background-color: #1b1d1c; + font-size: 18px; } #custom-launcher{ -- cgit v1.2.3 From d1412fdffa7388d04c01a26ab89cef8151efde6e Mon Sep 17 00:00:00 2001 From: ZachIR Date: Wed, 30 Jul 2025 05:06:22 -0500 Subject: Restore battery waybar settings in case it starts working again --- waybar/config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/waybar/config b/waybar/config index 9246fa2..7775078 100644 --- a/waybar/config +++ b/waybar/config @@ -160,8 +160,8 @@ "format": "{}% " }, "battery": { - //"bat": "BAT0", - //"interval": 60, + "bat": "BAT0", + "interval": 60, "state": { "warning": 30, "critical": 15 -- cgit v1.2.3 From 218e54aa900ba4e469a405f3e81bf00e024b228d Mon Sep 17 00:00:00 2001 From: ZachIR Date: Wed, 30 Jul 2025 05:06:51 -0500 Subject: Expand custom/battery module --- waybar/config | 8 +++++--- waybar/style.css | 15 +++++++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/waybar/config b/waybar/config index 7775078..933dedc 100644 --- a/waybar/config +++ b/waybar/config @@ -215,9 +215,11 @@ //"on-click-right": "killall rofi" }, "custom/battery":{ - "interval": 60, - "format": "{}%", - "exec": "cat /sys/class/power_supply/BAT0/capacity", + "interval": 15, + "format": "{percentage}%", + "return-type": "json", + "exec": "custom-battery", + "tooltip": true, }, "custom/power":{ "format": "", diff --git a/waybar/style.css b/waybar/style.css index 865e806..ff6dc9a 100644 --- a/waybar/style.css +++ b/waybar/style.css @@ -223,6 +223,21 @@ label:focus { font-size: 18px; } +#custom-battery.battery_low{ + background-color: yellow; + color: #1b1d1c; +} + +#custom-battery.battery_crit{ + background-color: red; + color: #1b1d1c; +} + +#custom-battery.battery_charging{ + background-color: #1d1b1c; + color: #198844; +} + #custom-launcher{ background-color: #1b1d1c; font-size: 20px; -- cgit v1.2.3 From a18b9a97b6c3262da597efd0b4afc0b27b7f2e1f Mon Sep 17 00:00:00 2001 From: ZachIR Date: Wed, 30 Jul 2025 04:06:13 -0500 Subject: Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2644588..9a783de 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ make install` Note that the `make install` will only install the files that are required to be in the home dir to their corresponding place as hard links and install vimplug -for neovim, vim, or both (depending on which are installed). Make sure to save -changes to these files before running `make install`! Additionally, if you only -want my configs for specific programs, I would recommend cloning it into a -separate directory and avoiding the `make install`. +for vim if it is installed. Make sure to save changes to these files before +running `make install`! Additionally, if you only want my configs for specific +programs, I would recommend cloning it into a separate directory and avoiding +the `make install`. -- cgit v1.2.3 From 758bf486be2560343561b1d03bffe998f6f932b4 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Wed, 30 Jul 2025 05:10:56 -0500 Subject: Don't swallow dragon-drop --- hypr/hyprland.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 68948f5..0547c21 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -106,7 +106,7 @@ misc { disable_splash_rendering = true enable_swallow = true swallow_regex = ^(kitty)$ - swallow_exception_regex = ^(wev|.*ueberzug|n?vi?m? .*)$ + swallow_exception_regex = ^(wev|.*ueberzug|n?vi?m? .*|.*dragon.*)$ vfr = true vrr = 3 } -- cgit v1.2.3 From 08655b7b49d8c970b1f0020ccc807209c298c127 Mon Sep 17 00:00:00 2001 From: zachir Date: Wed, 30 Jul 2025 07:12:19 -0500 Subject: Add transparent black background to waybar --- waybar/style.css | 1 + 1 file changed, 1 insertion(+) diff --git a/waybar/style.css b/waybar/style.css index ff6dc9a..6ecb923 100644 --- a/waybar/style.css +++ b/waybar/style.css @@ -14,6 +14,7 @@ window#waybar { color: #ffffff; transition-property: background-color; transition-duration: .5s; + background: rgba(0, 0, 0, 0.2); } window#waybar.hidden { -- cgit v1.2.3