From dc3b41bd8fc5aba3726a3e7511904142c0707cb0 Mon Sep 17 00:00:00 2001 From: Elias Renman Date: Wed, 29 Nov 2023 23:17:52 +0100 Subject: [PATCH] feat: hyprland basic config --- hypr/hyprland.conf | 136 +++++++------------------------------------- hypr/hyprpaper.conf | 5 ++ hypr/keymap.conf | 64 +++++++++++++++++++++ hypr/rice.conf | 124 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 212 insertions(+), 117 deletions(-) create mode 100644 hypr/hyprpaper.conf create mode 100644 hypr/keymap.conf create mode 100644 hypr/rice.conf diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index f7143aa..e3b3076 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -1,18 +1,15 @@ -######################################################################################## -AUTOGENERATED HYPR CONFIG. -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 +# Executes # +exec-once = waybar +exec-once = wlsunset +exec-once = hyprpaper -autogenerated = 0 # remove this line to remove the warning - +# +# Monitor # See https://wiki.hyprland.org/Configuring/Monitors/ +# monitor=,preferred,auto,auto @@ -22,18 +19,18 @@ monitor=,preferred,auto,auto # exec-once = waybar & hyprpaper & firefox # Source a file (multi-file configs) -# source = ~/.config/hypr/myColors.conf +source = ~/.config/hypr/keymap.conf +source = ~/.config/hypr/rice.conf # Some default env vars. env = XCURSOR_SIZE,24 - +# +# Input # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ +# input { kb_layout = se kb_variant = mac - kb_model = - kb_options = - kb_rules = follow_mouse = 1 @@ -44,53 +41,6 @@ input { 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 -} - -decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - rounding = 10 - blur = yes - blur_size = 3 - blur_passes = 1 - blur_new_optimizations = on - - 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 @@ -99,7 +49,7 @@ master { gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more - workspace_swipe = off + workspace_swipe = true } # Example per-device config @@ -109,61 +59,13 @@ device:epic-mouse-v1 { } # Example windowrule v1 -# windowrule = float, ^(kitty)$ +# windowrule = float, ^(alacritty)$ # Example windowrule v2 -# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ +# windowrulev2 = float,class:^(alacritty)$,title:^(alacritty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more -# See https://wiki.hyprland.org/Configuring/Keywords/ for more -$mainMod = SUPER - -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = $mainMod, Q, exec, alacritty -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, # 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 - -# 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 - -exec-once=wlsunset& \ No newline at end of file +# Laptop lid switch +# bindl=,switch:Lid Switch,exec,swaylock +bindl=,switch:off:Lid Switch,exec,hyprctl keyword monitor "eDP-1, 3000x2000@60,0x0,auto" +bindl=,switch:on:Lid Switch,exec,hyprctl keyword monitor "eDP-1, disable" diff --git a/hypr/hyprpaper.conf b/hypr/hyprpaper.conf new file mode 100644 index 0000000..cf158c3 --- /dev/null +++ b/hypr/hyprpaper.conf @@ -0,0 +1,5 @@ +preload = ~/wallpapers/forest-view.jpg +preload = ~/wallpapers/the-golden-sun.png + +wallpaper = eDP-1,~/wallpapers/forest-view.jpg +wallpaper = DP-2,~/wallpapers/the-golden-sun.png diff --git a/hypr/keymap.conf b/hypr/keymap.conf new file mode 100644 index 0000000..2a53418 --- /dev/null +++ b/hypr/keymap.conf @@ -0,0 +1,64 @@ +# +# Keybindings +# See https://wiki.hyprland.org/Configuring/Keywords/ for more +$mainMod = SUPER + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, T, exec, alacritty +bind = $mainMod, Q, killactive, +bind = $mainMod, M, exit, +bind = $mainMod, F, exec, thunar +bind = $mainMod, V, togglefloating, +bind = $mainMod, SPACE, exec, wofi --show drun +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 + +# 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 +bind = $mainMod SHIFT, right, workspace, e+1 +bind = $mainMod SHIFT, left, workspace, e-1 +# +# Media keys +# +binde=, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ +binde=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +binde=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +bind=, XF86AudioPlay, exec, playerctl play-pause +bind=, XF86AudioPause, exec, playerctl play-pause +bind=, XF86AudioNext, exec, playerctl next +bind=, XF86AudioPrev, exec, playerctl previous \ No newline at end of file diff --git a/hypr/rice.conf b/hypr/rice.conf new file mode 100644 index 0000000..a2b0f49 --- /dev/null +++ b/hypr/rice.conf @@ -0,0 +1,124 @@ + +# +# General settings +# +general { + gaps_in=10 + gaps_out=15 + border_size=3 + col.inactive_border=rgba(f7768eff) rgba(73dacaff) 45deg + col.active_border=rgba(73dacaff) rgba(f7768eff) 45deg + no_border_on_floating = false + layout = dwindle +} + +misc { + disable_hyprland_logo = true + disable_splash_rendering = true + mouse_move_enables_dpms = true + enable_swallow = true + swallow_regex = ^(alacritty)$ +} + +decoration { + # + # Round corners + # + rounding = 18 + multisample_edges = true + + # + # Opacity + # + active_opacity = 1.0 + inactive_opacity = 0.95 + + # + # Blur + # + blur = true + blur_size = 2 + blur_passes = 2 + blur_new_optimizations = true + + + # + # Shadow + # + drop_shadow = true + shadow_ignore_window = true + shadow_offset = 2 2 + shadow_range = 8 + shadow_render_power = 10 + col.shadow = rgba(00000055) + blurls = gtk-layer-shell + blurls = lockscreen +} + +# +# Animation +# +animations { + enabled = true + # █▄▄ █▀▀ ▀█ █ █▀▀ █▀█   █▀▀ █░█ █▀█ █░█ █▀▀ + # █▄█ ██▄ █▄ █ ██▄ █▀▄   █▄▄ █▄█ █▀▄ ▀▄▀ ██▄ + bezier = overshot, 0.05, 0.5, 0.1, 1.05 + bezier = smoothOut, 0.36, 0, 0.66, -0.56 + bezier = smoothIn, 0.25, 0.8, 0.5, 1 + + animation = windows, 1, 5, overshot, slide + animation = windowsOut, 1, 4, smoothOut, slide + animation = windowsMove, 1, 4, default + animation = border, 1, 10, default + animation = fade, 1, 10, smoothIn + animation = fadeDim, 1, 10, smoothIn + animation = workspaces, 1, 6, default + +} + +# +# Layouts +# +dwindle { + no_gaps_when_only = false + pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true # you probably want this +} + +# +# Window rules +# +windowrule = float, file_progress +windowrule = float, confirm +windowrule = float, dialog +windowrule = float, download +windowrule = float, notification +windowrule = float, error +windowrule = float, splash +windowrule = float, confirmreset +windowrule = float, title:Open File +windowrule = float, title:branchdialog +windowrule = float, Lxappearance +windowrule = float, wofi +windowrule = float,viewnior +# windowrule = float,feh +windowrule = float, pavucontrol-qt +windowrule = float, pavucontrol +# windowrule = float, file-roller +windowrule = fullscreen, wlogout +windowrule = float, title:wlogout +windowrule = fullscreen, title:wlogout +windowrule = idleinhibit focus, mpv +windowrule = idleinhibit fullscreen, firefox +windowrule = float, title:^(Media viewer)$ +windowrule = float, title:^(Volume Control)$ +windowrule = float, title:^(Picture-in-Picture)$ +windowrule = size 800 600, title:^(Volume Control)$ +windowrule = move 39% 420, title:^(Volume Control)$ + +windowrulev2 = workspace 1, class:^(alacritty)$ +windowrulev2 = workspace 2, class:^(firefox)$ +windowrulev2 = workspace 3, class:^(discord)$ +windowrulev2 = workspace 3, class:^(Slack)$ +windowrulev2 = workspace special, class:^(thunar)$ +windowrulev2 = workspace special, class:^(YouTube Music)$ \ No newline at end of file