diff --git a/config/hypr/bindings.conf b/config/hypr/bindings.conf deleted file mode 100644 index 6b209ae..0000000 --- a/config/hypr/bindings.conf +++ /dev/null @@ -1,93 +0,0 @@ -source = ./bindings/media.conf -source = ./bindings/tiling.conf -source = ./bindings/utilities.conf - -# Lid Switch -#bindl = , switch:on:Lid Switch, exec, hyprctl keyword monitor eDP-1, disable -#bindl = , switch:off:Lid Switch, exec, hyprctl keyword monitor eDP-1, preferred, auto, auto - -# Applications - -# See https://wiki.hypr.land/Configuring/Keywords/ -$mainMod = SUPER # Sets "Windows" key as main modifier - -bindd = $mainMod, B, Launch Browser, exec, firefox -bindd = $mainMod SHIFT, B, Launch Browser (Private window), exec, firefox --private-window -bindd = $mainMod, M, Spotify, exec, flatpak run com.spotify.Client -bindd = $mainMod, T, System Monitor, exec, $terminal btop -bindd = $mainMod, I, Todoist, exec, todoist -bindd = $mainMod, O, Obsidian, exec, obsidian -bindd = $mainMod, G, Telegram, exec, Telegram -bindd = $mainMod SHIFT, G, Signal, exec, signal-desktop --password-store="gnome-libsecret" -bindd = $mainMod, F, WhatsApp, exec, omarchy-launch-webapp https://web.whatsapp.com -bindd = $mainMod SHIFT, F, Element, exec, element-desktop --password-store="gnome-libsecret" -bindd = $mainMod, A, Gemini, exec, omarchy-launch-webapp https://gemini.google.com -bindd = $mainMod SHIFT, A, Perplexity, exec, omarchy-launch-webapp https://perplexity.ai -bindd = $mainMod, H, Home Assistant, exec, omarchy-launch-webapp https://ha.vektron.casa -bindd = $mainMod, S, Audio Settings, exec, $terminal wiremix --tab configuration - -bind = $mainMod, return, exec, $terminal -bind = $mainMod, Q, killactive, -bind = $mainMod SHIFT ALT, Q, exit, -bind = $mainMod, E, exec, $fileManager -#bind = $mainMod, V, togglefloating, -bind = $mainMod, R, exec, $menu -bind = $mainMod, P, pseudo, # dwindle -#bind = $mainMod, J, togglesplit, # dwindle -bindd = $mainMod, L, Lock screen, exec, ~/.config/hypr/scripts/lock-screen - -## Move focus with mainMod + arrow keys -#bind = $mainMod, left, movefocus, l -#bind = $mainMod, right, movefocus, r -#bind = $mainMod, up, movefocus, u -#bind = $mainMod, down, movefocus, d -# -## Switch workspaces with mainMod + [0-9] -#bind = $mainMod, 1, workspace, 1 -#bind = $mainMod, 2, workspace, 2 -#bind = $mainMod, 3, workspace, 3 -#bind = $mainMod, 4, workspace, 4 -#bind = $mainMod, 5, workspace, 5 -#bind = $mainMod, 6, workspace, 6 -#bind = $mainMod, 7, workspace, 7 -#bind = $mainMod, 8, workspace, 8 -#bind = $mainMod, 9, workspace, 9 -#bind = $mainMod, 0, workspace, 10 -# -## Move active window to a workspace with mainMod + SHIFT + [0-9] -#bind = $mainMod SHIFT, 1, movetoworkspace, 1 -#bind = $mainMod SHIFT, 2, movetoworkspace, 2 -#bind = $mainMod SHIFT, 3, movetoworkspace, 3 -#bind = $mainMod SHIFT, 4, movetoworkspace, 4 -#bind = $mainMod SHIFT, 5, movetoworkspace, 5 -#bind = $mainMod SHIFT, 6, movetoworkspace, 6 -#bind = $mainMod SHIFT, 7, movetoworkspace, 7 -#bind = $mainMod SHIFT, 8, movetoworkspace, 8 -#bind = $mainMod SHIFT, 9, movetoworkspace, 9 -#bind = $mainMod SHIFT, 0, movetoworkspace, 10 -# -## Example special workspace (scratchpad) -#bind = $mainMod, S, togglespecialworkspace, magic -#bind = $mainMod SHIFT, S, movetoworkspace, special:magic -# -## Scroll through existing workspaces with mainMod + scroll -#bind = $mainMod, mouse_down, workspace, e+1 -#bind = $mainMod, mouse_up, workspace, e-1 -# -## Move/resize windows with mainMod + LMB/RMB and dragging -#bindm = $mainMod, mouse:272, movewindow -#bindm = $mainMod, mouse:273, resizewindow -# -## Laptop multimedia keys for volume and LCD brightness -#bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ -#bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- -#bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle -#bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle -#bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+ -#bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%- -# -## Requires playerctl -#bindl = , XF86AudioNext, exec, playerctl next -#bindl = , XF86AudioPause, exec, playerctl play-pause -#bindl = , XF86AudioPlay, exec, playerctl play-pause -#bindl = , XF86AudioPrev, exec, playerctl previous diff --git a/config/hypr/bindings.lua b/config/hypr/bindings.lua new file mode 100644 index 0000000..e0e331f --- /dev/null +++ b/config/hypr/bindings.lua @@ -0,0 +1,30 @@ +require("bindings.media") +require("bindings.tiling") +require("bindings.utilities") + +local terminal = "kitty" +local fileManager = "nautilus" +local menu = "wofi --show drun" + +hl.bind("SUPER + B", hl.dsp.exec_cmd("firefox"), { description = "Launch Browser" }) +hl.bind("SUPER + SHIFT + B", hl.dsp.exec_cmd("firefox --private-window"), { description = "Launch Browser (Private window)" }) +hl.bind("SUPER + M", hl.dsp.exec_cmd("flatpak run com.spotify.Client"), { description = "Spotify" }) +hl.bind("SUPER + T", hl.dsp.exec_cmd(terminal .. " btop"), { description = "System Monitor" }) +hl.bind("SUPER + I", hl.dsp.exec_cmd("todoist"), { description = "Todoist" }) +hl.bind("SUPER + O", hl.dsp.exec_cmd("obsidian"), { description = "Obsidian" }) +hl.bind("SUPER + G", hl.dsp.exec_cmd("Telegram"), { description = "Telegram" }) +hl.bind("SUPER + SHIFT + G", hl.dsp.exec_cmd("signal-desktop --password-store=\"gnome-libsecret\""), { description = "Signal" }) +hl.bind("SUPER + F", hl.dsp.exec_cmd("omarchy-launch-webapp https://web.whatsapp.com"), { description = "WhatsApp" }) +hl.bind("SUPER + SHIFT + F", hl.dsp.exec_cmd("element-desktop --password-store=\"gnome-libsecret\""), { description = "Element" }) +hl.bind("SUPER + A", hl.dsp.exec_cmd("omarchy-launch-webapp https://gemini.google.com"), { description = "Gemini" }) +hl.bind("SUPER + SHIFT + A", hl.dsp.exec_cmd("omarchy-launch-webapp https://perplexity.ai"), { description = "Perplexity" }) +hl.bind("SUPER + H", hl.dsp.exec_cmd("omarchy-launch-webapp https://ha.vektron.casa"), { description = "Home Assistant" }) +hl.bind("SUPER + S", hl.dsp.exec_cmd(terminal .. " wiremix --tab configuration"), { description = "Audio Settings" }) + +hl.bind("SUPER + return", hl.dsp.exec_cmd(terminal)) +hl.bind("SUPER + Q", hl.dsp.window.close()) +hl.bind("SUPER + SHIFT + ALT + Q", hl.dsp.exec_cmd("hyprctl dispatch exit")) +hl.bind("SUPER + E", hl.dsp.exec_cmd(fileManager)) +hl.bind("SUPER + R", hl.dsp.exec_cmd(menu)) +hl.bind("SUPER + P", hl.dsp.window.pseudo()) +hl.bind("SUPER + L", hl.dsp.exec_cmd("~/.config/hypr/scripts/lock-screen"), { description = "Lock screen" }) diff --git a/config/hypr/bindings/media.conf b/config/hypr/bindings/media.conf deleted file mode 100644 index efedbb7..0000000 --- a/config/hypr/bindings/media.conf +++ /dev/null @@ -1,25 +0,0 @@ -# Only display the OSD on the currently focused monitor -$osdclient = swayosd-client --monitor "$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')" - -# Laptop multimedia keys for volume and LCD brightness (with OSD) -bindeld = ,XF86AudioRaiseVolume, Volume up, exec, $osdclient --output-volume raise -bindeld = ,XF86AudioLowerVolume, Volume down, exec, $osdclient --output-volume lower -bindeld = ,XF86AudioMute, Mute, exec, $osdclient --output-volume mute-toggle -bindeld = ,XF86AudioMicMute, Mute microphone, exec, $osdclient --input-volume mute-toggle -bindeld = ,XF86MonBrightnessUp, Brightness up, exec, $osdclient --brightness raise -bindeld = ,XF86MonBrightnessDown, Brightness down, exec, $osdclient --brightness lower - -# Precise 1% multimedia adjustments with Alt modifier -bindeld = ALT, XF86AudioRaiseVolume, Volume up precise, exec, $osdclient --output-volume +1 -bindeld = ALT, XF86AudioLowerVolume, Volume down precise, exec, $osdclient --output-volume -1 -bindeld = ALT, XF86MonBrightnessUp, Brightness up precise, exec, $osdclient --brightness +1 -bindeld = ALT, XF86MonBrightnessDown, Brightness down precise, exec, $osdclient --brightness -1 - -# Requires playerctl -bindld = , XF86AudioNext, Next track, exec, $osdclient --playerctl next -bindld = , XF86AudioPause, Pause, exec, $osdclient --playerctl play-pause -bindld = , XF86AudioPlay, Play, exec, $osdclient --playerctl play-pause -bindld = , XF86AudioPrev, Previous track, exec, $osdclient --playerctl previous - -# Switch audio output with Super + Mute -bindld = SUPER, XF86AudioMute, Switch audio output, exec, omarchy-cmd-audio-switch diff --git a/config/hypr/bindings/media.lua b/config/hypr/bindings/media.lua new file mode 100644 index 0000000..0d0f70e --- /dev/null +++ b/config/hypr/bindings/media.lua @@ -0,0 +1,20 @@ +local osdclient = "swayosd-client --monitor \"$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')\"" + +hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd(osdclient .. " --output-volume raise"), { description = "Volume up", locked = true, repeating = true }) +hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd(osdclient .. " --output-volume lower"), { description = "Volume down", locked = true, repeating = true }) +hl.bind("XF86AudioMute", hl.dsp.exec_cmd(osdclient .. " --output-volume mute-toggle"), { description = "Mute", locked = true, repeating = true }) +hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd(osdclient .. " --input-volume mute-toggle"), { description = "Mute microphone", locked = true, repeating = true }) +hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd(osdclient .. " --brightness raise"), { description = "Brightness up", locked = true, repeating = true }) +hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd(osdclient .. " --brightness lower"), { description = "Brightness down", locked = true, repeating = true }) + +hl.bind("ALT + XF86AudioRaiseVolume", hl.dsp.exec_cmd(osdclient .. " --output-volume +1"), { description = "Volume up precise", locked = true, repeating = true }) +hl.bind("ALT + XF86AudioLowerVolume", hl.dsp.exec_cmd(osdclient .. " --output-volume -1"), { description = "Volume down precise", locked = true, repeating = true }) +hl.bind("ALT + XF86MonBrightnessUp", hl.dsp.exec_cmd(osdclient .. " --brightness +1"), { description = "Brightness up precise", locked = true, repeating = true }) +hl.bind("ALT + XF86MonBrightnessDown", hl.dsp.exec_cmd(osdclient .. " --brightness -1"), { description = "Brightness down precise", locked = true, repeating = true }) + +hl.bind("XF86AudioNext", hl.dsp.exec_cmd(osdclient .. " --playerctl next"), { description = "Next track", locked = true }) +hl.bind("XF86AudioPause", hl.dsp.exec_cmd(osdclient .. " --playerctl play-pause"), { description = "Pause", locked = true }) +hl.bind("XF86AudioPlay", hl.dsp.exec_cmd(osdclient .. " --playerctl play-pause"), { description = "Play", locked = true }) +hl.bind("XF86AudioPrev", hl.dsp.exec_cmd(osdclient .. " --playerctl previous"), { description = "Previous track", locked = true }) + +hl.bind("SUPER + XF86AudioMute", hl.dsp.exec_cmd("omarchy-cmd-audio-switch"), { description = "Switch audio output", locked = true }) diff --git a/config/hypr/bindings/tiling.conf b/config/hypr/bindings/tiling.conf deleted file mode 100644 index 32506c4..0000000 --- a/config/hypr/bindings/tiling.conf +++ /dev/null @@ -1,74 +0,0 @@ -# Close windows -bindd = SUPER, Q, Close active window, killactive, -#bindd = CTRL ALT, DELETE, Close all Windows, exec, omarchy-cmd-close-all-windows - -# Control tiling -bindd = SUPER, J, Toggle split, layoutmsg, togglesplit # dwindle -bindd = SUPER, P, Pseudo window, pseudo, # dwindle -bindd = SUPER, V, Toggle floating, togglefloating, -bindd = SHIFT, F11, Force full screen, fullscreen, 0 -bindd = ALT, F11, Full width, fullscreen, 1 -bindd = SUPER SHIFT, RETURN, Full width, fullscreen, 1 -bindd = SUPER, numbersign, 1:1 split, layoutmsg, splitratio -2 -bindd = SUPER, numbersign, 1:1 split, layoutmsg, splitratio 0.9 - -# Move focus with SUPER + arrow keys -bindd = SUPER, left, Move focus left, movefocus, l -bindd = SUPER, right, Move focus right, movefocus, r -bindd = SUPER, up, Move focus up, movefocus, u -bindd = SUPER, down, Move focus down, movefocus, d - -# Switch workspaces with SUPER + [0-9] -bindd = SUPER, code:10, Switch to workspace 1, workspace, 1 -bindd = SUPER, code:11, Switch to workspace 2, workspace, 2 -bindd = SUPER, code:12, Switch to workspace 3, workspace, 3 -bindd = SUPER, code:13, Switch to workspace 4, workspace, 4 -bindd = SUPER, code:14, Switch to workspace 5, workspace, 5 -bindd = SUPER, code:15, Switch to workspace 6, workspace, 6 -bindd = SUPER, code:16, Switch to workspace 7, workspace, 7 -bindd = SUPER, code:17, Switch to workspace 8, workspace, 8 -bindd = SUPER, code:18, Switch to workspace 9, workspace, 9 -bindd = SUPER, code:19, Switch to workspace 10, workspace, 10 - -# Move active window to a workspace with SUPER + SHIFT + [0-9] -bindd = SUPER SHIFT, code:10, Move window to workspace 1, movetoworkspace, 1 -bindd = SUPER SHIFT, code:11, Move window to workspace 2, movetoworkspace, 2 -bindd = SUPER SHIFT, code:12, Move window to workspace 3, movetoworkspace, 3 -bindd = SUPER SHIFT, code:13, Move window to workspace 4, movetoworkspace, 4 -bindd = SUPER SHIFT, code:14, Move window to workspace 5, movetoworkspace, 5 -bindd = SUPER SHIFT, code:15, Move window to workspace 6, movetoworkspace, 6 -bindd = SUPER SHIFT, code:16, Move window to workspace 7, movetoworkspace, 7 -bindd = SUPER SHIFT, code:17, Move window to workspace 8, movetoworkspace, 8 -bindd = SUPER SHIFT, code:18, Move window to workspace 9, movetoworkspace, 9 -bindd = SUPER SHIFT, code:19, Move window to workspace 10, movetoworkspace, 10 - -# Tab between workspaces -bindd = SUPER, TAB, Next workspace, workspace, e+1 -bindd = SUPER SHIFT, TAB, Previous workspace, workspace, e-1 -bindd = SUPER CTRL, TAB, Former workspace, workspace, previous - -# Swap active window with the one next to it with SUPER + SHIFT + arrow keys -bindd = SUPER SHIFT, left, Swap window to the left, swapwindow, l -bindd = SUPER SHIFT, right, Swap window to the right, swapwindow, r -bindd = SUPER SHIFT, up, Swap window up, swapwindow, u -bindd = SUPER SHIFT, down, Swap window down, swapwindow, d - -# Cycle through applications on active workspace -bindd = ALT, Tab, Cycle to next window, cyclenext -bindd = ALT SHIFT, Tab, Cycle to prev window, cyclenext, prev -bindd = ALT, Tab, Reveal active window on top, bringactivetotop -bindd = ALT SHIFT, Tab, Reveal active window on top, bringactivetotop - -# Resize active window -bindd = SUPER, code:20, Expand window left, resizeactive, -100 0 # - key -bindd = SUPER, code:21, Shrink window left, resizeactive, 100 0 # = key -bindd = SUPER SHIFT, code:20, Shrink window up, resizeactive, 0 -100 -bindd = SUPER SHIFT, code:21, Expand window down, resizeactive, 0 100 - -# Scroll through existing workspaces with SUPER + scroll -bindd = SUPER, mouse_down, Scroll active workspace forward, workspace, e+1 -bindd = SUPER, mouse_up, Scroll active workspace backward, workspace, e-1 - -# Move/resize windows with mainMod + LMB/RMB and dragging -bindmd = SUPER, mouse:272, Move window, movewindow -bindmd = SUPER, mouse:273, Resize window, resizewindow diff --git a/config/hypr/bindings/tiling.lua b/config/hypr/bindings/tiling.lua new file mode 100644 index 0000000..8896cfd --- /dev/null +++ b/config/hypr/bindings/tiling.lua @@ -0,0 +1,46 @@ +hl.bind("SUPER + Q", hl.dsp.window.close(), { description = "Close active window" }) + +hl.bind("SUPER + J", hl.dsp.layout("togglesplit"), { description = "Toggle split" }) +hl.bind("SUPER + P", hl.dsp.window.pseudo(), { description = "Pseudo window" }) +hl.bind("SUPER + V", hl.dsp.window.float({ action = "toggle" }), { description = "Toggle floating" }) +hl.bind("SHIFT + F11", hl.dsp.window.fullscreen(0), { description = "Force full screen" }) +hl.bind("ALT + F11", hl.dsp.window.fullscreen(1), { description = "Full width" }) +hl.bind("SUPER + SHIFT + RETURN", hl.dsp.window.fullscreen(1), { description = "Full width" }) +hl.bind("SUPER + numbersign", hl.dsp.layout("splitratio -2"), { description = "1:1 split" }) +hl.bind("SUPER + numbersign", hl.dsp.layout("splitratio 0.9"), { description = "1:1 split" }) + +hl.bind("SUPER + left", hl.dsp.focus({ direction = "left" }), { description = "Move focus left" }) +hl.bind("SUPER + right", hl.dsp.focus({ direction = "right" }), { description = "Move focus right" }) +hl.bind("SUPER + up", hl.dsp.focus({ direction = "up" }), { description = "Move focus up" }) +hl.bind("SUPER + down", hl.dsp.focus({ direction = "down" }), { description = "Move focus down" }) + +for i = 1, 10 do + local key_code = 9 + i + hl.bind("SUPER + code:" .. tostring(key_code), hl.dsp.focus({ workspace = i }), { description = "Switch to workspace " .. tostring(i) }) + hl.bind("SUPER + SHIFT + code:" .. tostring(key_code), hl.dsp.window.move({ workspace = i }), { description = "Move window to workspace " .. tostring(i) }) +end + +hl.bind("SUPER + TAB", hl.dsp.focus({ workspace = "e+1" }), { description = "Next workspace" }) +hl.bind("SUPER + SHIFT + TAB", hl.dsp.focus({ workspace = "e-1" }), { description = "Previous workspace" }) +hl.bind("SUPER + CTRL + TAB", hl.dsp.focus({ workspace = "previous" }), { description = "Former workspace" }) + +hl.bind("SUPER + SHIFT + left", hl.dsp.window.swap({ direction = "left" }), { description = "Swap window to the left" }) +hl.bind("SUPER + SHIFT + right", hl.dsp.window.swap({ direction = "right" }), { description = "Swap window to the right" }) +hl.bind("SUPER + SHIFT + up", hl.dsp.window.swap({ direction = "up" }), { description = "Swap window up" }) +hl.bind("SUPER + SHIFT + down", hl.dsp.window.swap({ direction = "down" }), { description = "Swap window down" }) + +hl.bind("ALT + TAB", hl.dsp.exec_cmd("hyprctl dispatch cyclenext"), { description = "Cycle to next window" }) +hl.bind("ALT + SHIFT + TAB", hl.dsp.exec_cmd("hyprctl dispatch cyclenext prev"), { description = "Cycle to prev window" }) +hl.bind("ALT + TAB", hl.dsp.exec_cmd("hyprctl dispatch bringactivetotop"), { description = "Reveal active window on top" }) +hl.bind("ALT + SHIFT + TAB", hl.dsp.exec_cmd("hyprctl dispatch bringactivetotop"), { description = "Reveal active window on top" }) + +hl.bind("SUPER + code:20", hl.dsp.window.resize({ x = -100, y = 0 }), { description = "Expand window left" }) +hl.bind("SUPER + code:21", hl.dsp.window.resize({ x = 100, y = 0 }), { description = "Shrink window left" }) +hl.bind("SUPER + SHIFT + code:20", hl.dsp.window.resize({ x = 0, y = -100 }), { description = "Shrink window up" }) +hl.bind("SUPER + SHIFT + code:21", hl.dsp.window.resize({ x = 0, y = 100 }), { description = "Expand window down" }) + +hl.bind("SUPER + mouse_down", hl.dsp.focus({ workspace = "e+1" }), { description = "Scroll active workspace forward" }) +hl.bind("SUPER + mouse_up", hl.dsp.focus({ workspace = "e-1" }), { description = "Scroll active workspace backward" }) + +hl.bind("SUPER + mouse:272", hl.dsp.window.drag(), { description = "Move window", mouse = true }) +hl.bind("SUPER + mouse:273", hl.dsp.window.resize(), { description = "Resize window", mouse = true }) diff --git a/config/hypr/bindings/utilities.conf b/config/hypr/bindings/utilities.conf deleted file mode 100644 index d20cf17..0000000 --- a/config/hypr/bindings/utilities.conf +++ /dev/null @@ -1,49 +0,0 @@ -# Menus -bindd = SUPER, SPACE, Launch apps, exec, walker -p "Start…" -bindd = SUPER CTRL, E, Emoji picker, exec, walker -m Emojis -bindd = SUPER ALT, SPACE, Omarchy menu, exec, omarchy-menu -bindd = SUPER, ESCAPE, Power menu, exec, omarchy-menu system -bindld = , XF86PowerOff, Power menu, exec, omarchy-menu system -bindd = SUPER, K, Show key bindings, exec, omarchy-menu-keybindings -bindd = , XF86Calculator, Calculator, exec, gnome-calculator - -bindd = SUPER, N, Notification center, exec, swaync-client -op - -# Aesthetics -bindd = SUPER SHIFT, SPACE, Toggle top bar, exec, omarchy-toggle-waybar -bindd = SUPER CTRL, SPACE, Next background in theme, exec, omarchy-theme-bg-next -bindd = SUPER SHIFT CTRL, SPACE, Pick new theme, exec, omarchy-menu theme -bindd = SUPER, BACKSPACE, Toggle window transparency, exec, hyprctl dispatch setprop "address:$(hyprctl activewindow -j | jq -r '.address')" opaque toggle - -# Notifications -bindd = SUPER, COMMA, Dismiss last notification, exec, makoctl dismiss -bindd = SUPER SHIFT, COMMA, Dismiss all notifications, exec, makoctl dismiss --all -bindd = SUPER CTRL, COMMA, Toggle silencing notifications, exec, makoctl mode -t do-not-disturb && makoctl mode | grep -q 'do-not-disturb' && notify-send "Silenced notifications" || notify-send "Enabled notifications" - -# Toggle idling -bindd = SUPER CTRL, I, Toggle locking on idle, exec, omarchy-toggle-idle - -# Toggle nightlight -bindd = SUPER CTRL, N, Toggle nightlight, exec, omarchy-toggle-nightlight - -# Control Apple Display brightness -bindd = CTRL, F1, Apple Display brightness down, exec, omarchy-cmd-apple-display-brightness -5000 -bindd = CTRL, F2, Apple Display brightness up, exec, omarchy-cmd-apple-display-brightness +5000 -bindd = SHIFT CTRL, F2, Apple Display full brightness, exec, omarchy-cmd-apple-display-brightness +60000 - -# Screenshots -bindd = , PRINT, Screenshot of region, exec, ~/.config/hypr/scripts/cmd-screenshot region -bindd = SHIFT, PRINT, Screenshot of window, exec, ~/.config/hypr/scripts/cmd-screenshot windows -bindd = CTRL, PRINT, Screenshot of display, exec, ~/.config/hypr/scripts/cmd-screenshot fullscreen - -# Screen recordings -bindd = ALT, PRINT, Screen record a region, exec, omarchy-cmd-screenrecord region -bindd = ALT SHIFT, PRINT, Screen record a region with audio, exec, omarchy-cmd-screenrecord region audio -bindd = CTRL ALT, PRINT, Screen record display, exec, omarchy-cmd-screenrecord output -bindd = CTRL ALT SHIFT, PRINT, Screen record display with audio, exec, omarchy-cmd-screenrecord output audio - -# Color picker -bindd = SUPER, PRINT, Color picker, exec, pkill hyprpicker || hyprpicker -a - -# File sharing -bindd = CTRL SUPER, S, Share, exec, omarchy-menu share diff --git a/config/hypr/bindings/utilities.lua b/config/hypr/bindings/utilities.lua new file mode 100644 index 0000000..8541c7e --- /dev/null +++ b/config/hypr/bindings/utilities.lua @@ -0,0 +1,37 @@ +hl.bind("SUPER + SPACE", hl.dsp.exec_cmd("walker -p \"Start…\""), { description = "Launch apps" }) +hl.bind("SUPER + CTRL + E", hl.dsp.exec_cmd("walker -m Emojis"), { description = "Emoji picker" }) +hl.bind("SUPER + ALT + SPACE", hl.dsp.exec_cmd("omarchy-menu"), { description = "Omarchy menu" }) +hl.bind("SUPER + ESCAPE", hl.dsp.exec_cmd("omarchy-menu system"), { description = "Power menu" }) +hl.bind("XF86PowerOff", hl.dsp.exec_cmd("omarchy-menu system"), { description = "Power menu", locked = true }) +hl.bind("SUPER + K", hl.dsp.exec_cmd("omarchy-menu-keybindings"), { description = "Show key bindings" }) +hl.bind("XF86Calculator", hl.dsp.exec_cmd("gnome-calculator"), { description = "Calculator" }) + +hl.bind("SUPER + N", hl.dsp.exec_cmd("swaync-client -op"), { description = "Notification center" }) + +hl.bind("SUPER + SHIFT + SPACE", hl.dsp.exec_cmd("omarchy-toggle-waybar"), { description = "Toggle top bar" }) +hl.bind("SUPER + CTRL + SPACE", hl.dsp.exec_cmd("omarchy-theme-bg-next"), { description = "Next background in theme" }) +hl.bind("SUPER + SHIFT + CTRL + SPACE", hl.dsp.exec_cmd("omarchy-menu theme"), { description = "Pick new theme" }) +hl.bind("SUPER + BACKSPACE", hl.dsp.exec_cmd("hyprctl dispatch setprop \"address:$(hyprctl activewindow -j | jq -r '.address')\" opaque toggle"), { description = "Toggle window transparency" }) + +hl.bind("SUPER + COMMA", hl.dsp.exec_cmd("makoctl dismiss"), { description = "Dismiss last notification" }) +hl.bind("SUPER + SHIFT + COMMA", hl.dsp.exec_cmd("makoctl dismiss --all"), { description = "Dismiss all notifications" }) +hl.bind("SUPER + CTRL + COMMA", hl.dsp.exec_cmd("makoctl mode -t do-not-disturb && makoctl mode | grep -q 'do-not-disturb' && notify-send 'Silenced notifications' || notify-send 'Enabled notifications'"), { description = "Toggle silencing notifications" }) + +hl.bind("SUPER + CTRL + I", hl.dsp.exec_cmd("omarchy-toggle-idle"), { description = "Toggle locking on idle" }) +hl.bind("SUPER + CTRL + N", hl.dsp.exec_cmd("omarchy-toggle-nightlight"), { description = "Toggle nightlight" }) + +hl.bind("CTRL + F1", hl.dsp.exec_cmd("omarchy-cmd-apple-display-brightness -5000"), { description = "Apple Display brightness down" }) +hl.bind("CTRL + F2", hl.dsp.exec_cmd("omarchy-cmd-apple-display-brightness +5000"), { description = "Apple Display brightness up" }) +hl.bind("SHIFT + CTRL + F2", hl.dsp.exec_cmd("omarchy-cmd-apple-display-brightness +60000"), { description = "Apple Display full brightness" }) + +hl.bind("PRINT", hl.dsp.exec_cmd("~/.config/hypr/scripts/cmd-screenshot region"), { description = "Screenshot of region" }) +hl.bind("SHIFT + PRINT", hl.dsp.exec_cmd("~/.config/hypr/scripts/cmd-screenshot windows"), { description = "Screenshot of window" }) +hl.bind("CTRL + PRINT", hl.dsp.exec_cmd("~/.config/hypr/scripts/cmd-screenshot fullscreen"), { description = "Screenshot of display" }) + +hl.bind("ALT + PRINT", hl.dsp.exec_cmd("omarchy-cmd-screenrecord region"), { description = "Screen record a region" }) +hl.bind("ALT + SHIFT + PRINT", hl.dsp.exec_cmd("omarchy-cmd-screenrecord region audio"), { description = "Screen record a region with audio" }) +hl.bind("CTRL + ALT + PRINT", hl.dsp.exec_cmd("omarchy-cmd-screenrecord output"), { description = "Screen record display" }) +hl.bind("CTRL + ALT + SHIFT + PRINT", hl.dsp.exec_cmd("omarchy-cmd-screenrecord output audio"), { description = "Screen record display with audio" }) + +hl.bind("SUPER + PRINT", hl.dsp.exec_cmd("pkill hyprpicker || hyprpicker -a"), { description = "Color picker" }) +hl.bind("CTRL + SUPER + S", hl.dsp.exec_cmd("omarchy-menu share"), { description = "Share" }) diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf deleted file mode 100644 index 9fb001e..0000000 --- a/config/hypr/hyprland.conf +++ /dev/null @@ -1,288 +0,0 @@ -$terminal = kitty -$fileManager = nautilus -$menu = wofi --show drun - -source = ~/.config/hypr/bindings.conf -source = ~/.config/hypr/monitors.conf -source = ~/.config/hypr/rules.conf - -exec-once = uwsm app -- hyprpaper -exec-once = uwsm app -- waybar -exec-once = uwsm app -- hypridle -exec-once = systemctl --user start hyprpolkitagent -exec-once = eval $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh) -exec-once = uwsm app -- nautilus --gapplication-service -exec-once = uwsm app -- swayosd-server -exec-once = uwsm app -- elephant -exec-once = uwsm app -- walker --gapplication-service - -############################# -### ENVIRONMENT VARIABLES ### -############################# - -# See https://wiki.hypr.land/Configuring/Environment-variables/ - -env = XCURSOR_SIZE,24 -env = HYPRCURSOR_SIZE,24 - -################### -### PERMISSIONS ### -################### - -# See https://wiki.hypr.land/Configuring/Permissions/ -# Please note permission changes here require a Hyprland restart and are not applied on-the-fly -# for security reasons - -# ecosystem { -# enforce_permissions = 1 -# } - -# permission = /usr/(bin|local/bin)/grim, screencopy, allow -# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow -# permission = /usr/(bin|local/bin)/hyprpm, plugin, allow - - -##################### -### LOOK AND FEEL ### -##################### - -# Refer to https://wiki.hypr.land/Configuring/Variables/ - -# https://wiki.hypr.land/Configuring/Variables/#general -general { - gaps_in = 4 - gaps_out = 8 - border_size = 2 - - # https://wiki.hypr.land/Configuring/Variables/#variable-types for info about colors -# col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg - # col.active_border = rgba(33ccffee) rgba(f50087ee) 45deg - col.active_border = rgba(33ccffee) - col.inactive_border = rgba(595959aa) - - # Set to true enable resizing windows by clicking and dragging on borders and gaps - resize_on_border = false - - # Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on - allow_tearing = false - - layout = dwindle -} - -dwindle { - force_split = 2 - smart_resizing = false -} - -# https://wiki.hypr.land/Configuring/Variables/#decoration -decoration { - rounding = 4 - rounding_power = 2 - - # Change transparency of focused and unfocused windows - active_opacity = 1.0 - inactive_opacity = 0.8 - - shadow { - enabled = true - range = 3 - render_power = 3 - color = rgba(1a1a1aee) - } - - # https://wiki.hypr.land/Configuring/Variables/#blur - blur { - enabled = true - size = 8 - passes = 2 - - vibrancy = 0.1696 - } -} - -# https://wiki.hypr.land/Configuring/Variables/#animations -animations { - enabled = yes, please :) - - # Default curves, see https://wiki.hypr.land/Configuring/Animations/#curves - # NAME, X0, Y0, X1, Y1 - bezier = easeOutQuint, 0.23, 1, 0.32, 1 - bezier = easeInOutCubic, 0.65, 0.05, 0.36, 1 - bezier = linear, 0, 0, 1, 1 - bezier = almostLinear, 0.5, 0.5, 0.75, 1 - bezier = quick, 0.15, 0, 0.1, 1 - - # Default animations, see https://wiki.hypr.land/Configuring/Animations/ - # NAME, ONOFF, SPEED, CURVE, [STYLE] - animation = global, 1, 10, default - animation = border, 1, 5.39, easeOutQuint - animation = borderangle, 1, 20, quick - animation = windows, 1, 4.79, easeOutQuint - animation = windowsIn, 1, 4.1, easeOutQuint, popin 87% - animation = windowsOut, 1, 1.49, linear, popin 87% - animation = fadeIn, 1, 1.73, almostLinear - animation = fadeOut, 1, 1.46, almostLinear - animation = fade, 1, 3.03, quick - animation = layers, 1, 3.81, easeOutQuint - animation = layersIn, 1, 4, easeOutQuint, fade - animation = layersOut, 1, 1.5, linear, fade - animation = fadeLayersIn, 1, 1.79, almostLinear - animation = fadeLayersOut, 1, 1.39, almostLinear - animation = workspaces, 1, 1.94, almostLinear, fade - animation = workspacesIn, 1, 1.21, almostLinear, fade - animation = workspacesOut, 1, 1.94, almostLinear, fade - animation = zoomFactor, 1, 7, quick -} - -# Ref https://wiki.hypr.land/Configuring/Workspace-Rules/ -# "Smart gaps" / "No gaps when only" -# uncomment all if you wish to use that. -# workspace = w[tv1], gapsout:0, gapsin:0 -# workspace = f[1], gapsout:0, gapsin:0 -# windowrule = bordersize 0, floating:0, onworkspace:w[tv1] -# windowrule = rounding 0, floating:0, onworkspace:w[tv1] -# windowrule = bordersize 0, floating:0, onworkspace:f[1] -# windowrule = rounding 0, floating:0, onworkspace:f[1] - -# See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more -dwindle { - preserve_split = true # You probably want this -} - -# See https://wiki.hypr.land/Configuring/Master-Layout/ for more -master { - new_status = master -} - -# https://wiki.hypr.land/Configuring/Variables/#misc -misc { - force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers - disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :( -} - -cursor { - inactive_timeout = 3 -} - -############# -### INPUT ### -############# - -# https://wiki.hypr.land/Configuring/Variables/#input -input { - kb_layout = de - kb_variant = - kb_model = - kb_options = - kb_rules = - - follow_mouse = 1 - - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. - - touchpad { - natural_scroll = true - } -} - -# See https://wiki.hypr.land/Configuring/Gestures -gesture = 3, horizontal, workspace - -# Example per-device config -# See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more -device { - name = epic-mouse-v1 - sensitivity = -0.5 -} - - -################### -### KEYBINDINGS ### -################### - -# See https://wiki.hypr.land/Configuring/Keywords/ -#$mainMod = SUPER # Sets "Windows" key as main modifier -# -#bindd = $mainMod, B, Launch Browser, exec, flatpak run app.zen_browser.zen -# -## Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more -#bind = $mainMod, return, exec, $terminal -#bind = $mainMod, Q, killactive, -#bind = $mainMod, M, exit, -#bind = $mainMod, E, exec, $fileManager -#bind = $mainMod, V, togglefloating, -#bind = $mainMod, R, exec, $menu -#bind = $mainMod, P, pseudo, # dwindle -#bind = $mainMod, J, togglesplit, # dwindle -# -## Move focus with mainMod + arrow keys -#bind = $mainMod, left, movefocus, l -#bind = $mainMod, right, movefocus, r -#bind = $mainMod, up, movefocus, u -#bind = $mainMod, down, movefocus, d -# -## Switch workspaces with mainMod + [0-9] -#bind = $mainMod, 1, workspace, 1 -#bind = $mainMod, 2, workspace, 2 -#bind = $mainMod, 3, workspace, 3 -#bind = $mainMod, 4, workspace, 4 -#bind = $mainMod, 5, workspace, 5 -#bind = $mainMod, 6, workspace, 6 -#bind = $mainMod, 7, workspace, 7 -#bind = $mainMod, 8, workspace, 8 -#bind = $mainMod, 9, workspace, 9 -#bind = $mainMod, 0, workspace, 10 -# -## Move active window to a workspace with mainMod + SHIFT + [0-9] -#bind = $mainMod SHIFT, 1, movetoworkspace, 1 -#bind = $mainMod SHIFT, 2, movetoworkspace, 2 -#bind = $mainMod SHIFT, 3, movetoworkspace, 3 -#bind = $mainMod SHIFT, 4, movetoworkspace, 4 -#bind = $mainMod SHIFT, 5, movetoworkspace, 5 -#bind = $mainMod SHIFT, 6, movetoworkspace, 6 -#bind = $mainMod SHIFT, 7, movetoworkspace, 7 -#bind = $mainMod SHIFT, 8, movetoworkspace, 8 -#bind = $mainMod SHIFT, 9, movetoworkspace, 9 -#bind = $mainMod SHIFT, 0, movetoworkspace, 10 -# -## Example special workspace (scratchpad) -#bind = $mainMod, S, togglespecialworkspace, magic -#bind = $mainMod SHIFT, S, movetoworkspace, special:magic -# -## Scroll through existing workspaces with mainMod + scroll -#bind = $mainMod, mouse_down, workspace, e+1 -#bind = $mainMod, mouse_up, workspace, e-1 -# -## Move/resize windows with mainMod + LMB/RMB and dragging -#bindm = $mainMod, mouse:272, movewindow -#bindm = $mainMod, mouse:273, resizewindow -# -## Laptop multimedia keys for volume and LCD brightness -#bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ -#bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- -#bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle -#bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle -#bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+ -#bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%- -# -## Requires playerctl -#bindl = , XF86AudioNext, exec, playerctl next -#bindl = , XF86AudioPause, exec, playerctl play-pause -#bindl = , XF86AudioPlay, exec, playerctl play-pause -#bindl = , XF86AudioPrev, exec, playerctl previous - -############################## -### WINDOWS AND WORKSPACES ### -############################## - -# See https://wiki.hypr.land/Configuring/Window-Rules/ for more -# See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules - -# Example windowrule -# windowrule = float,class:^(kitty)$,title:^(kitty)$ - -# Ignore maximize requests from apps. You'll probably like this. -windowrule = suppress_event maximize - -# Fix some dragging issues with XWayland -windowrule = no_focus true,match:class ^$,match:title ^$,match:xwayland true,match:float true,match:fullscreen false,match:pin false diff --git a/config/hypr/hyprland.lua b/config/hypr/hyprland.lua new file mode 100644 index 0000000..689d422 --- /dev/null +++ b/config/hypr/hyprland.lua @@ -0,0 +1,126 @@ +require("monitors") +require("bindings") +require("rules") + +hl.on("hyprland.start", function () + hl.exec_cmd("uwsm app -- hyprpaper") + hl.exec_cmd("uwsm app -- waybar") + hl.exec_cmd("uwsm app -- hypridle") + hl.exec_cmd("systemctl --user start hyprpolkitagent") + hl.exec_cmd("eval $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh)") + hl.exec_cmd("uwsm app -- nautilus --gapplication-service") + hl.exec_cmd("uwsm app -- swayosd-server") + hl.exec_cmd("uwsm app -- elephant") + hl.exec_cmd("uwsm app -- walker --gapplication-service") +end) + +hl.env("XCURSOR_SIZE", "24") +hl.env("HYPRCURSOR_SIZE", "24") + +hl.config({ + general = { + gaps_in = 4, + gaps_out = 8, + border_size = 2, + col = { + active_border = "rgba(33ccffee)", + inactive_border = "rgba(595959aa)", + }, + resize_on_border = false, + allow_tearing = false, + layout = "dwindle", + }, + + dwindle = { + force_split = 2, + smart_resizing = false, + preserve_split = true, + }, + + decoration = { + rounding = 4, + rounding_power = 2, + active_opacity = 1.0, + inactive_opacity = 0.8, + + shadow = { + enabled = true, + range = 3, + render_power = 3, + color = "rgba(1a1a1aee)", + }, + + blur = { + enabled = true, + size = 8, + passes = 2, + vibrancy = 0.1696, + }, + }, + + animations = { + enabled = true, + }, + + master = { + new_status = "master", + }, + + misc = { + force_default_wallpaper = 0, + disable_hyprland_logo = true, + }, + + cursor = { + inactive_timeout = 3, + }, + + input = { + kb_layout = "de", + kb_variant = "", + kb_model = "", + kb_options = "", + kb_rules = "", + follow_mouse = 1, + sensitivity = 0, + touchpad = { + natural_scroll = true, + }, + }, +}) + +hl.curve("easeOutQuint", { type = "bezier", points = { {0.23, 1}, {0.32, 1} } }) +hl.curve("easeInOutCubic", { type = "bezier", points = { {0.65, 0.05}, {0.36, 1} } }) +hl.curve("linear", { type = "bezier", points = { {0, 0}, {1, 1} } }) +hl.curve("almostLinear", { type = "bezier", points = { {0.5, 0.5}, {0.75, 1} } }) +hl.curve("quick", { type = "bezier", points = { {0.15, 0}, {0.1, 1} } }) + +hl.animation({ leaf = "global", enabled = true, speed = 10, bezier = "default" }) +hl.animation({ leaf = "border", enabled = true, speed = 5.39, bezier = "easeOutQuint" }) +hl.animation({ leaf = "borderangle", enabled = true, speed = 20, bezier = "quick" }) +hl.animation({ leaf = "windows", enabled = true, speed = 4.79, bezier = "easeOutQuint" }) +hl.animation({ leaf = "windowsIn", enabled = true, speed = 4.1, bezier = "easeOutQuint", style = "popin 87%" }) +hl.animation({ leaf = "windowsOut", enabled = true, speed = 1.49, bezier = "linear", style = "popin 87%" }) +hl.animation({ leaf = "fadeIn", enabled = true, speed = 1.73, bezier = "almostLinear" }) +hl.animation({ leaf = "fadeOut", enabled = true, speed = 1.46, bezier = "almostLinear" }) +hl.animation({ leaf = "fade", enabled = true, speed = 3.03, bezier = "quick" }) +hl.animation({ leaf = "layers", enabled = true, speed = 3.81, bezier = "easeOutQuint" }) +hl.animation({ leaf = "layersIn", enabled = true, speed = 4, bezier = "easeOutQuint", style = "fade" }) +hl.animation({ leaf = "layersOut", enabled = true, speed = 1.5, bezier = "linear", style = "fade" }) +hl.animation({ leaf = "fadeLayersIn", enabled = true, speed = 1.79, bezier = "almostLinear" }) +hl.animation({ leaf = "fadeLayersOut", enabled = true, speed = 1.39, bezier = "almostLinear" }) +hl.animation({ leaf = "workspaces", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" }) +hl.animation({ leaf = "workspacesIn", enabled = true, speed = 1.21, bezier = "almostLinear", style = "fade" }) +hl.animation({ leaf = "workspacesOut", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" }) +hl.animation({ leaf = "zoomFactor", enabled = true, speed = 7, bezier = "quick" }) + +hl.gesture({ + fingers = 3, + direction = "horizontal", + action = "workspace", +}) + +hl.device({ + name = "epic-mouse-v1", + sensitivity = -0.5, +}) diff --git a/config/hypr/monitors.conf b/config/hypr/monitors.conf deleted file mode 100644 index eb85ab1..0000000 --- a/config/hypr/monitors.conf +++ /dev/null @@ -1,21 +0,0 @@ -# See https://wiki.hyprland.org/Configuring/Monitors/ -# List current monitors and resolutions possible: hyprctl monitors -# Format: monitor = [port], resolution, position, scale -# You must relaunch Hyprland after changing any envs (use Super+Esc, then Relaunch) - -env = GDK_SCALE,1 -monitor=eDP-1,1920x1080,auto,1 -monitor=,preferred,auto,auto -monitor=desc:Xiaomi Corporation Mi Monitor,3440x1440@60,auto,1 - -# Good compromise for 27" or 32" 4K monitors (but fractional!) -# env = GDK_SCALE,1.75 -# monitor=,preferred,auto,1.666667 - -# Straight 1x setup for low-resolution displays like 1080p or 1440p -# env = GDK_SCALE,1 -# monitor=,preferred,auto,1 - -# Example for Framework 13 w/ 6K XDR Apple display -# monitor = DP-5, 6016x3384@60, auto, 2 -# monitor = eDP-1, 2880x1920@120, auto, 2 diff --git a/config/hypr/monitors.lua b/config/hypr/monitors.lua new file mode 100644 index 0000000..1daa5d8 --- /dev/null +++ b/config/hypr/monitors.lua @@ -0,0 +1,22 @@ +hl.env("GDK_SCALE", "1") + +hl.monitor({ + output = "eDP-1", + mode = "1920x1080", + position = "auto", + scale = 1 +}) + +hl.monitor({ + output = "", + mode = "preferred", + position = "auto", + scale = "auto" +}) + +hl.monitor({ + output = "desc:Xiaomi Corporation Mi Monitor", + mode = "3440x1440@60", + position = "auto", + scale = 1 +}) diff --git a/config/hypr/rules.conf b/config/hypr/rules.conf deleted file mode 100644 index d40b3d9..0000000 --- a/config/hypr/rules.conf +++ /dev/null @@ -1,21 +0,0 @@ -layerrule = blur true, match:namespace waybar -layerrule = blur_popups true, match:namespace waybar -layerrule = ignore_alpha 0, match:namespace waybar -layerrule = blur true, match:namespace swaync-control-center -layerrule = blur true, match:namespace swaync-notification-window -layerrule = ignore_alpha 0, match:namespace swaync-control-center -layerrule = ignore_alpha 0, match:namespace swaync-notification-window -layerrule = ignore_alpha 0.5, match:namespace swaync-control-center -layerrule = ignore_alpha 0.5, match:namespace swaync-notification-window -layerrule = blur true, match:namespace swayosd -layerrule = ignore_alpha 0, match:namespace swayosd -layerrule = blur true, match:namespace walker -layerrule = ignore_alpha 0, match:namespace walker -layerrule = ignore_alpha 0.5, match:namespace walker - -windowrule = opacity 0.85 0.8,match:class ^chrome-gemini\.google\.com.* -windowrule = opacity 0.85 0.8,match:class ^chrome-perplexity\.ai.* - -windowrule = float true,match:class ^org\.gnome\.Calculator$ -windowrule = size 360 616,match:class ^org\.gnome\.Calculator$ -windowrule = move (monitor_w*10/monitor_h>=21?monitor_w*5/6-180:monitor_w*3/4-180) (monitor_h/2-308),match:class ^org\.gnome\.Calculator$ diff --git a/config/hypr/rules.lua b/config/hypr/rules.lua new file mode 100644 index 0000000..5189827 --- /dev/null +++ b/config/hypr/rules.lua @@ -0,0 +1,32 @@ +hl.layer_rule({ match = { namespace = "waybar" }, blur = true }) +hl.layer_rule({ match = { namespace = "waybar" }, blur_popups = true }) +hl.layer_rule({ match = { namespace = "waybar" }, ignore_alpha = 0 }) + +hl.layer_rule({ match = { namespace = "swaync-control-center" }, blur = true }) +hl.layer_rule({ match = { namespace = "swaync-notification-window" }, blur = true }) + +hl.layer_rule({ match = { namespace = "swaync-control-center" }, ignore_alpha = 0 }) +hl.layer_rule({ match = { namespace = "swaync-notification-window" }, ignore_alpha = 0 }) +hl.layer_rule({ match = { namespace = "swaync-control-center" }, ignore_alpha = 0.5 }) +hl.layer_rule({ match = { namespace = "swaync-notification-window" }, ignore_alpha = 0.5 }) + +hl.layer_rule({ match = { namespace = "swayosd" }, blur = true }) +hl.layer_rule({ match = { namespace = "swayosd" }, ignore_alpha = 0 }) + +hl.layer_rule({ match = { namespace = "walker" }, blur = true }) +hl.layer_rule({ match = { namespace = "walker" }, ignore_alpha = 0 }) +hl.layer_rule({ match = { namespace = "walker" }, ignore_alpha = 0.5 }) + +hl.window_rule({ match = { class = "^chrome-gemini\\.google\\.com.*" }, opacity = "0.85 0.8" }) +hl.window_rule({ match = { class = "^chrome-perplexity\\.ai.*" }, opacity = "0.85 0.8" }) + +hl.window_rule({ match = { class = "^org\\.gnome\\.Calculator$" }, float = true }) +hl.window_rule({ match = { class = "^org\\.gnome\\.Calculator$" }, size = "360 616" }) +hl.window_rule({ match = { class = "^org\\.gnome\\.Calculator$" }, move = "(monitor_w*10/monitor_h>=21?monitor_w*5/6-180:monitor_w*3/4-180) (monitor_h/2-308)" }) + +hl.window_rule({ match = { class = ".*" }, suppress_event = "maximize" }) + +hl.window_rule({ + match = { class = "^$", title = "^$", xwayland = true, float = true, fullscreen = false, pin = false }, + no_focus = true +})