From ea15b554d72cdd6abe58138ec892b9f37e366c4c Mon Sep 17 00:00:00 2001 From: Brieuc Dubois Date: Sat, 17 Feb 2024 22:48:25 +0100 Subject: [PATCH] Split hyprland config into pieces --- root/home/bhasher/.config/hypr/hyprland.conf | 173 +----------------- root/home/bhasher/.config/hypr/src/binds.conf | 65 +++++++ .../bhasher/.config/hypr/src/configs.conf | 92 ++++++++++ root/home/bhasher/.config/hypr/src/envs.conf | 3 + .../bhasher/.config/hypr/src/windows.conf | 3 + 5 files changed, 165 insertions(+), 171 deletions(-) create mode 100644 root/home/bhasher/.config/hypr/src/binds.conf create mode 100644 root/home/bhasher/.config/hypr/src/configs.conf create mode 100644 root/home/bhasher/.config/hypr/src/envs.conf create mode 100644 root/home/bhasher/.config/hypr/src/windows.conf diff --git a/root/home/bhasher/.config/hypr/hyprland.conf b/root/home/bhasher/.config/hypr/hyprland.conf index 11b779c..a904239 100644 --- a/root/home/bhasher/.config/hypr/hyprland.conf +++ b/root/home/bhasher/.config/hypr/hyprland.conf @@ -1,8 +1,5 @@ -# See https://wiki.hyprland.org/Configuring/Monitors/ monitor=,1920x1080,auto,1 -# See https://wiki.hyprland.org/Configuring/Keywords/ for more - # Execute your favorite apps at launch exec-once = sh ~/.config/hypr/autostart @@ -10,175 +7,9 @@ exec-once = sh ~/.config/hypr/autostart $terminal = kitty $fileManager = dolphin $menu = tofi-drun | xargs hyprctl dispatch exec - -# Some default env vars. -env = XCURSOR_SIZE,18 -env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that - -# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ -input { - kb_layout = fr - kb_variant = - kb_model = - kb_options = caps:swapescape - kb_rules = - numlock_by_default = true - - follow_mouse = 1 - - touchpad { - natural_scroll = yes - } - - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. -} - -general { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - gaps_in = 5 - gaps_out = 20 - border_size = 2 - col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg - col.inactive_border = rgba(595959aa) - - layout = dwindle - - # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on - allow_tearing = false -} - -decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - rounding = 10 - - blur { - enabled = true - size = 3 - passes = 1 - } - - drop_shadow = yes - shadow_range = 4 - shadow_render_power = 3 - col.shadow = rgba(1a1a1aee) -} - -animations { - enabled = yes - - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - - animation = windows, 1, 7, myBezier - animation = windowsOut, 1, 7, default, popin 80% - animation = border, 1, 10, default - animation = borderangle, 1, 8, default - animation = fade, 1, 7, default - animation = workspaces, 1, 6, default -} - -dwindle { - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more - pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = yes # you probably want this -} - -master { - # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more - new_is_master = true - orientation = right -} - -gestures { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - workspace_swipe = true -} - -misc { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers -} - -# Example per-device config -# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more -device:epic-mouse-v1 { - sensitivity = -0.5 -} - -# Example windowrule v1 -# windowrule = float, ^(kitty)$ -# Example windowrule v2 -# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more -windowrulev2 = nomaximizerequest, class:.* # You'll probably like this. - $lock = swaylock --screenshots --effect-blur 7x5 --indicator --clock | xargs hyprctl dispatch exec -# See https://wiki.hyprland.org/Configuring/Keywords/ for more -$mainMod = SUPER +# Source other config files (multi-file configs) +source = ~/.config/hypr/src/* -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = $mainMod, RETURN, exec, $terminal -bind = $mainMod, C, killactive, -bind = $mainMod, M, exit, -bind = $mainMod, E, exec, $fileManager -bind = $mainMod, V, togglefloating, -bind = $mainMod, D, exec, $menu -bind = $mainMod, P, pseudo, # dwindle -bind = $mainMod, J, togglesplit, # dwindle -bind = $mainMod, L, exec, $lock, -# 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, ampersand, workspace, 1 -bind = $mainMod, eacute, workspace, 2 -bind = $mainMod, quotedbl, workspace, 3 -bind = $mainMod, apostrophe, workspace, 4 -bind = $mainMod, parenleft, workspace, 5 -bind = $mainMod, minus, workspace, 6 -bind = $mainMod, egrave, workspace, 7 -bind = $mainMod, underscore, workspace, 8 -bind = $mainMod, ccedilla, workspace, 9 -bind = $mainMod, agrave, workspace, 10 - -# Move active window to a workspace with mainMod + SHIFT + [0-9] -bind = $mainMod SHIFT, ampersand, movetoworkspace, 1 -bind = $mainMod SHIFT, eacute, movetoworkspace, 2 -bind = $mainMod SHIFT, quotedbl, movetoworkspace, 3 -bind = $mainMod SHIFT, apostrophe, movetoworkspace, 4 -bind = $mainMod SHIFT, parenleft, movetoworkspace, 5 -bind = $mainMod SHIFT, minus, movetoworkspace, 6 -bind = $mainMod SHIFT, egrave, movetoworkspace, 7 -bind = $mainMod SHIFT, underscore, movetoworkspace, 8 -bind = $mainMod SHIFT, ccedilla, movetoworkspace, 9 -bind = $mainMod SHIFT, agrave, 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 - -# Media keys -bindle = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% -bindle = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% -bindl = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle -bindl = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle -bind = , PRINT, exec, hyprshot -m region - -windowrulev2 = idleinhibit fullscreen, fullscreen:1 -windowrulev2 = tile, class:^(ONLYOFFICE Desktop Editors)$ diff --git a/root/home/bhasher/.config/hypr/src/binds.conf b/root/home/bhasher/.config/hypr/src/binds.conf new file mode 100644 index 0000000..621b96f --- /dev/null +++ b/root/home/bhasher/.config/hypr/src/binds.conf @@ -0,0 +1,65 @@ +# See https://wiki.hyprland.org/Configuring/Keywords/ for more +$mainMod = SUPER + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, RETURN, exec, $terminal +bind = $mainMod, C, killactive, +bind = $mainMod, M, exit, +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, V, togglefloating, +bind = $mainMod, D, exec, $menu +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle +bind = $mainMod, L, exec, $lock, + +# 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, ampersand, workspace, 1 +bind = $mainMod, eacute, workspace, 2 +bind = $mainMod, quotedbl, workspace, 3 +bind = $mainMod, apostrophe, workspace, 4 +bind = $mainMod, parenleft, workspace, 5 +bind = $mainMod, minus, workspace, 6 +bind = $mainMod, egrave, workspace, 7 +bind = $mainMod, underscore, workspace, 8 +bind = $mainMod, ccedilla, workspace, 9 +bind = $mainMod, agrave, workspace, 10 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, ampersand, movetoworkspace, 1 +bind = $mainMod SHIFT, eacute, movetoworkspace, 2 +bind = $mainMod SHIFT, quotedbl, movetoworkspace, 3 +bind = $mainMod SHIFT, apostrophe, movetoworkspace, 4 +bind = $mainMod SHIFT, parenleft, movetoworkspace, 5 +bind = $mainMod SHIFT, minus, movetoworkspace, 6 +bind = $mainMod SHIFT, egrave, movetoworkspace, 7 +bind = $mainMod SHIFT, underscore, movetoworkspace, 8 +bind = $mainMod SHIFT, ccedilla, movetoworkspace, 9 +bind = $mainMod SHIFT, agrave, 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 + +# Media keys +bindle = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% +bindle = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% +bindl = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle +bindl = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle +bind = , PRINT, exec, hyprshot -m region +bind = , XF86MonBrightnessUp, exec, brightnessctl set +5% +bind = , XF86MonBrightnessDown, exec, brightnessctl set 5%- + diff --git a/root/home/bhasher/.config/hypr/src/configs.conf b/root/home/bhasher/.config/hypr/src/configs.conf new file mode 100644 index 0000000..2b1866b --- /dev/null +++ b/root/home/bhasher/.config/hypr/src/configs.conf @@ -0,0 +1,92 @@ +# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ +input { + kb_layout = fr + kb_variant = + kb_model = + kb_options = caps:swapescape + kb_rules = + numlock_by_default = true + + follow_mouse = 1 + + touchpad { + natural_scroll = yes + } + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. +} + +general { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + gaps_in = 5 + gaps_out = 20 + border_size = 2 + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + + layout = dwindle + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false +} + +decoration { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + rounding = 10 + + blur { + enabled = true + size = 3 + passes = 1 + } + + drop_shadow = yes + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) +} + +animations { + enabled = yes + + # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} + +dwindle { + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = yes # you probably want this +} + +master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_is_master = true + orientation = right +} + +gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = true +} + +misc { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers +} + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more +device:epic-mouse-v1 { + sensitivity = -0.5 +} diff --git a/root/home/bhasher/.config/hypr/src/envs.conf b/root/home/bhasher/.config/hypr/src/envs.conf new file mode 100644 index 0000000..6b6c704 --- /dev/null +++ b/root/home/bhasher/.config/hypr/src/envs.conf @@ -0,0 +1,3 @@ +# Some default env vars. +env = XCURSOR_SIZE,18 +env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that diff --git a/root/home/bhasher/.config/hypr/src/windows.conf b/root/home/bhasher/.config/hypr/src/windows.conf new file mode 100644 index 0000000..b26ff4f --- /dev/null +++ b/root/home/bhasher/.config/hypr/src/windows.conf @@ -0,0 +1,3 @@ +windowrulev2 = idleinhibit fullscreen, fullscreen:1 +windowrulev2 = tile, class:^(ONLYOFFICE Desktop Editors)$ +windowrulev2 = nomaximizerequest, class:.*