chore(hypr): migrate Hyprland configuration to Lua
This commit is contained in:
@@ -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
|
|
||||||
@@ -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" })
|
||||||
@@ -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
|
|
||||||
@@ -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 })
|
||||||
@@ -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
|
|
||||||
@@ -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 })
|
||||||
@@ -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
|
|
||||||
@@ -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" })
|
||||||
@@ -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
|
|
||||||
@@ -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,
|
||||||
|
})
|
||||||
@@ -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
|
|
||||||
@@ -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
|
||||||
|
})
|
||||||
@@ -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$
|
|
||||||
@@ -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
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user