diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf index d29c015..da46dbb 100644 --- a/config/hypr/hyprland.conf +++ b/config/hypr/hyprland.conf @@ -4,184 +4,38 @@ # Change your personal monitor setup in here to keep the main config portable source = ~/.config/hypr/hyprland-monitors.conf -# Use fixed set of defaults from Omarchy +# Autostart necessary processes +exec-once = hypridle & swaync & waybar & fcitx5 +exec-once = ~/.local/share/omarchy/bin/swaybg-next +exec-once = dropbox-cli start + +# Default applications +$terminal = alacritty +$fileManager = nautilus --new-window +$browser = chromium --new-window +$menu = wofi --show drun +$music = spotify +$webapp = $browser --app + +# Use defaults Omarchy bindings source = ~/.local/share/omarchy/default/hypr/bindings.conf # Extra bindings -$webapp = chromium --new-window --app bind = SUPER, A, exec, $webapp="https://chatgpt.com" bind = SUPER, C, exec, $webapp="https://app.hey.com/calendar/weeks/" bind = SUPER, E, exec, $webapp="https://app.hey.com" bind = SUPER, Y, exec, $webapp="https://youtube.com/" bind = SUPER, X, exec, $webapp="https://x.com/" bind = SUPER SHIFT, X, exec, $webapp="https://x.com/compose/post" -bind = SUPER, M, exec, spotify -bind = SUPER, N, exec, alacritty -e nvim -bind = SUPER, T, exec, alacritty -e btop -bind = SUPER SHIFT, SPACE, exec, pkill -SIGUSR1 waybar -bind = SUPER CTRL, SPACE, exec, ~/.local/share/omarchy/bin/swaybg-next # See https://wiki.hyprland.org/Configuring/Environment-variables/ source = ~/.local/share/omarchy/default/hypr/envs.conf -# Autostart necessary processes (like notifications daemons, status bars, etc.) -exec-once = hypridle & swaync & waybar & fcitx5 -exec-once = ~/.local/share/omarchy/bin/swaybg-next +# Use default Omarchy look'n'feel +source = ~/.local/share/omarchy/default/hypr/looknfeel.conf -##################### -### LOOK AND FEEL ### -##################### +# Use default Omarchy input settings +source = ~/.local/share/omarchy/default/hypr/input.conf -# Refer to https://wiki.hyprland.org/Configuring/Variables/ - -# https://wiki.hyprland.org/Configuring/Variables/#general -general { - gaps_in = 5 - gaps_out = 10 - - 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) - - # 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 { - rounding = 0 - - # Change transparency of focused and unfocused windows - active_opacity = 0.98 - inactive_opacity = 0.95 - - shadow { - enabled = true - range = 2 - render_power = 3 - color = rgba(1a1a1aee) - } - - # https://wiki.hyprland.org/Configuring/Variables/#blur - blur { - enabled = true - size = 3 - passes = 1 - - vibrancy = 0.1696 - } -} - -# https://wiki.hyprland.org/Configuring/Variables/#animations -animations { - enabled = yes, please :) - - # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - - bezier = easeOutQuint,0.23,1,0.32,1 - bezier = easeInOutCubic,0.65,0.05,0.36,1 - bezier = linear,0,0,1,1 - bezier = almostLinear,0.5,0.5,0.75,1.0 - bezier = quick,0.15,0,0.1,1 - - animation = global, 1, 10, default - animation = border, 1, 5.39, easeOutQuint - animation = windows, 1, 4.79, easeOutQuint - animation = windowsIn, 1, 4.1, easeOutQuint, popin 87% - animation = windowsOut, 1, 1.49, linear, popin 87% - animation = fadeIn, 1, 1.73, almostLinear - animation = fadeOut, 1, 1.46, almostLinear - animation = fade, 1, 3.03, quick - animation = layers, 1, 3.81, easeOutQuint - animation = layersIn, 1, 4, easeOutQuint, fade - animation = layersOut, 1, 1.5, linear, fade - animation = fadeLayersIn, 1, 1.79, almostLinear - animation = fadeLayersOut, 1, 1.39, almostLinear - animation = workspaces, 0, 0, ease -} - -# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/ -# "Smart gaps" / "No gaps when only" -# uncomment all if you wish to use that. -# workspace = w[tv1], gapsout:0, gapsin:0 -# workspace = f[1], gapsout:0, gapsin:0 -# windowrule = bordersize 0, floating:0, onworkspace:w[tv1] -# windowrule = rounding 0, floating:0, onworkspace:w[tv1] -# windowrule = bordersize 0, floating:0, onworkspace:f[1] -# windowrule = rounding 0, floating:0, onworkspace:f[1] - -# 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 -} - -# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more -master { - new_status = master -} - -# https://wiki.hyprland.org/Configuring/Variables/#misc -misc { - disable_hyprland_logo = true - disable_splash_rendering = true -} - - -############# -### INPUT ### -############# - -# https://wiki.hyprland.org/Configuring/Variables/#input -input { - kb_layout = us - kb_variant = - kb_model = - kb_options = compose:caps - 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 -# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more -device { - name = epic-mouse-v1 - sensitivity = -0.5 -} - - -############################## -### 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 -# windowrule = float,class:^(kitty)$,title:^(kitty)$ - -# Ignore maximize requests from apps. You'll probably like this. -windowrule = suppressevent maximize, class:.* -windowrule = tile, class:^(Chromium)$ - -# Fix some dragging issues with XWayland -windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 +# Use default Omarchy windows settings +source = ~/.local/share/omarchy/default/hypr/windows.conf diff --git a/default/hypr/bindings.conf b/default/hypr/bindings.conf index 2a341be..dde79c4 100644 --- a/default/hypr/bindings.conf +++ b/default/hypr/bindings.conf @@ -1,20 +1,22 @@ -# See https://wiki.hyprland.org/Configuring/Keywords/ - -$terminal = alacritty -$fileManager = nautilus --new-window -$browser = chromium --new-window -$menu = wofi --show drun - -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +# Start default apps bind = SUPER, return, exec, $terminal bind = SUPER, F, exec, $fileManager bind = SUPER, B, exec, $browser +bind = SUPER, M, exec, $music +bind = SUPER, N, exec, $terminal -e nvim +bind = SUPER, T, exec, $terminal -e btop bind = SUPER, space, exec, $menu +bind = SUPER SHIFT, SPACE, exec, pkill -SIGUSR1 waybar +bind = SUPER CTRL, SPACE, exec, ~/.local/share/omarchy/bin/swaybg-next + bind = SUPER, W, killactive, + +# End active session bind = SUPER, ESCAPE, exec, hyprlock bind = SUPER SHIFT, ESCAPE, exit, +# Control tiling bind = SUPER, J, togglesplit, # dwindle bind = SUPER, P, pseudo, # dwindle bind = SUPER, V, togglefloating, diff --git a/default/hypr/input.conf b/default/hypr/input.conf new file mode 100644 index 0000000..0f9a5d6 --- /dev/null +++ b/default/hypr/input.conf @@ -0,0 +1,21 @@ +# https://wiki.hyprland.org/Configuring/Variables/#input +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = compose:caps + 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 +} diff --git a/default/hypr/looknfeel.conf b/default/hypr/looknfeel.conf new file mode 100644 index 0000000..9c4e247 --- /dev/null +++ b/default/hypr/looknfeel.conf @@ -0,0 +1,102 @@ +# Refer to https://wiki.hyprland.org/Configuring/Variables/ + +# https://wiki.hyprland.org/Configuring/Variables/#general +general { + gaps_in = 5 + gaps_out = 10 + + 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) + + # 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 { + rounding = 0 + + # Change transparency of focused and unfocused windows + active_opacity = 0.98 + inactive_opacity = 0.95 + + shadow { + enabled = true + range = 2 + render_power = 3 + color = rgba(1a1a1aee) + } + + # https://wiki.hyprland.org/Configuring/Variables/#blur + blur { + enabled = true + size = 3 + passes = 1 + + vibrancy = 0.1696 + } +} + +# https://wiki.hyprland.org/Configuring/Variables/#animations +animations { + enabled = yes, please :) + + # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = easeOutQuint,0.23,1,0.32,1 + bezier = easeInOutCubic,0.65,0.05,0.36,1 + bezier = linear,0,0,1,1 + bezier = almostLinear,0.5,0.5,0.75,1.0 + bezier = quick,0.15,0,0.1,1 + + animation = global, 1, 10, default + animation = border, 1, 5.39, easeOutQuint + animation = windows, 1, 4.79, easeOutQuint + animation = windowsIn, 1, 4.1, easeOutQuint, popin 87% + animation = windowsOut, 1, 1.49, linear, popin 87% + animation = fadeIn, 1, 1.73, almostLinear + animation = fadeOut, 1, 1.46, almostLinear + animation = fade, 1, 3.03, quick + animation = layers, 1, 3.81, easeOutQuint + animation = layersIn, 1, 4, easeOutQuint, fade + animation = layersOut, 1, 1.5, linear, fade + animation = fadeLayersIn, 1, 1.79, almostLinear + animation = fadeLayersOut, 1, 1.39, almostLinear + animation = workspaces, 0, 0, ease +} + +# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/ +# "Smart gaps" / "No gaps when only" +# uncomment all if you wish to use that. +# workspace = w[tv1], gapsout:0, gapsin:0 +# workspace = f[1], gapsout:0, gapsin:0 +# windowrule = bordersize 0, floating:0, onworkspace:w[tv1] +# windowrule = rounding 0, floating:0, onworkspace:w[tv1] +# windowrule = bordersize 0, floating:0, onworkspace:f[1] +# windowrule = rounding 0, floating:0, onworkspace:f[1] + +# 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 +} + +# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more +master { + new_status = master +} + +# https://wiki.hyprland.org/Configuring/Variables/#misc +misc { + disable_hyprland_logo = true + disable_splash_rendering = true +} + diff --git a/default/hypr/windows.conf b/default/hypr/windows.conf new file mode 100644 index 0000000..5d8d3b5 --- /dev/null +++ b/default/hypr/windows.conf @@ -0,0 +1,7 @@ +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +windowrule = suppressevent maximize, class:.* +windowrule = tile, class:^(Chromium)$ + +# Fix some dragging issues with XWayland +windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 +