From 140434eebc500f974339c3d06e73e3f1c6c5a3a2 Mon Sep 17 00:00:00 2001 From: Matteo Quadrino Date: Sun, 21 Apr 2024 11:59:20 +0200 Subject: [PATCH 1/6] polish default config file polish default config, making it prettier by separating it in sections, and adding links to the wiki for each section. No configuration was altered, I only made it prettier and more beginner friendly. I propose this should also be used as the autogenerated config file at installation. --- example/hyprland.conf | 180 +++++++++++++++++++++++++++++------------- 1 file changed, 125 insertions(+), 55 deletions(-) diff --git a/example/hyprland.conf b/example/hyprland.conf index 9bec2f6d772..7191bfed8f2 100644 --- a/example/hyprland.conf +++ b/example/hyprland.conf @@ -1,70 +1,102 @@ # This is an example Hyprland config file. -# # Refer to the wiki for more information. +# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/ -# # Please note not all available settings / options are set here. # For a full list, see the wiki -# + +# You can split this configuration into multiple files +# Create your files separately and then link them to this file like this: +# source = ~/.config/hypr/myColors.conf + + +################ +### MONITORS ### +################ # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=,preferred,auto,auto -# See https://wiki.hyprland.org/Configuring/Keywords/ for more - -# Execute your favorite apps at launch -# exec-once = waybar & hyprpaper & firefox +################### +### MY PROGRAMS ### +################### -# Source a file (multi-file configs) -# source = ~/.config/hypr/myColors.conf +# See https://wiki.hyprland.org/Configuring/Keywords/ # Set programs that you use $terminal = kitty $fileManager = dolphin $menu = wofi --show drun -# Some default env vars. -env = XCURSOR_SIZE,24 -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 = us - kb_variant = - kb_model = - kb_options = - kb_rules = +################# +### AUTOSTART ### +################# - follow_mouse = 1 +# Autostart necessary processes (like notifications daemons, status bars, etc.) +# Or execute your favorite apps at launch like this: - touchpad { - natural_scroll = false - } +# exec-once = $terminal +# exec-once = nm-applet & +# exec-once = waybar & hyprpaper & firefox - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. -} -general { - # See https://wiki.hyprland.org/Configuring/Variables/ for more +############################# +### ENVIRONMENT VARIABLES ### +############################# + +# See https://wiki.hyprland.org/Configuring/Environment-variables/ +env = XCURSOR_SIZE,24 +env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that +env = XDG_CURRENT_DESKTOP,Hyprland +env = XDG_SESSION_TYPE,wayland +env = XDG_SESSION_DESKTOP,Hyprland + + +##################### +### LOOK AND FEEL ### +##################### + +# Refer to https://wiki.hyprland.org/Configuring/Variables/ + +# https://wiki.hyprland.org/Configuring/Variables/#general +general { + gaps_in = 5 gaps_out = 20 + border_size = 2 + + # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) - layout = dwindle + # Set to true enable resizing windows by clicking and dragging on borders and gaps + resize_on_border = false # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false + + layout = dwindle } +# https://wiki.hyprland.org/Configuring/Variables/#decoration decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - + rounding = 10 + # Change transparency of focused and unfocused windows + active_opacity = 1.0 + inactive_opacity = 1.0 + + drop_shadow = true + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) + + # https://wiki.hyprland.org/Configuring/Variables/#blur blur { enabled = true size = 3 @@ -72,17 +104,14 @@ decoration { vibrancy = 0.1696 } - - drop_shadow = true - shadow_range = 4 - shadow_render_power = 3 - col.shadow = rgba(1a1a1aee) } +# https://wiki.hyprland.org/Configuring/Variables/#animations animations { + enabled = true - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more bezier = myBezier, 0.05, 0.9, 0.1, 1.05 @@ -94,43 +123,68 @@ animations { animation = workspaces, 1, 6, default } +# https://wiki.hyprland.org/Configuring/Dwindle-Layout/ dwindle { - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more - pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = true # you probably want this + + pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true # You probably want this } +# https://wiki.hyprland.org/Configuring/Master-Layout/ master { - # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more - new_is_master = true -} -gestures { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - workspace_swipe = false + new_is_master = true } +# https://wiki.hyprland.org/Configuring/Variables/#misc 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 + disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( +} + + +############# +### INPUT ### +############# + +# https://wiki.hyprland.org/Configuring/Variables/#input +input { + + kb_layout = us + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + + touchpad { + natural_scroll = false + } } -# Example per-device config -# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more +# https://wiki.hyprland.org/Configuring/Variables/#gestures +gestures { + + workspace_swipe = false +} + +# https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs device { + + # Example per-device config name = 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 = suppressevent maximize, class:.* # You'll probably like this. +#################### +### KEYBINDINGSS ### +#################### -# See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more @@ -184,3 +238,19 @@ 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 + + +############################## +### WINDOWS AND WORKSPACES ### +############################## + +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules + +# Example windowrule v1 +# windowrule = float, ^(kitty)$ + +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ + +windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. From 717268b7ac07b3cccb17520f499a0291d8597bd1 Mon Sep 17 00:00:00 2001 From: Matteo Quadrino Date: Sun, 21 Apr 2024 18:22:44 +0200 Subject: [PATCH 2/6] update default config according to suggestions --- example/hyprland.conf | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/example/hyprland.conf b/example/hyprland.conf index 7191bfed8f2..e6664f0852f 100644 --- a/example/hyprland.conf +++ b/example/hyprland.conf @@ -49,10 +49,7 @@ $menu = wofi --show drun # See https://wiki.hyprland.org/Configuring/Environment-variables/ env = XCURSOR_SIZE,24 -env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that -env = XDG_CURRENT_DESKTOP,Hyprland -env = XDG_SESSION_TYPE,wayland -env = XDG_SESSION_DESKTOP,Hyprland +env = HYPRCURSOR_SIZE,24 ##################### @@ -123,22 +120,19 @@ animations { animation = workspaces, 1, 6, default } -# https://wiki.hyprland.org/Configuring/Dwindle-Layout/ +# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more dwindle { - pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = true # You probably want this } -# https://wiki.hyprland.org/Configuring/Master-Layout/ +# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more master { - new_is_master = true } # https://wiki.hyprland.org/Configuring/Variables/#misc -misc { - +misc { force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( } @@ -168,14 +162,12 @@ input { # https://wiki.hyprland.org/Configuring/Variables/#gestures gestures { - workspace_swipe = false } -# https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more device { - - # Example per-device config name = epic-mouse-v1 sensitivity = -0.5 } @@ -185,7 +177,8 @@ device { ### KEYBINDINGSS ### #################### -$mainMod = SUPER +# See https://wiki.hyprland.org/Configuring/Keywords/ +$mainMod = SUPER # Sets "Windows" key as main modifier # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, Q, exec, $terminal From eaec8c6c43432c0bdd59394633039575671325a3 Mon Sep 17 00:00:00 2001 From: Matteo Quadrino Date: Sun, 21 Apr 2024 18:24:33 +0200 Subject: [PATCH 3/6] Update defaultConfig.hpp to match example --- src/config/defaultConfig.hpp | 188 ++++++++++++++++++++++++----------- 1 file changed, 128 insertions(+), 60 deletions(-) diff --git a/src/config/defaultConfig.hpp b/src/config/defaultConfig.hpp index 33cdd0eb8f4..8bcc277d291 100644 --- a/src/config/defaultConfig.hpp +++ b/src/config/defaultConfig.hpp @@ -9,87 +9,119 @@ inline const std::string AUTOCONFIG = R"#( # OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. # ####################################################################################### -# +autogenerated = 1 # remove this line to remove the warning + +# This is an example Hyprland config file. +# Refer to the wiki for more information. +# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/ + # Please note not all available settings / options are set here. # For a full list, see the wiki -# -autogenerated = 1 # remove this line to remove the warning +# You can split this configuration into multiple files +# Create your files separately and then link them to this file like this: +# source = ~/.config/hypr/myColors.conf + + +################ +### MONITORS ### +################ # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=,preferred,auto,auto -# See https://wiki.hyprland.org/Configuring/Keywords/ for more +################### +### MY PROGRAMS ### +################### -# Execute your favorite apps at launch -# exec-once = waybar & hyprpaper & firefox - -# Source a file (multi-file configs) -# source = ~/.config/hypr/myColors.conf +# See https://wiki.hyprland.org/Configuring/Keywords/ # Set programs that you use $terminal = kitty $fileManager = dolphin $menu = wofi --show drun -# Some default env vars. -env = XCURSOR_SIZE,24 -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 = us - kb_variant = - kb_model = - kb_options = - kb_rules = +################# +### AUTOSTART ### +################# - follow_mouse = 1 +# Autostart necessary processes (like notifications daemons, status bars, etc.) +# Or execute your favorite apps at launch like this: - touchpad { - natural_scroll = no - } +# exec-once = $terminal +# exec-once = nm-applet & +# exec-once = waybar & hyprpaper & firefox - sensitivity = 0 # -1.0 to 1.0, 0 means no modification. -} -general { - # See https://wiki.hyprland.org/Configuring/Variables/ for more +############################# +### ENVIRONMENT VARIABLES ### +############################# +# See https://wiki.hyprland.org/Configuring/Environment-variables/ + +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 + + +##################### +### LOOK AND FEEL ### +##################### + +# Refer to https://wiki.hyprland.org/Configuring/Variables/ + +# https://wiki.hyprland.org/Configuring/Variables/#general +general { + gaps_in = 5 gaps_out = 20 + border_size = 2 + + # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) - layout = dwindle + # Set to true enable resizing windows by clicking and dragging on borders and gaps + resize_on_border = false # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false + + layout = dwindle } +# https://wiki.hyprland.org/Configuring/Variables/#decoration decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - rounding = 10 + rounding = 10 + + # Change transparency of focused and unfocused windows + active_opacity = 1.0 + inactive_opacity = 1.0 + + drop_shadow = true + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) + + # https://wiki.hyprland.org/Configuring/Variables/#blur blur { enabled = true size = 3 passes = 1 + + vibrancy = 0.1696 } - - drop_shadow = yes - shadow_range = 4 - shadow_render_power = 3 - col.shadow = rgba(1a1a1aee) } +# https://wiki.hyprland.org/Configuring/Variables/#animations animations { - enabled = yes + + enabled = true - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more bezier = myBezier, 0.05, 0.9, 0.1, 1.05 @@ -101,25 +133,49 @@ animations { animation = workspaces, 1, 6, default } +# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more 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 + pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true # You probably want this } +# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more master { - # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more new_is_master = true } -gestures { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - workspace_swipe = off +# https://wiki.hyprland.org/Configuring/Variables/#misc +misc { + force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers + disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( } -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 + +############# +### INPUT ### +############# + +# https://wiki.hyprland.org/Configuring/Variables/#input +input { + + kb_layout = us + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + + touchpad { + natural_scroll = false + } +} + +# https://wiki.hyprland.org/Configuring/Variables/#gestures +gestures { + workspace_swipe = false } # Example per-device config @@ -129,23 +185,20 @@ device { 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 = suppressevent maximize, class:.* # You'll probably like this. +#################### +### KEYBINDINGSS ### +#################### -# See https://wiki.hyprland.org/Configuring/Keywords/ for more -$mainMod = SUPER +# See https://wiki.hyprland.org/Configuring/Keywords/ +$mainMod = SUPER # Sets "Windows" key as main modifier # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, Q, exec, $terminal -bind = $mainMod, C, killactive, -bind = $mainMod, M, exit, +bind = $mainMod, C, killactive, +bind = $mainMod, M, exit, bind = $mainMod, E, exec, $fileManager -bind = $mainMod, V, togglefloating, +bind = $mainMod, V, togglefloating, bind = $mainMod, R, exec, $menu bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle @@ -191,4 +244,19 @@ 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 -)#"; + + +############################## +### WINDOWS AND WORKSPACES ### +############################## + +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules + +# Example windowrule v1 +# windowrule = float, ^(kitty)$ + +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ + +windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. From 64dc85349a752d515be347ff8cb9731ba94f3b50 Mon Sep 17 00:00:00 2001 From: Matteo Quadrino Date: Sun, 21 Apr 2024 19:38:51 +0200 Subject: [PATCH 4/6] remove some whitespace --- example/hyprland.conf | 4 ---- 1 file changed, 4 deletions(-) diff --git a/example/hyprland.conf b/example/hyprland.conf index e6664f0852f..f0ee8b25edd 100644 --- a/example/hyprland.conf +++ b/example/hyprland.conf @@ -60,7 +60,6 @@ env = HYPRCURSOR_SIZE,24 # https://wiki.hyprland.org/Configuring/Variables/#general general { - gaps_in = 5 gaps_out = 20 @@ -81,7 +80,6 @@ general { # https://wiki.hyprland.org/Configuring/Variables/#decoration decoration { - rounding = 10 # Change transparency of focused and unfocused windows @@ -105,7 +103,6 @@ decoration { # https://wiki.hyprland.org/Configuring/Variables/#animations animations { - enabled = true # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more @@ -144,7 +141,6 @@ misc { # https://wiki.hyprland.org/Configuring/Variables/#input input { - kb_layout = us kb_variant = kb_model = From d409065f17094a62d74aa21399d372275d1f3119 Mon Sep 17 00:00:00 2001 From: Matteo Quadrino Date: Sun, 21 Apr 2024 19:39:57 +0200 Subject: [PATCH 5/6] match default config --- src/config/defaultConfig.hpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/config/defaultConfig.hpp b/src/config/defaultConfig.hpp index 8bcc277d291..0ca1f7284b9 100644 --- a/src/config/defaultConfig.hpp +++ b/src/config/defaultConfig.hpp @@ -73,7 +73,6 @@ env = HYPRCURSOR_SIZE,24 # https://wiki.hyprland.org/Configuring/Variables/#general general { - gaps_in = 5 gaps_out = 20 @@ -94,7 +93,6 @@ general { # https://wiki.hyprland.org/Configuring/Variables/#decoration decoration { - rounding = 10 # Change transparency of focused and unfocused windows @@ -118,7 +116,6 @@ decoration { # https://wiki.hyprland.org/Configuring/Variables/#animations animations { - enabled = true # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more @@ -157,7 +154,6 @@ misc { # https://wiki.hyprland.org/Configuring/Variables/#input input { - kb_layout = us kb_variant = kb_model = From a975cb87cc4e7326686d9e8328b6487e1e2bee2f Mon Sep 17 00:00:00 2001 From: Matteo Quadrino Date: Mon, 22 Apr 2024 08:50:12 +0200 Subject: [PATCH 6/6] restored string terminator --- src/config/defaultConfig.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/config/defaultConfig.hpp b/src/config/defaultConfig.hpp index 0ca1f7284b9..dd7df12695b 100644 --- a/src/config/defaultConfig.hpp +++ b/src/config/defaultConfig.hpp @@ -256,3 +256,4 @@ bindm = $mainMod, mouse:273, resizewindow # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. +)#";