Migrate hyprland config to lua
This commit is contained in:
parent
3271f3924e
commit
bdaeb19666
29 changed files with 485 additions and 437 deletions
2
.bin/.e
2
.bin/.e
|
|
@ -20,7 +20,7 @@ declare -A mapper=(
|
||||||
["git-credentials"]="$HOME/.config/git/credentials"
|
["git-credentials"]="$HOME/.config/git/credentials"
|
||||||
["home-manager"]="$HOME/.config/home-manager/home.nix"
|
["home-manager"]="$HOME/.config/home-manager/home.nix"
|
||||||
["host-mode"]="$HOME/.bin/host-mode"
|
["host-mode"]="$HOME/.bin/host-mode"
|
||||||
["hyprland"]="$HOME/.config/hypr/hyprland.conf"
|
["hyprland"]="$HOME/.config/hypr/hyprland.lua"
|
||||||
["nvim"]="$HOME/.config/astronvim/lua/user/"
|
["nvim"]="$HOME/.config/astronvim/lua/user/"
|
||||||
["polybar"]="$HOME/.config/polybar"
|
["polybar"]="$HOME/.config/polybar"
|
||||||
["projectsrc"]="$HOME/.config/projectsrc"
|
["projectsrc"]="$HOME/.config/projectsrc"
|
||||||
|
|
|
||||||
|
|
@ -1,92 +0,0 @@
|
||||||
$main_mod = SUPER
|
|
||||||
|
|
||||||
bind = $main_mod, return, exec, $TERMINAL
|
|
||||||
bind = $main_mod SHIFT, return, exec, [float] $TERMINAL
|
|
||||||
|
|
||||||
bind = $main_mod, Q, killactive,
|
|
||||||
bind = $main_mod SHIFT, Q, forcekillactive,
|
|
||||||
bind = $main_mod, Space, togglefloating,
|
|
||||||
bind = $main_mod, F, fullscreen,
|
|
||||||
|
|
||||||
bind = $main_mod, D, exec, j4-dmenu-desktop --dmenu="$DMENU"
|
|
||||||
bind = $main_mod, Pause, exec, menu-shutdown
|
|
||||||
bind = $main_mod SHIFT, T, exec, ts-control
|
|
||||||
bind = $main_mod, T, exec, ts-control quick
|
|
||||||
bind = $main_mod SHIFT, X, exec, $HOME/projects/utils/temp-service/temp-service
|
|
||||||
bind = $main_mod, X, exec, $HOME/projects/utils/temp-service/temp-service menu
|
|
||||||
bind = $main_mod, M, exec, host-mode
|
|
||||||
bind = $main_mod, V, exec, wl-copy $(cliphist decode $(cliphist list | $DMENU))
|
|
||||||
bind = $main_mod, O, exec, xdg-open $($DMENU < ~/documents/history.txt)
|
|
||||||
bind = $main_mod, N, exec, [float] $TERMINAL -e nvim
|
|
||||||
bind = $main_mod, C, exec, [float] $TERMINAL -e python
|
|
||||||
bind = , XF86Calculator, exec, [float] $TERMINAL -e python
|
|
||||||
|
|
||||||
# Screenshot / Color picker
|
|
||||||
bind = $main_mod SHIFT, S, exec, screenshot
|
|
||||||
bind = $main_mod SHIFT CTRL, S, exec, screenshot --no-upload
|
|
||||||
bind = $main_mod SHIFT ALT, S, exec, colorpicker
|
|
||||||
|
|
||||||
bind = $main_mod SHIFT, R, exec, autostart-manage run-wayland
|
|
||||||
|
|
||||||
# Binds for Media keys
|
|
||||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
|
||||||
bindl = , XF86AudioPause, exec, playerctl pause
|
|
||||||
bindl = , XF86AudioNext, exec, playerctl next
|
|
||||||
bindl = , XF86AudioPrev, exec, playerctl prev
|
|
||||||
|
|
||||||
### hjkl Keys
|
|
||||||
|
|
||||||
# Move focus with mainMod + hjkl keys
|
|
||||||
bind = $main_mod, h, movefocus, l
|
|
||||||
bind = $main_mod, j, movefocus, d
|
|
||||||
bind = $main_mod, k, movefocus, u
|
|
||||||
bind = $main_mod, l, movefocus, r
|
|
||||||
|
|
||||||
# Move window with mainMod + hjkl keys
|
|
||||||
bind = $main_mod SHIFT, h, movewindow, l
|
|
||||||
bind = $main_mod SHIFT, j, movewindow, d
|
|
||||||
bind = $main_mod SHIFT, k, movewindow, u
|
|
||||||
bind = $main_mod SHIFT, l, movewindow, r
|
|
||||||
|
|
||||||
# Preselect split window with mainMod + hjkl keys
|
|
||||||
bind = $main_mod CTRL, h, layoutmsg, preselect l
|
|
||||||
bind = $main_mod CTRL, j, layoutmsg, preselect d
|
|
||||||
bind = $main_mod CTRL, k, layoutmsg, preselect u
|
|
||||||
bind = $main_mod CTRL, l, layoutmsg, preselect r
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Switch workspaces with mainMod + [0-9]
|
|
||||||
bind = $main_mod, 1, workspace, $ws01
|
|
||||||
bind = $main_mod, 2, workspace, $ws02
|
|
||||||
bind = $main_mod, 3, workspace, $ws03
|
|
||||||
bind = $main_mod, 4, workspace, $ws04
|
|
||||||
bind = $main_mod, 5, workspace, $ws05
|
|
||||||
bind = $main_mod, 6, workspace, $ws06
|
|
||||||
bind = $main_mod, 7, workspace, $ws07
|
|
||||||
bind = $main_mod, 8, workspace, $ws08
|
|
||||||
bind = $main_mod, 9, workspace, $ws09
|
|
||||||
bind = $main_mod, 0, workspace, $ws10
|
|
||||||
|
|
||||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
|
||||||
bind = $main_mod SHIFT, 1, movetoworkspacesilent, $ws01
|
|
||||||
bind = $main_mod SHIFT, 2, movetoworkspacesilent, $ws02
|
|
||||||
bind = $main_mod SHIFT, 3, movetoworkspacesilent, $ws03
|
|
||||||
bind = $main_mod SHIFT, 4, movetoworkspacesilent, $ws04
|
|
||||||
bind = $main_mod SHIFT, 5, movetoworkspacesilent, $ws05
|
|
||||||
bind = $main_mod SHIFT, 6, movetoworkspacesilent, $ws06
|
|
||||||
bind = $main_mod SHIFT, 7, movetoworkspacesilent, $ws07
|
|
||||||
bind = $main_mod SHIFT, 8, movetoworkspacesilent, $ws08
|
|
||||||
bind = $main_mod SHIFT, 9, movetoworkspacesilent, $ws09
|
|
||||||
bind = $main_mod SHIFT, 0, movetoworkspacesilent, $ws10
|
|
||||||
|
|
||||||
bind = $main_mod, dead_circumflex, workspace, $ws_focus
|
|
||||||
bind = $main_mod SHIFT, dead_circumflex, movetoworkspacesilent, $ws_focus
|
|
||||||
|
|
||||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
|
||||||
bindm = $main_mod, mouse:272, movewindow
|
|
||||||
bindm = $main_mod, mouse:273, resizewindow
|
|
||||||
|
|
||||||
# Binds for XWayland
|
|
||||||
bind = , XF86AudioLowerVolume, pass, class:^(TeamSpeak 3)$
|
|
||||||
bind = , XF86AudioRaiseVolume, pass, class:^(TeamSpeak 3)$
|
|
||||||
111
.config/hypr/binds.lua
Normal file
111
.config/hypr/binds.lua
Normal file
|
|
@ -0,0 +1,111 @@
|
||||||
|
require("defaults")
|
||||||
|
|
||||||
|
hl.bind("SUPER + return", function()
|
||||||
|
hl.exec_cmd("$TERMINAL")
|
||||||
|
end)
|
||||||
|
hl.bind("SUPER + SHIFT + return", function()
|
||||||
|
hl.exec_cmd("[float] $TERMINAL")
|
||||||
|
end)
|
||||||
|
hl.bind("SUPER + Q", hl.dsp.window.close())
|
||||||
|
hl.bind("SUPER + SHIFT + Q", hl.dsp.window.kill())
|
||||||
|
hl.bind("SUPER + Space", hl.dsp.window.float())
|
||||||
|
hl.bind("SUPER + F", hl.dsp.window.fullscreen())
|
||||||
|
hl.bind("SUPER + D", function()
|
||||||
|
hl.exec_cmd('j4-dmenu-desktop --dmenu="$DMENU"')
|
||||||
|
end)
|
||||||
|
hl.bind("SUPER + Pause", function()
|
||||||
|
hl.exec_cmd("menu-shutdown")
|
||||||
|
end)
|
||||||
|
hl.bind("SUPER + SHIFT + T", function()
|
||||||
|
hl.exec_cmd("ts-control")
|
||||||
|
end)
|
||||||
|
hl.bind("SUPER + T", function()
|
||||||
|
hl.exec_cmd("ts-control quick")
|
||||||
|
end)
|
||||||
|
hl.bind("SUPER + SHIFT + X", function()
|
||||||
|
hl.exec_cmd("$HOME/projects/utils/temp-service/temp-service")
|
||||||
|
end)
|
||||||
|
hl.bind("SUPER + X", function()
|
||||||
|
hl.exec_cmd("$HOME/projects/utils/temp-service/temp-service menu")
|
||||||
|
end)
|
||||||
|
hl.bind("SUPER + M", function()
|
||||||
|
hl.exec_cmd("host-mode")
|
||||||
|
end)
|
||||||
|
hl.bind("SUPER + V", function()
|
||||||
|
hl.exec_cmd("wl-copy $(cliphist decode $(cliphist list | $DMENU))")
|
||||||
|
end)
|
||||||
|
hl.bind("SUPER + O", function()
|
||||||
|
hl.exec_cmd("xdg-open $($DMENU < ~/documents/history.txt)")
|
||||||
|
end)
|
||||||
|
hl.bind("SUPER + N", function()
|
||||||
|
hl.exec_cmd("[float] $TERMINAL -e nvim")
|
||||||
|
end)
|
||||||
|
hl.bind("SUPER + C", function()
|
||||||
|
hl.exec_cmd("[float] $TERMINAL -e python")
|
||||||
|
end)
|
||||||
|
hl.bind(" + XF86Calculator", function()
|
||||||
|
hl.exec_cmd("[float] $TERMINAL -e python")
|
||||||
|
end)
|
||||||
|
hl.bind("SUPER + SHIFT + S", function()
|
||||||
|
hl.exec_cmd("screenshot")
|
||||||
|
end)
|
||||||
|
hl.bind("SUPER + SHIFT + CTRL + S", function()
|
||||||
|
hl.exec_cmd("screenshot --no-upload")
|
||||||
|
end)
|
||||||
|
hl.bind("SUPER + SHIFT + ALT + S", function()
|
||||||
|
hl.exec_cmd("colorpicker")
|
||||||
|
end)
|
||||||
|
hl.bind("SUPER + SHIFT + R", function()
|
||||||
|
hl.exec_cmd("autostart-manage run-wayland")
|
||||||
|
end)
|
||||||
|
hl.bind(" + XF86AudioPlay", function()
|
||||||
|
hl.exec_cmd("playerctl play-pause")
|
||||||
|
end, { locked = true })
|
||||||
|
hl.bind(" + XF86AudioPause", function()
|
||||||
|
hl.exec_cmd("playerctl pause")
|
||||||
|
end, { locked = true })
|
||||||
|
hl.bind(" + XF86AudioNext", function()
|
||||||
|
hl.exec_cmd("playerctl next")
|
||||||
|
end, { locked = true })
|
||||||
|
hl.bind(" + XF86AudioPrev", function()
|
||||||
|
hl.exec_cmd("playerctl prev")
|
||||||
|
end, { locked = true })
|
||||||
|
hl.bind("SUPER + h", hl.dsp.focus({ direction = "l" }))
|
||||||
|
hl.bind("SUPER + j", hl.dsp.focus({ direction = "d" }))
|
||||||
|
hl.bind("SUPER + k", hl.dsp.focus({ direction = "u" }))
|
||||||
|
hl.bind("SUPER + l", hl.dsp.focus({ direction = "r" }))
|
||||||
|
hl.bind("SUPER + SHIFT + h", hl.dsp.window.move({ direction = "l" }))
|
||||||
|
hl.bind("SUPER + SHIFT + j", hl.dsp.window.move({ direction = "d" }))
|
||||||
|
hl.bind("SUPER + SHIFT + k", hl.dsp.window.move({ direction = "u" }))
|
||||||
|
hl.bind("SUPER + SHIFT + l", hl.dsp.window.move({ direction = "r" }))
|
||||||
|
-- hl.bind("SUPER + CTRL + h", hl.dsp.layoutmsg({ "preselect l" }))
|
||||||
|
-- hl.bind("SUPER + CTRL + j", hl.dsp.layoutmsg({ "preselect d" }))
|
||||||
|
-- hl.bind("SUPER + CTRL + k", hl.dsp.layoutmsg({ "preselect u" }))
|
||||||
|
-- hl.bind("SUPER + CTRL + l", hl.dsp.layoutmsg({ "preselect r" }))
|
||||||
|
hl.bind("SUPER + 1", hl.dsp.focus({ workspace = WS01 }))
|
||||||
|
hl.bind("SUPER + 2", hl.dsp.focus({ workspace = WS02 }))
|
||||||
|
hl.bind("SUPER + 3", hl.dsp.focus({ workspace = WS03 }))
|
||||||
|
hl.bind("SUPER + 4", hl.dsp.focus({ workspace = WS04 }))
|
||||||
|
hl.bind("SUPER + 5", hl.dsp.focus({ workspace = WS05 }))
|
||||||
|
hl.bind("SUPER + 6", hl.dsp.focus({ workspace = WS06 }))
|
||||||
|
hl.bind("SUPER + 7", hl.dsp.focus({ workspace = WS07 }))
|
||||||
|
hl.bind("SUPER + 8", hl.dsp.focus({ workspace = WS08 }))
|
||||||
|
hl.bind("SUPER + 9", hl.dsp.focus({ workspace = WS09 }))
|
||||||
|
hl.bind("SUPER + 0", hl.dsp.focus({ workspace = WS10 }))
|
||||||
|
hl.bind("SUPER + SHIFT + 1", hl.dsp.window.move({ workspace = WS01, follow = false }))
|
||||||
|
hl.bind("SUPER + SHIFT + 2", hl.dsp.window.move({ workspace = WS02, follow = false }))
|
||||||
|
hl.bind("SUPER + SHIFT + 3", hl.dsp.window.move({ workspace = WS03, follow = false }))
|
||||||
|
hl.bind("SUPER + SHIFT + 4", hl.dsp.window.move({ workspace = WS04, follow = false }))
|
||||||
|
hl.bind("SUPER + SHIFT + 5", hl.dsp.window.move({ workspace = WS05, follow = false }))
|
||||||
|
hl.bind("SUPER + SHIFT + 6", hl.dsp.window.move({ workspace = WS06, follow = false }))
|
||||||
|
hl.bind("SUPER + SHIFT + 7", hl.dsp.window.move({ workspace = WS07, follow = false }))
|
||||||
|
hl.bind("SUPER + SHIFT + 8", hl.dsp.window.move({ workspace = WS08, follow = false }))
|
||||||
|
hl.bind("SUPER + SHIFT + 9", hl.dsp.window.move({ workspace = WS09, follow = false }))
|
||||||
|
hl.bind("SUPER + SHIFT + 0", hl.dsp.window.move({ workspace = WS10, follow = false }))
|
||||||
|
hl.bind("SUPER + dead_circumflex", hl.dsp.focus({ workspace = WS_FOCUS }))
|
||||||
|
hl.bind("SUPER + SHIFT + dead_circumflex", hl.dsp.window.move({ workspace = WS_FOCUS, follow = false }))
|
||||||
|
hl.bind("SUPER + mouse:272", hl.dsp.window.drag())
|
||||||
|
hl.bind("SUPER + mouse:273", hl.dsp.window.resize())
|
||||||
|
|
||||||
|
hl.bind("XF86AudioLowerVolume", hl.dsp.pass({ window = "class:TeamSpeak 3" }))
|
||||||
|
hl.bind("XF86AudioRaiseVolume", hl.dsp.pass({ window = "class:TeamSpeak 3" }))
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
$ws01 = name:[01]
|
|
||||||
$ws02 = name:[02]
|
|
||||||
$ws03 = name:[03]
|
|
||||||
$ws04 = name:[04]
|
|
||||||
$ws05 = name:[05]
|
|
||||||
$ws06 = name:[06]
|
|
||||||
$ws07 = name:[07]
|
|
||||||
$ws08 = name:[08]
|
|
||||||
$ws09 = name:[09]
|
|
||||||
$ws10 = name:[10]
|
|
||||||
|
|
||||||
$ws_web = $ws01
|
|
||||||
$ws_focus = $ws07
|
|
||||||
$ws_media = $ws08
|
|
||||||
$ws_chat = $ws09
|
|
||||||
$ws_msg = $ws10
|
|
||||||
|
|
||||||
$ws_steam = $ws_media
|
|
||||||
16
.config/hypr/defaults.lua
Normal file
16
.config/hypr/defaults.lua
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
WS01 = "name:[01]"
|
||||||
|
WS02 = "name:[02]"
|
||||||
|
WS03 = "name:[03]"
|
||||||
|
WS04 = "name:[04]"
|
||||||
|
WS05 = "name:[05]"
|
||||||
|
WS06 = "name:[06]"
|
||||||
|
WS07 = "name:[07]"
|
||||||
|
WS08 = "name:[08]"
|
||||||
|
WS09 = "name:[09]"
|
||||||
|
WS10 = "name:[10]"
|
||||||
|
WS_WEB = "name:[01]"
|
||||||
|
WS_FOCUS = "name:[07]"
|
||||||
|
WS_MEDIA = "name:[08]"
|
||||||
|
WS_CHAT = "name:[09]"
|
||||||
|
WS_MSG = "name:[10]"
|
||||||
|
WS_STEAM = "name:[08]"
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
# dracula/hyprland
|
|
||||||
general {
|
|
||||||
#col.active_border = rgb(44475a) rgb(bd93f9) 90deg
|
|
||||||
#col.inactive_border = rgba(44475aaa)
|
|
||||||
col.nogroup_border = rgba(282a36dd)
|
|
||||||
col.nogroup_border_active = rgb(bd93f9) rgb(44475a) 90deg
|
|
||||||
border_size = 2
|
|
||||||
|
|
||||||
# non-gradient alternative
|
|
||||||
col.active_border = rgb(bd93f9)
|
|
||||||
col.inactive_border = rgba(44475aaa)
|
|
||||||
#col.group_border = rgba(282a36dd)
|
|
||||||
#col.group_border_active = rgb(bd93f9)
|
|
||||||
|
|
||||||
# darker alternative
|
|
||||||
#col.active_border = rgb(44475a) # or rgb(6272a4)
|
|
||||||
#col.inactive_border = rgb(282a36)
|
|
||||||
#col.group_border = rgb(282a36)
|
|
||||||
#col.group_border_active = rgb(44475a) # or rgb(6272a4)
|
|
||||||
|
|
||||||
}
|
|
||||||
decoration:shadow {
|
|
||||||
color = rgba(1E202966)
|
|
||||||
|
|
||||||
# suggested shadow setting
|
|
||||||
#drop_shadow = yes
|
|
||||||
#shadow_range = 60
|
|
||||||
#shadow_offset = 1 2
|
|
||||||
#shadow_render_power = 3
|
|
||||||
#shadow_scale = 0.97
|
|
||||||
}
|
|
||||||
|
|
||||||
group {
|
|
||||||
groupbar {
|
|
||||||
col.active = rgb(bd93f9) rgb(44475a) 90deg
|
|
||||||
col.inactive = rgba(282a36dd)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#windowrulev2 = bordercolor rgb(ff5555),xwayland:1 # check if window is xwayland
|
|
||||||
24
.config/hypr/dracula.lua
Normal file
24
.config/hypr/dracula.lua
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
hl.config({
|
||||||
|
general = {
|
||||||
|
border_size = 2,
|
||||||
|
col = {
|
||||||
|
active_border = "rgba(bd93f9ff)",
|
||||||
|
inactive_border = "rgba(44475aaa)",
|
||||||
|
nogroup_border = "rgba(282a36dd)",
|
||||||
|
nogroup_border_active = "rgba(bd93f9ff)",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
group = {
|
||||||
|
groupbar = {
|
||||||
|
col = {
|
||||||
|
active = "rgba(bd93f9ff)",
|
||||||
|
inactive = "rgba(282a36dd)",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
decoration = {
|
||||||
|
shadow = {
|
||||||
|
color = "rgba(1E202966)",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
# Some default env vars.
|
|
||||||
env = XCURSOR_SIZE,24
|
|
||||||
env = XCURSOR_THEME,Dracula-cursors
|
|
||||||
|
|
||||||
env = HYPRCURSOR_THEME,hyprcursor_Dracula
|
|
||||||
env = HYPRCURSOR_SIZE,24
|
|
||||||
|
|
||||||
env = GDK_BACKEND,wayland,x11
|
|
||||||
env = QT_QPA_PLATFORM,wayland;xcb
|
|
||||||
env = SDL_VIDEODRIVER,wayland
|
|
||||||
env = CLUTTER_BACKEND,wayland
|
|
||||||
8
.config/hypr/env.lua
Normal file
8
.config/hypr/env.lua
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
hl.env("XCURSOR_SIZE", "24")
|
||||||
|
hl.env("XCURSOR_THEME", "Dracula-cursors")
|
||||||
|
hl.env("HYPRCURSOR_THEME", "hyprcursor_Dracula")
|
||||||
|
hl.env("HYPRCURSOR_SIZE", "24")
|
||||||
|
hl.env("GDK_BACKEND", "wayland,x11")
|
||||||
|
hl.env("QT_QPA_PLATFORM", "wayland;xcb")
|
||||||
|
hl.env("SDL_VIDEODRIVER", "wayland")
|
||||||
|
hl.env("CLUTTER_BACKEND", "wayland")
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
$mon1 = DP-1
|
|
||||||
$mon2 = HDMI-A-1
|
|
||||||
|
|
||||||
monitor = $mon1,2560x1440@180,auto-right,1.25
|
|
||||||
monitor = $mon2,2560x1440@60,0x0,1.25
|
|
||||||
monitor = $mon2, addreserved, 0, 0, 0, 1530
|
|
||||||
|
|
||||||
source = ~/.config/hypr/lib/7_3_ws_layout.conf
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
$mon1 = DP-1
|
|
||||||
$mon2 = HDMI-A-1
|
|
||||||
$mon = $mon1
|
|
||||||
|
|
||||||
monitor = $mon1,2560x1440@144,0x0,auto
|
|
||||||
monitor = $mon2,disable
|
|
||||||
|
|
||||||
source = ~/.config/hypr/lib/single_mon.conf
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
$mon1 = DP-1
|
|
||||||
$mon2 = HDMI-A-1
|
|
||||||
$mon = $mon2
|
|
||||||
|
|
||||||
monitor = $mon1,disable
|
|
||||||
monitor = $mon2,2560x1440@60,0x0,1.25
|
|
||||||
|
|
||||||
source = ~/.config/hypr/lib/single_mon.conf
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
$mon1 = DP-1
|
|
||||||
$mon2 = HDMI-A-1
|
|
||||||
|
|
||||||
monitor = $mon1,2560x1440@180,auto-right,1.25
|
|
||||||
monitor = $mon2,2560x1440@60,0x0,1.25
|
|
||||||
|
|
||||||
source = ~/.config/hypr/lib/7_3_ws_layout.conf
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
$mon1 = eDP-1
|
|
||||||
$mon2 = HDMI-A-2
|
|
||||||
|
|
||||||
monitor = $mon1,1600x900@60,0x0,auto
|
|
||||||
monitor = $mon2,preferred,1600x0,auto
|
|
||||||
|
|
||||||
source = ~/.config/hypr/lib/7_3_ws_layout.conf
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
$mon1 = eDP-1
|
|
||||||
$mon2 = HDMI-A-2
|
|
||||||
$mon = $mon1
|
|
||||||
|
|
||||||
monitor = $mon1,1600x900@60,0x0,auto
|
|
||||||
monitor = $mon2,disable
|
|
||||||
|
|
||||||
source = ~/.config/hypr/lib/single_mon.conf
|
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
MON1 = "DP-1"
|
||||||
|
MON2 = "HDMI-A-1"
|
||||||
|
|
||||||
|
hl.monitor({
|
||||||
|
output = "DP-1",
|
||||||
|
mode = "2560x1440@180",
|
||||||
|
position = "auto-right",
|
||||||
|
scale = 1.25,
|
||||||
|
})
|
||||||
|
hl.monitor({
|
||||||
|
output = "HDMI-A-1",
|
||||||
|
mode = "2560x1440@60",
|
||||||
|
position = "0x0",
|
||||||
|
scale = 1.25,
|
||||||
|
reserved_area = {
|
||||||
|
top = 0,
|
||||||
|
bottom = 0,
|
||||||
|
left = 0,
|
||||||
|
right = 1530
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
require("lib.7_3_ws_layout")
|
||||||
16
.config/hypr/host.lua##hostname.portalo,class.monitor-single
Normal file
16
.config/hypr/host.lua##hostname.portalo,class.monitor-single
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
MON1 = "DP-1"
|
||||||
|
MON2 = "HDMI-A-1"
|
||||||
|
MON = MON1
|
||||||
|
|
||||||
|
hl.monitor({
|
||||||
|
output = MON1,
|
||||||
|
mode = "2560x1440@180",
|
||||||
|
position = "0x0",
|
||||||
|
scale = 1.25,
|
||||||
|
})
|
||||||
|
hl.monitor({
|
||||||
|
output = MON2,
|
||||||
|
disabled = true,
|
||||||
|
})
|
||||||
|
|
||||||
|
require("lib.single_mon")
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
MON1 = "DP-1"
|
||||||
|
MON2 = "HDMI-A-1"
|
||||||
|
MON = MON2
|
||||||
|
|
||||||
|
hl.monitor({
|
||||||
|
output = MON1,
|
||||||
|
disabled = true,
|
||||||
|
})
|
||||||
|
hl.monitor({
|
||||||
|
output = MON2,
|
||||||
|
mode = "2560x1440@60",
|
||||||
|
position = "0x0",
|
||||||
|
scale = 1.25,
|
||||||
|
})
|
||||||
|
|
||||||
|
require("lib.single_mon")
|
||||||
17
.config/hypr/host.lua##hostname.portalo,default
Normal file
17
.config/hypr/host.lua##hostname.portalo,default
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
MON1 = "DP-1"
|
||||||
|
MON2 = "HDMI-A-1"
|
||||||
|
|
||||||
|
hl.monitor({
|
||||||
|
output = "DP-1",
|
||||||
|
mode = "2560x1440@180",
|
||||||
|
position = "auto-right",
|
||||||
|
scale = 1.25,
|
||||||
|
})
|
||||||
|
hl.monitor({
|
||||||
|
output = "HDMI-A-1",
|
||||||
|
mode = "2560x1440@60",
|
||||||
|
position = "0x0",
|
||||||
|
scale = 1.25,
|
||||||
|
})
|
||||||
|
|
||||||
|
require("lib.7_3_ws_layout")
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
source = ~/.config/hypr/dracula.conf
|
|
||||||
|
|
||||||
source = ~/.config/hypr/defaults.conf
|
|
||||||
|
|
||||||
source = ~/.config/hypr/host.conf
|
|
||||||
|
|
||||||
source = ~/.config/hypr/env.conf
|
|
||||||
source = ~/.config/hypr/vars.conf
|
|
||||||
source = ~/.config/hypr/binds.conf
|
|
||||||
source = ~/.config/hypr/rules.conf
|
|
||||||
|
|
||||||
exec-once = autostart-manage sync wayland,hyprland
|
|
||||||
exec-once = autostart-manage run-wayland
|
|
||||||
exec = xsetroot -cursor_name left_ptr
|
|
||||||
18
.config/hypr/hyprland.lua
Normal file
18
.config/hypr/hyprland.lua
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
require("dracula")
|
||||||
|
require("defaults")
|
||||||
|
require("host")
|
||||||
|
require("env")
|
||||||
|
require("vars")
|
||||||
|
require("binds")
|
||||||
|
require("rules")
|
||||||
|
|
||||||
|
hl.on("hyprland.start", function()
|
||||||
|
hl.exec_cmd("autostart-manage sync wayland,hyprland")
|
||||||
|
hl.exec_cmd("autostart-manage run-wayland")
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- MIGRATION_NOTE: 'exec' (non-once) commands — these run on every reload.
|
||||||
|
-- Consider if they should be in hyprland.start or another event.
|
||||||
|
hl.on("monitor.layout_changed", function()
|
||||||
|
hl.exec_cmd("xsetroot -cursor_name left_ptr")
|
||||||
|
end)
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
workspace=$ws01, monitor:$mon1, default:true
|
|
||||||
workspace=$ws02, monitor:$mon1
|
|
||||||
workspace=$ws03, monitor:$mon1
|
|
||||||
workspace=$ws04, monitor:$mon1
|
|
||||||
workspace=$ws05, monitor:$mon1
|
|
||||||
workspace=$ws06, monitor:$mon1
|
|
||||||
workspace=$ws07, monitor:$mon1
|
|
||||||
|
|
||||||
workspace=$ws08, monitor:$mon2
|
|
||||||
workspace=$ws09, monitor:$mon2, default:true
|
|
||||||
workspace=$ws10, monitor:$mon2
|
|
||||||
|
|
||||||
exec = hyprctl dispatch moveworkspacetomonitor $ws01 $mon1
|
|
||||||
exec = hyprctl dispatch moveworkspacetomonitor $ws02 $mon1
|
|
||||||
exec = hyprctl dispatch moveworkspacetomonitor $ws03 $mon1
|
|
||||||
exec = hyprctl dispatch moveworkspacetomonitor $ws04 $mon1
|
|
||||||
exec = hyprctl dispatch moveworkspacetomonitor $ws05 $mon1
|
|
||||||
exec = hyprctl dispatch moveworkspacetomonitor $ws06 $mon1
|
|
||||||
exec = hyprctl dispatch moveworkspacetomonitor $ws07 $mon1
|
|
||||||
exec = hyprctl dispatch moveworkspacetomonitor $ws08 $mon2
|
|
||||||
exec = hyprctl dispatch moveworkspacetomonitor $ws09 $mon2
|
|
||||||
exec = hyprctl dispatch moveworkspacetomonitor $ws10 $mon2
|
|
||||||
48
.config/hypr/lib/7_3_ws_layout.lua
Normal file
48
.config/hypr/lib/7_3_ws_layout.lua
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
-- hyprland.lua
|
||||||
|
-- Generated by hypr-migrate from: 7_3_ws_layout.conf
|
||||||
|
-- Hyprland >= 0.55 required — https://wiki.hypr.land/
|
||||||
|
--
|
||||||
|
-- MIGRATION SUMMARY:
|
||||||
|
-- Variables: 0 resolved
|
||||||
|
-- Config keys: 0 emitted
|
||||||
|
-- Monitors: 0
|
||||||
|
-- Keybinds: 0 total, 0 collapsed into loops
|
||||||
|
-- Window rules: 0 total, 0 merged
|
||||||
|
-- Workspace rules: 10
|
||||||
|
-- Exec commands: 10
|
||||||
|
-- Gestures: 0
|
||||||
|
-- Warnings: 0 ← search MIGRATION_WARNING
|
||||||
|
-- Review needed: 0 ← search MIGRATION_NOTE
|
||||||
|
--
|
||||||
|
-- IMPORTANT: Verify output against https://wiki.hypr.land/ before use
|
||||||
|
-- The wiki is the only authoritative reference for Lua syntax.
|
||||||
|
require("defaults")
|
||||||
|
|
||||||
|
hl.workspace_rule({ workspace = WS01, monitor = MON1 })
|
||||||
|
hl.workspace_rule({ workspace = WS02, monitor = MON1 })
|
||||||
|
hl.workspace_rule({ workspace = WS03, monitor = MON1 })
|
||||||
|
hl.workspace_rule({ workspace = WS04, monitor = MON1 })
|
||||||
|
hl.workspace_rule({ workspace = WS05, monitor = MON1 })
|
||||||
|
hl.workspace_rule({ workspace = WS06, monitor = MON1 })
|
||||||
|
hl.workspace_rule({ workspace = WS07, monitor = MON1 })
|
||||||
|
hl.workspace_rule({ workspace = WS08, monitor = MON2 })
|
||||||
|
hl.workspace_rule({ workspace = WS09, monitor = MON2 })
|
||||||
|
hl.workspace_rule({ workspace = WS10, monitor = MON2 })
|
||||||
|
|
||||||
|
-- MIGRATION_NOTE: 'exec' (non-once) commands — these run on every reload.
|
||||||
|
-- Consider if they should be in hyprland.start or another event.
|
||||||
|
hl.on("monitor.layout_changed", function()
|
||||||
|
hl.dsp.workspace.move({ workspace = WS01, monitor = MON1 })
|
||||||
|
hl.dsp.workspace.move({ workspace = WS02, monitor = MON1 })
|
||||||
|
hl.dsp.workspace.move({ workspace = WS03, monitor = MON1 })
|
||||||
|
hl.dsp.workspace.move({ workspace = WS04, monitor = MON1 })
|
||||||
|
hl.dsp.workspace.move({ workspace = WS05, monitor = MON1 })
|
||||||
|
hl.dsp.workspace.move({ workspace = WS06, monitor = MON1 })
|
||||||
|
hl.dsp.workspace.move({ workspace = WS07, monitor = MON1 })
|
||||||
|
hl.dsp.workspace.move({ workspace = WS08, monitor = MON2 })
|
||||||
|
hl.dsp.workspace.move({ workspace = WS09, monitor = MON2 })
|
||||||
|
hl.dsp.workspace.move({ workspace = WS10, monitor = MON2 })
|
||||||
|
|
||||||
|
hl.dsp.focus({ workspace = WS01 })
|
||||||
|
hl.dsp.focus({ workspace = WS09 })
|
||||||
|
end)
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
workspace=$ws01, monitor:$mon, default:true
|
|
||||||
workspace=$ws02, monitor:$mon
|
|
||||||
workspace=$ws03, monitor:$mon
|
|
||||||
workspace=$ws04, monitor:$mon
|
|
||||||
workspace=$ws05, monitor:$mon
|
|
||||||
workspace=$ws06, monitor:$mon
|
|
||||||
workspace=$ws07, monitor:$mon
|
|
||||||
workspace=$ws08, monitor:$mon
|
|
||||||
workspace=$ws09, monitor:$mon
|
|
||||||
workspace=$ws10, monitor:$mon
|
|
||||||
|
|
||||||
exec = hyprctl dispatch moveworkspacetomonitor $ws01 $mon
|
|
||||||
exec = hyprctl dispatch moveworkspacetomonitor $ws02 $mon
|
|
||||||
exec = hyprctl dispatch moveworkspacetomonitor $ws03 $mon
|
|
||||||
exec = hyprctl dispatch moveworkspacetomonitor $ws04 $mon
|
|
||||||
exec = hyprctl dispatch moveworkspacetomonitor $ws05 $mon
|
|
||||||
exec = hyprctl dispatch moveworkspacetomonitor $ws06 $mon
|
|
||||||
exec = hyprctl dispatch moveworkspacetomonitor $ws07 $mon
|
|
||||||
exec = hyprctl dispatch moveworkspacetomonitor $ws08 $mon
|
|
||||||
exec = hyprctl dispatch moveworkspacetomonitor $ws09 $mon
|
|
||||||
exec = hyprctl dispatch moveworkspacetomonitor $ws10 $mon
|
|
||||||
47
.config/hypr/lib/single_mon.lua
Normal file
47
.config/hypr/lib/single_mon.lua
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
-- hyprland.lua
|
||||||
|
-- Generated by hypr-migrate from: single_mon.conf
|
||||||
|
-- Hyprland >= 0.55 required — https://wiki.hypr.land/
|
||||||
|
--
|
||||||
|
-- MIGRATION SUMMARY:
|
||||||
|
-- Variables: 0 resolved
|
||||||
|
-- Config keys: 0 emitted
|
||||||
|
-- Monitors: 0
|
||||||
|
-- Keybinds: 0 total, 0 collapsed into loops
|
||||||
|
-- Window rules: 0 total, 0 merged
|
||||||
|
-- Workspace rules: 10
|
||||||
|
-- Exec commands: 10
|
||||||
|
-- Gestures: 0
|
||||||
|
-- Warnings: 0 ← search MIGRATION_WARNING
|
||||||
|
-- Review needed: 0 ← search MIGRATION_NOTE
|
||||||
|
--
|
||||||
|
-- IMPORTANT: Verify output against https://wiki.hypr.land/ before use
|
||||||
|
-- The wiki is the only authoritative reference for Lua syntax.
|
||||||
|
require("defaults")
|
||||||
|
|
||||||
|
hl.workspace_rule({ workspace = WS01, monitor = MON })
|
||||||
|
hl.workspace_rule({ workspace = WS02, monitor = MON })
|
||||||
|
hl.workspace_rule({ workspace = WS03, monitor = MON })
|
||||||
|
hl.workspace_rule({ workspace = WS04, monitor = MON })
|
||||||
|
hl.workspace_rule({ workspace = WS05, monitor = MON })
|
||||||
|
hl.workspace_rule({ workspace = WS06, monitor = MON })
|
||||||
|
hl.workspace_rule({ workspace = WS07, monitor = MON })
|
||||||
|
hl.workspace_rule({ workspace = WS08, monitor = MON })
|
||||||
|
hl.workspace_rule({ workspace = WS09, monitor = MON })
|
||||||
|
hl.workspace_rule({ workspace = WS10, monitor = MON })
|
||||||
|
|
||||||
|
-- MIGRATION_NOTE: 'exec' (non-once) commands — these run on every reload.
|
||||||
|
-- Consider if they should be in hyprland.start or another event.
|
||||||
|
hl.on("monitor.layout_changed", function()
|
||||||
|
hl.dsp.workspace.move({ workspace = WS01, monitor = MON1 })
|
||||||
|
hl.dsp.workspace.move({ workspace = WS02, monitor = MON1 })
|
||||||
|
hl.dsp.workspace.move({ workspace = WS03, monitor = MON1 })
|
||||||
|
hl.dsp.workspace.move({ workspace = WS04, monitor = MON1 })
|
||||||
|
hl.dsp.workspace.move({ workspace = WS05, monitor = MON1 })
|
||||||
|
hl.dsp.workspace.move({ workspace = WS06, monitor = MON1 })
|
||||||
|
hl.dsp.workspace.move({ workspace = WS07, monitor = MON1 })
|
||||||
|
hl.dsp.workspace.move({ workspace = WS08, monitor = MON1 })
|
||||||
|
hl.dsp.workspace.move({ workspace = WS09, monitor = MON1 })
|
||||||
|
hl.dsp.workspace.move({ workspace = WS10, monitor = MON1 })
|
||||||
|
|
||||||
|
hl.dsp.focus({ workspace = WS01 })
|
||||||
|
end)
|
||||||
|
|
@ -1,86 +0,0 @@
|
||||||
# Layer rules
|
|
||||||
|
|
||||||
layerrule = no_anim on, match:namespace menu
|
|
||||||
layerrule = no_anim on, match:namespace notifications
|
|
||||||
|
|
||||||
|
|
||||||
# Workspace rules
|
|
||||||
|
|
||||||
workspace = w[t1], gapsin:0, gapsout:0, border:0
|
|
||||||
|
|
||||||
windowrule = workspace $ws_web silent, match:class (org.qutebrowser.qutebrowser)
|
|
||||||
windowrule = workspace $ws_web silent, match:class ([bB]rave-browser)
|
|
||||||
windowrule = workspace $ws_web, match:class (firefox)
|
|
||||||
|
|
||||||
windowrule = workspace $ws_focus, match:class ^(jetbrains-)
|
|
||||||
|
|
||||||
windowrule = workspace $ws_media, match:class ([cC]hromium)
|
|
||||||
windowrule = workspace $ws_media, match:class (io.freetubeapp.FreeTube)
|
|
||||||
windowrule = workspace $ws_media, match:class (org.qutebrowser.qutebrowser-kiosk)
|
|
||||||
windowrule = workspace $ws_media, match:class ([bB]rave-.*-Default)
|
|
||||||
|
|
||||||
windowrule = workspace $ws_chat silent, match:class (discord)
|
|
||||||
windowrule = workspace $ws_chat silent, match:class (Element)
|
|
||||||
windowrule = workspace $ws_chat silent, match:class (cinny)
|
|
||||||
windowrule = workspace $ws_chat silent, match:class (im.riot.Riot)
|
|
||||||
windowrule = workspace $ws_chat silent, match:class (TeamSpeak 3)
|
|
||||||
windowrule = workspace $ws_chat silent, match:class (TeamSpeak)
|
|
||||||
|
|
||||||
windowrule = workspace $ws_msg silent, match:class (thunderbird|net.thunderbird.Thunderbird)
|
|
||||||
windowrule = workspace $ws_msg silent, match:class ^(Signal|org.signal.Signal)
|
|
||||||
|
|
||||||
windowrule = workspace $ws02, match:class (OMNeT\+\+ IDE)
|
|
||||||
windowrule = workspace $ws03, match:class (Qtenv)
|
|
||||||
|
|
||||||
|
|
||||||
# General rules
|
|
||||||
|
|
||||||
windowrule = no_blur on, match:class ^$ # intended for menus. not sure about side-effects
|
|
||||||
|
|
||||||
# Specific rules
|
|
||||||
|
|
||||||
windowrule = float on, match:class (xdg-desktop-portal-gtk)
|
|
||||||
|
|
||||||
windowrule = float on, match:class ([bB]rave-browser), match:initial_title ^about:blank - Brave$
|
|
||||||
|
|
||||||
windowrule = no_initial_focus on, match:class (thunderbird|net.thunderbird.Thunderbird), match:title ^$
|
|
||||||
windowrule = float on, match:class (thunderbird|net.thunderbird.Thunderbird), match:title ^$
|
|
||||||
|
|
||||||
windowrule = float on, match:class (thunderbird|net.thunderbird.Thunderbird), match:title (Reminder)
|
|
||||||
|
|
||||||
windowrule = float on, match:class (org.keepassxc.KeePassXC), match:title (KeePassXC - Browser Access Request)
|
|
||||||
|
|
||||||
windowrule = stay_focused on, match:class (Pinentry-gtk)
|
|
||||||
windowrule = pin on, match:class (Pinentry-gtk)
|
|
||||||
|
|
||||||
windowrule = fullscreen on, match:class (FreeTube)
|
|
||||||
|
|
||||||
windowrule = float on, match:class (com/.https://ultimaker.UltiMaker-Cura), match:title (UltiMaker-Cura)
|
|
||||||
|
|
||||||
windowrule = tile on, match:class (cinny)
|
|
||||||
windowrule = fullscreen_state 0 0, match:class (cinny)
|
|
||||||
|
|
||||||
# https://github.com/hyprwm/Hyprland/issues/4257#issuecomment-1879781806
|
|
||||||
# fix tooltips (always have a title of `win.<id>`)
|
|
||||||
windowrule = no_initial_focus on, match:class ^(.*jetbrains.*)$, match:title ^(win.*)$
|
|
||||||
windowrule = no_focus on, match:class ^(.*jetbrains.*)$, match:title ^(win.*)$
|
|
||||||
# fix tab dragging (always have a single space character as their title)
|
|
||||||
windowrule = no_initial_focus on, match:class ^(.*jetbrains.*)$, match:title ^\\s$
|
|
||||||
windowrule = no_focus on, match:class ^(.*jetbrains.*)$, match:title ^\\s$
|
|
||||||
|
|
||||||
|
|
||||||
# Gaming Rules (steam and games)
|
|
||||||
|
|
||||||
windowrule = move 100%-300 100%-30, match:class (steam), match:title ^(notificationtoasts)
|
|
||||||
windowrule = no_focus on, match:class (steam), match:title ^(notificationtoasts)
|
|
||||||
windowrule = float on, match:class (zenity), match:title ^(Progress)
|
|
||||||
windowrule = no_initial_focus on, match:class (steam), match:title ^(Friends List)
|
|
||||||
windowrule = workspace $ws_chat silent, match:class (steam), match:title ^(Friends List)
|
|
||||||
|
|
||||||
windowrule = fullscreen on, match:class ^Minecraft
|
|
||||||
windowrule = fullscreen on, match:class ^cs2$
|
|
||||||
windowrule = workspace $ws_focus, match:class ^cs2$
|
|
||||||
windowrule = fullscreen on, match:class ^factorio$
|
|
||||||
windowrule = workspace $ws_focus, match:class ^factorio$
|
|
||||||
windowrule = fullscreen on, match:class ^(steam_app_)
|
|
||||||
windowrule = workspace $ws_focus, match:class ^(steam_app_)
|
|
||||||
83
.config/hypr/rules.lua
Normal file
83
.config/hypr/rules.lua
Normal file
|
|
@ -0,0 +1,83 @@
|
||||||
|
require("defaults")
|
||||||
|
|
||||||
|
--hl.layer_rule({ match = { namespace = "match:namespace menu" }, no_anim on = true })
|
||||||
|
--hl.layer_rule({ match = { namespace = "match:namespace notifications" }, no_anim on = true })
|
||||||
|
|
||||||
|
-- Workspace rules
|
||||||
|
|
||||||
|
hl.workspace_rule({ workspace = "w[t1]", gaps_in = 0, gaps_out = 0, border_size = 0 })
|
||||||
|
|
||||||
|
hl.window_rule({ match = { class = "org.qutebrowser.qutebrowser" }, workspace = WS_WEB .. " silent" })
|
||||||
|
hl.window_rule({ match = { class = "[bB]rave-browser" }, workspace = WS_WEB })
|
||||||
|
hl.window_rule({ match = { class = "firefox" }, workspace = WS_WEB })
|
||||||
|
|
||||||
|
hl.window_rule({ match = { class = "^jetbrains-" }, workspace = WS_FOCUS })
|
||||||
|
|
||||||
|
hl.window_rule({ match = { class = "[cC]hromium" }, workspace = WS_MEDIA })
|
||||||
|
hl.window_rule({ match = { class = "io.freetubeapp.FreeTube" }, workspace = WS_MEDIA, fullscreen = true })
|
||||||
|
hl.window_rule({ match = { class = "org.qutebrowser.qutebrowser-kiosk" }, workspace = WS_MEDIA })
|
||||||
|
hl.window_rule({ match = { class = "[bB]rave-.*-Default" }, workspace = WS_MEDIA })
|
||||||
|
--
|
||||||
|
hl.window_rule({ match = { class = "discord" }, workspace = WS_CHAT .. " silent" })
|
||||||
|
hl.window_rule({ match = { class = "Element" }, workspace = WS_CHAT .. " silent" })
|
||||||
|
hl.window_rule({ match = { class = "[cC]inny" }, workspace = WS_CHAT .. " silent" })
|
||||||
|
hl.window_rule({ match = { class = "im.riot.Riot" }, workspace = WS_CHAT .. " silent" })
|
||||||
|
hl.window_rule({ match = { class = "TeamSpeak 3" }, workspace = WS_CHAT })
|
||||||
|
|
||||||
|
hl.window_rule({ match = { class = "(thunderbird|net.thunderbird.Thunderbird)" }, workspace = WS_MSG .. " silent" })
|
||||||
|
hl.window_rule({ match = { class = "^(Signal|org.signal.Signal)" }, workspace = WS_MSG .. " silent" })
|
||||||
|
|
||||||
|
-- General rules
|
||||||
|
hl.window_rule({ match = { class = "^$" }, no_blur = true }) -- intended for menus. not sure about side-effects
|
||||||
|
|
||||||
|
-- Specific rules
|
||||||
|
hl.window_rule({ match = { class = "xdg-desktop-portal-gtk" }, float = true })
|
||||||
|
hl.window_rule({ match = { class = "([bB]rave-browser)", initial_title = "^about:blank - Brave$" }, float = true })
|
||||||
|
hl.window_rule({
|
||||||
|
match = { class = "(thunderbird|net.thunderbird.Thunderbird)", title = "^$" },
|
||||||
|
no_initial_focus = true,
|
||||||
|
float = true,
|
||||||
|
})
|
||||||
|
hl.window_rule({
|
||||||
|
match = { class = "(thunderbird|net.thunderbird.Thunderbird)", title = "Reminder" },
|
||||||
|
float = true,
|
||||||
|
})
|
||||||
|
hl.window_rule({
|
||||||
|
match = { class = "org.keepassxc.KeePassXC", title = "KeePassXC - Browser Access Request" },
|
||||||
|
float = true,
|
||||||
|
})
|
||||||
|
hl.window_rule({ match = { class = "Pinentry-gtk" }, stay_focused = true, pin = true })
|
||||||
|
|
||||||
|
-- https://github.com/hyprwm/Hyprland/issues/4257#issuecomment-1879781806
|
||||||
|
-- fix tooltips (always have a title of `win.<id>`)
|
||||||
|
hl.window_rule({ match = { class = "^.*jetbrains.*$", title = "^win.*$" }, no_initial_focus = true, no_focus = true })
|
||||||
|
-- fix tab dragging (always have a single space character as their title)
|
||||||
|
hl.window_rule({ match = { class = "^.*jetbrains.*$", title = "^\\s$" }, no_initial_focus = true, no_focus = true })
|
||||||
|
|
||||||
|
-- Gaming Rules (steam and games)
|
||||||
|
--
|
||||||
|
-- hl.window_rule({ match = { class = "" }, workspace = WS_ })
|
||||||
|
-- -- = move 100%-300 100%-30, match:class (steam), match:title ^(notificationtoasts)
|
||||||
|
-- hl.window_rule({ match = { class = "" }, workspace = WS_ })
|
||||||
|
-- -- = no_focus on, match:class (steam), match:title ^(notificationtoasts)
|
||||||
|
-- hl.window_rule({ match = { class = "" }, workspace = WS_ })
|
||||||
|
-- -- = float on, match:class (zenity), match:title ^(Progress)
|
||||||
|
-- hl.window_rule({ match = { class = "" }, workspace = WS_ })
|
||||||
|
-- -- = no_initial_focus on, match:class (steam), match:title ^(Friends List)
|
||||||
|
-- hl.window_rule({ match = { class = "" }, workspace = WS_ })
|
||||||
|
-- -- = workspace $ws_chat silent, match:class (steam), match:title ^(Friends List)
|
||||||
|
-- --
|
||||||
|
-- hl.window_rule({ match = { class = "" }, workspace = WS_ })
|
||||||
|
-- -- = fullscreen on, match:class ^Minecraft
|
||||||
|
-- hl.window_rule({ match = { class = "" }, workspace = WS_ })
|
||||||
|
-- -- = fullscreen on, match:class ^cs2$
|
||||||
|
-- hl.window_rule({ match = { class = "" }, workspace = WS_ })
|
||||||
|
-- -- = workspace $ws_focus, match:class ^cs2$
|
||||||
|
-- hl.window_rule({ match = { class = "" }, workspace = WS_ })
|
||||||
|
-- -- = fullscreen on, match:class ^factorio$
|
||||||
|
-- hl.window_rule({ match = { class = "" }, workspace = WS_ })
|
||||||
|
-- -- = workspace $ws_focus, match:class ^factorio$
|
||||||
|
-- hl.window_rule({ match = { class = "" }, workspace = WS_ })
|
||||||
|
-- -- = fullscreen on, match:class ^(steam_app_)
|
||||||
|
-- hl.window_rule({ match = { class = "" }, workspace = WS_ })
|
||||||
|
-- -- = workspace $ws_focus, match:class ^(steam_app_)
|
||||||
|
|
@ -1,87 +0,0 @@
|
||||||
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
|
||||||
input {
|
|
||||||
kb_layout = de
|
|
||||||
kb_variant =
|
|
||||||
kb_model =
|
|
||||||
kb_options = compose:menu, caps:none
|
|
||||||
kb_rules =
|
|
||||||
numlock_by_default = true
|
|
||||||
|
|
||||||
follow_mouse = 1
|
|
||||||
mouse_refocus = true
|
|
||||||
accel_profile = flat
|
|
||||||
|
|
||||||
touchpad {
|
|
||||||
natural_scroll = no
|
|
||||||
}
|
|
||||||
|
|
||||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
|
||||||
}
|
|
||||||
|
|
||||||
general {
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
|
||||||
|
|
||||||
gaps_in = 3
|
|
||||||
gaps_out = 6
|
|
||||||
border_size = 1
|
|
||||||
|
|
||||||
layout = dwindle
|
|
||||||
}
|
|
||||||
|
|
||||||
cursor {
|
|
||||||
inactive_timeout = 0
|
|
||||||
no_warps = true
|
|
||||||
}
|
|
||||||
|
|
||||||
misc {
|
|
||||||
disable_hyprland_logo = true
|
|
||||||
background_color = 0x1E1F29
|
|
||||||
disable_autoreload = true
|
|
||||||
|
|
||||||
anr_missed_pings = 10
|
|
||||||
enable_anr_dialog = false
|
|
||||||
}
|
|
||||||
|
|
||||||
decoration {
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
|
||||||
|
|
||||||
rounding = 3
|
|
||||||
|
|
||||||
blur {
|
|
||||||
enabled = true
|
|
||||||
size = 3
|
|
||||||
passes = 1
|
|
||||||
new_optimizations = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
animations {
|
|
||||||
enabled = false
|
|
||||||
|
|
||||||
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
|
||||||
|
|
||||||
bezier = overshot, 0.05, 0.9, 0.1, 1.1
|
|
||||||
|
|
||||||
animation = windows, 1, 3, overshot, slide
|
|
||||||
animation = windowsMove, 1, 3, default
|
|
||||||
animation = fade, 0, 6, default
|
|
||||||
animation = border, 1, 6, default
|
|
||||||
animation = workspaces, 1, 6, overshot, slide
|
|
||||||
}
|
|
||||||
|
|
||||||
dwindle {
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
|
||||||
preserve_split = yes # you probably want this
|
|
||||||
|
|
||||||
force_split = 2 # always split to right/bottom
|
|
||||||
}
|
|
||||||
|
|
||||||
master {
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
|
||||||
new_status = master
|
|
||||||
mfact = 0.5
|
|
||||||
}
|
|
||||||
|
|
||||||
xwayland {
|
|
||||||
force_zero_scaling = true
|
|
||||||
}
|
|
||||||
57
.config/hypr/vars.lua
Normal file
57
.config/hypr/vars.lua
Normal file
|
|
@ -0,0 +1,57 @@
|
||||||
|
hl.config({
|
||||||
|
general = {
|
||||||
|
border_size = 1,
|
||||||
|
gaps_in = 3,
|
||||||
|
gaps_out = 6,
|
||||||
|
layout = "dwindle",
|
||||||
|
},
|
||||||
|
decoration = {
|
||||||
|
blur = {
|
||||||
|
enabled = true,
|
||||||
|
new_optimizations = true,
|
||||||
|
passes = 1,
|
||||||
|
size = 3,
|
||||||
|
},
|
||||||
|
rounding = 3,
|
||||||
|
},
|
||||||
|
input = {
|
||||||
|
accel_profile = "flat",
|
||||||
|
follow_mouse = 1,
|
||||||
|
kb_layout = "de",
|
||||||
|
kb_model = "",
|
||||||
|
kb_options = "compose:menu, caps:none",
|
||||||
|
kb_rules = "",
|
||||||
|
kb_variant = "",
|
||||||
|
mouse_refocus = true,
|
||||||
|
numlock_by_default = true,
|
||||||
|
sensitivity = 0,
|
||||||
|
touchpad = {
|
||||||
|
natural_scroll = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
misc = {
|
||||||
|
anr_missed_pings = 10,
|
||||||
|
background_color = "rgba(1E1F29ff)",
|
||||||
|
disable_autoreload = true,
|
||||||
|
disable_hyprland_logo = true,
|
||||||
|
enable_anr_dialog = false,
|
||||||
|
},
|
||||||
|
xwayland = {
|
||||||
|
force_zero_scaling = true,
|
||||||
|
},
|
||||||
|
cursor = {
|
||||||
|
inactive_timeout = 0,
|
||||||
|
no_warps = true,
|
||||||
|
},
|
||||||
|
dwindle = {
|
||||||
|
force_split = 2,
|
||||||
|
preserve_split = true,
|
||||||
|
},
|
||||||
|
master = {
|
||||||
|
mfact = 0.5,
|
||||||
|
new_status = "master",
|
||||||
|
},
|
||||||
|
animations = {
|
||||||
|
enabled = false,
|
||||||
|
},
|
||||||
|
})
|
||||||
Loading…
Reference in a new issue