From 114565498734ee5ebce62a7e559bd74d5082f772 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Mon, 17 Oct 2022 13:48:21 +0100 Subject: [PATCH] default & example config overhaul --- example/hyprland.conf | 186 +++++++++++++++++++-------------- src/config/defaultConfig.hpp | 192 ++++++++++++++++++++--------------- 2 files changed, 222 insertions(+), 156 deletions(-) diff --git a/example/hyprland.conf b/example/hyprland.conf index 8a268f70..51fe6177 100644 --- a/example/hyprland.conf +++ b/example/hyprland.conf @@ -1,117 +1,151 @@ # This is an example Hyprland config file. -# Syntax is the same as in Hypr, but settings might differ. # # Refer to the wiki for more information. # # Please note not all available settings / options are set here. -# For a full list, see the wiki (basic and advanced configuring) +# For a full list, see the wiki # +# See https://wiki.hyprland.org/Configuring/Monitors/ monitor=,preferred,auto,1 -workspace=DP-1,1 + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more + +# Execute your favorite apps at launch +# exec-once = waybar & hyprpaper & firefox + +# Source a file (multi-file configs) +# source = ~/.config/hypr/myColors.conf + +# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { - kb_file= - kb_layout= - kb_variant= - kb_model= - kb_options= - kb_rules= + kb_layout = us + kb_variant = + kb_model = + kb_options = + kb_rules = - follow_mouse=1 + follow_mouse = 1 touchpad { - natural_scroll=no + natural_scroll = no } - sensitivity=0 # -1.0 - 1.0, 0 means no modification. + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } general { - gaps_in=5 - gaps_out=20 - border_size=2 - col.active_border=0x66ee1111 - col.inactive_border=0x66333333 + # See https://wiki.hyprland.org/Configuring/Variables/ for more - apply_sens_to_raw=0 # whether to apply the sensitivity to raw input (e.g. used by games where you aim using your mouse) + gaps_in = 5 + gaps_out = 20 + border_size = 2 + col.active_border = rgba(1affffee) + col.inactive_border = rgba(595959aa) - damage_tracking=full # leave it on full unless you hate your GPU and want to make it suffer + layout = dwindle } decoration { - rounding=10 - blur=1 - blur_size=3 # minimum 1 - blur_passes=1 # minimum 1 - blur_new_optimizations=1 + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + rounding = 10 + blur = yes + blur_size = 3 + blur_passes = 1 + blur_new_optimizations = on } animations { - enabled=1 - animation=windows,1,7,default - animation=border,1,10,default - animation=fade,1,10,default - animation=workspaces,1,6,default + 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 = fade, 1, 7, default + animation = workspaces, 1, 6, default } dwindle { - pseudotile=0 # enable pseudotiling on dwindle + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = false +} + +master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_is_master = true } gestures { - workspace_swipe=no + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = off } -# example window rules -# for windows named/classed as abc and xyz -#windowrule=move 69 420,abc -#windowrule=size 420 69,abc -#windowrule=tile,xyz -#windowrule=float,abc -#windowrule=pseudo,abc -#windowrule=monitor 0,xyz +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more +device:epic mouse V1 { + sensitivity = -0.5 +} -# some nice mouse binds -bindm=SUPER,mouse:272,movewindow -bindm=SUPER,mouse:273,resizewindow +# 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 -# example binds -bind=SUPER,Q,exec,kitty -bind=SUPER,C,killactive, -bind=SUPER,M,exit, -bind=SUPER,E,exec,dolphin -bind=SUPER,V,togglefloating, -bind=SUPER,R,exec,wofi --show drun -o DP-3 -bind=SUPER,P,pseudo, -bind=SUPER,left,movefocus,l -bind=SUPER,right,movefocus,r -bind=SUPER,up,movefocus,u -bind=SUPER,down,movefocus,d +# See https://wiki.hyprland.org/Configuring/Keywords/ for more +$mainMod = SUPER -bind=SUPER,1,workspace,1 -bind=SUPER,2,workspace,2 -bind=SUPER,3,workspace,3 -bind=SUPER,4,workspace,4 -bind=SUPER,5,workspace,5 -bind=SUPER,6,workspace,6 -bind=SUPER,7,workspace,7 -bind=SUPER,8,workspace,8 -bind=SUPER,9,workspace,9 -bind=SUPER,0,workspace,10 +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, Q, exec, kitty +bind = $mainMod, C, killactive, +bind = $mainMod, M, exit, +bind = $mainMod, E, exec, dolphin +bind = $mainMod, V, togglefloating, +bind = $mainMod, R, exec, wofi --show drun +bind = $mainMod, P, pseudo, -bind=ALT,1,movetoworkspace,1 -bind=ALT,2,movetoworkspace,2 -bind=ALT,3,movetoworkspace,3 -bind=ALT,4,movetoworkspace,4 -bind=ALT,5,movetoworkspace,5 -bind=ALT,6,movetoworkspace,6 -bind=ALT,7,movetoworkspace,7 -bind=ALT,8,movetoworkspace,8 -bind=ALT,9,movetoworkspace,9 -bind=ALT,0,movetoworkspace,10 +# 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 -bind=SUPER,mouse_down,workspace,e+1 -bind=SUPER,mouse_up,workspace,e-1 +# 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 + +# 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 diff --git a/src/config/defaultConfig.hpp b/src/config/defaultConfig.hpp index 48bd6be1..bf3c212d 100644 --- a/src/config/defaultConfig.hpp +++ b/src/config/defaultConfig.hpp @@ -9,121 +9,153 @@ PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. ######################################################################################## - # # Please note not all available settings / options are set here. -# For a full list, see the wiki (basic and advanced configuring) +# For a full list, see the wiki # -autogenerated=1 # remove this line to get rid of the warning on top. +autogenerated = 1 # remove this line to remove the warning +# See https://wiki.hyprland.org/Configuring/Monitors/ monitor=,preferred,auto,1 -input { - kb_file= - kb_layout= - kb_variant= - kb_model= - kb_options= - kb_rules= - follow_mouse=1 +# See https://wiki.hyprland.org/Configuring/Keywords/ for more + +# Execute your favorite apps at launch +# exec-once = waybar & hyprpaper & firefox + +# Source a file (multi-file configs) +# source = ~/.config/hypr/myColors.conf + +# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 touchpad { - natural_scroll=no + natural_scroll = no } - sensitivity=0 # -1.0 - 1.0, 0 means no modification. + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } general { - main_mod=SUPER + # See https://wiki.hyprland.org/Configuring/Variables/ for more - gaps_in=5 - gaps_out=20 - border_size=2 - col.active_border=0x66ee1111 - col.inactive_border=0x66333333 + gaps_in = 5 + gaps_out = 20 + border_size = 2 + col.active_border = rgba(1affffee) + col.inactive_border = rgba(595959aa) - apply_sens_to_raw=0 # whether to apply the sensitivity to raw input (e.g. used by games where you aim using your mouse) - - damage_tracking=full # leave it on full unless you hate your GPU and want to make it suffer + layout = dwindle } decoration { - rounding=10 - blur=1 - blur_size=3 # minimum 1 - blur_passes=1 # minimum 1 - blur_new_optimizations=1 + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + rounding = 10 + blur = yes + blur_size = 3 + blur_passes = 1 + blur_new_optimizations = on } animations { - enabled=1 - animation=windows,1,7,default - animation=border,1,10,default - animation=fade,1,10,default - animation=workspaces,1,6,default + 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 = fade, 1, 7, default + animation = workspaces, 1, 6, default } dwindle { - pseudotile=0 # enable pseudotiling on dwindle + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = false +} + +master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_is_master = true } gestures { - workspace_swipe=no + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = off } -# example window rules -# for windows named/classed as abc and xyz -#windowrule=move 69 420,abc -#windowrule=size 420 69,abc -#windowrule=tile,xyz -#windowrule=float,abc -#windowrule=pseudo,abc -#windowrule=monitor 0,xyz +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more +device:epic mouse V1 { + sensitivity = -0.5 +} -# some nice mouse binds -bindm=SUPER,mouse:272,movewindow -bindm=SUPER,mouse:273,resizewindow +# 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 -# example binds -bind=SUPER,Q,exec,kitty -bind=SUPER,RETURN,exec,alacritty -bind=SUPER,C,killactive, -bind=SUPER,M,exit, -bind=SUPER,E,exec,dolphin -bind=SUPER,V,togglefloating, -bind=SUPER,R,exec,wofi --show drun -o DP-3 -bind=SUPER,P,pseudo, -bind=SUPER,left,movefocus,l -bind=SUPER,right,movefocus,r -bind=SUPER,up,movefocus,u -bind=SUPER,down,movefocus,d +# See https://wiki.hyprland.org/Configuring/Keywords/ for more +$mainMod = SUPER -bind=SUPER,1,workspace,1 -bind=SUPER,2,workspace,2 -bind=SUPER,3,workspace,3 -bind=SUPER,4,workspace,4 -bind=SUPER,5,workspace,5 -bind=SUPER,6,workspace,6 -bind=SUPER,7,workspace,7 -bind=SUPER,8,workspace,8 -bind=SUPER,9,workspace,9 -bind=SUPER,0,workspace,10 +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, Q, exec, kitty +bind = $mainMod, C, killactive, +bind = $mainMod, M, exit, +bind = $mainMod, E, exec, dolphin +bind = $mainMod, V, togglefloating, +bind = $mainMod, R, exec, wofi --show drun +bind = $mainMod, P, pseudo, -bind=ALT,1,movetoworkspace,1 -bind=ALT,2,movetoworkspace,2 -bind=ALT,3,movetoworkspace,3 -bind=ALT,4,movetoworkspace,4 -bind=ALT,5,movetoworkspace,5 -bind=ALT,6,movetoworkspace,6 -bind=ALT,7,movetoworkspace,7 -bind=ALT,8,movetoworkspace,8 -bind=ALT,9,movetoworkspace,9 -bind=ALT,0,movetoworkspace,10 +# 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 -bind=SUPER,mouse_down,workspace,e+1 -bind=SUPER,mouse_up,workspace,e-1 +# 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 + +# 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 )#";