From cfee9a8d29c82191f1344b54ced639ba1bcb837b Mon Sep 17 00:00:00 2001 From: Toni Date: Tue, 19 Aug 2025 15:32:48 -0700 Subject: [PATCH] add: Emergence for hyprland, files are split into different config files, gruvbox based --- .../Emergence/Gruvbox/hyprbinds.conf | 110 ++++++++++++++++++ .../Emergence/Gruvbox/hyprdevices.conf | 0 .../Emergence/Gruvbox/hyprexecs.conf | 22 ++++ .../Emergence/Gruvbox/hyprfeels.conf | 55 +++++++++ .../Emergence/Gruvbox/hypridle.conf | 40 +++++++ .../Emergence/Gruvbox/hyprland.conf | 23 ++++ .../Emergence/Gruvbox/hyprlock.conf | 76 ++++++++++++ .../Emergence/Gruvbox/hyprmonitors.conf | 6 + .../Emergence/Gruvbox/hyprpaper.conf | 18 +++ .../Emergence/Gruvbox/hyprrules.conf | 8 ++ .../Emergence/Gruvbox/hyprunico.conf | 4 + .../Emergence/Gruvbox/hyprvariables.conf | 29 +++++ 12 files changed, 391 insertions(+) create mode 100644 configs/hyprland_l/Emergence/Gruvbox/hyprbinds.conf create mode 100644 configs/hyprland_l/Emergence/Gruvbox/hyprdevices.conf create mode 100644 configs/hyprland_l/Emergence/Gruvbox/hyprexecs.conf create mode 100644 configs/hyprland_l/Emergence/Gruvbox/hyprfeels.conf create mode 100644 configs/hyprland_l/Emergence/Gruvbox/hypridle.conf create mode 100644 configs/hyprland_l/Emergence/Gruvbox/hyprland.conf create mode 100644 configs/hyprland_l/Emergence/Gruvbox/hyprlock.conf create mode 100644 configs/hyprland_l/Emergence/Gruvbox/hyprmonitors.conf create mode 100644 configs/hyprland_l/Emergence/Gruvbox/hyprpaper.conf create mode 100644 configs/hyprland_l/Emergence/Gruvbox/hyprrules.conf create mode 100644 configs/hyprland_l/Emergence/Gruvbox/hyprunico.conf create mode 100644 configs/hyprland_l/Emergence/Gruvbox/hyprvariables.conf diff --git a/configs/hyprland_l/Emergence/Gruvbox/hyprbinds.conf b/configs/hyprland_l/Emergence/Gruvbox/hyprbinds.conf new file mode 100644 index 0000000..b89ffbf --- /dev/null +++ b/configs/hyprland_l/Emergence/Gruvbox/hyprbinds.conf @@ -0,0 +1,110 @@ +################# +### Hyprbinds ### +################# + +$mainMod = SUPER + +bind = $mainMod, E, exec, $Filemanager +bind = $mainMod, Return, exec, $Termpri +bind = $mainMod SHIFT, Return, exec, $Termsec +#bind = $mainMod, + +bind = $mainMod, Q, killactive +bind = $mainMod, F, fullscreen, 1 +bind = $mainMod, P, pseudo, +bind = $mainMod, J, togglesplit +bind = $mainMod+SHIFT, F, fullscreen +#bind = $mainMod +#bind = $mainMod + +bind = $mainMod SHIFT, U, togglefloating +bind = $mainMod SHIFT, R, exec, hyprctl reload + +bind = $mainMod SHIFT, Escape, exec, hyprlock + +bind = Ctrl, Escape, exec, killall waybar || waybar + +bind = $mainMod, D, exec, pkill rofi || $Launcher + +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, 1, split-workspace, 1 +bind = $mainMod, 2, split-workspace, 2 +bind = $mainMod, 3, split-workspace, 3 +bind = $mainMod, 4, split-workspace, 4 +bind = $mainMod, 5, split-workspace, 5 +bind = $mainMod, 6, split-workspace, 6 +bind = $mainMod, 7, split-workspace, 7 +bind = $mainMod, 8, split-workspace, 8 +bind = $mainMod, 9, split-workspace, 9 +bind = $mainMod, 0, split-workspace, 10 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, split-movetoworkspace, 1 +bind = $mainMod SHIFT, 2, split-movetoworkspace, 2 +bind = $mainMod SHIFT, 3, split-movetoworkspace, 3 +bind = $mainMod SHIFT, 4, split-movetoworkspace, 4 +bind = $mainMod SHIFT, 5, split-movetoworkspace, 5 +bind = $mainMod SHIFT, 6, split-movetoworkspace, 6 +bind = $mainMod SHIFT, 7, split-movetoworkspace, 7 +bind = $mainMod SHIFT, 8, split-movetoworkspace, 8 +bind = $mainMod SHIFT, 9, split-movetoworkspace, 9 +bind = $mainMod SHIFT, 0, split-movetoworkspace, 10 + +# Move active window to a workspace silently (basically without moving me to that workspace) +bind = $mainMod SHIFT CTRL, 1, split-movetoworkspacesilent, 1 +bind = $mainMod SHIFT CTRL, 2, split-movetoworkspacesilent, 2 +bind = $mainMod SHIFT CTRL, 3, split-movetoworkspacesilent, 3 +bind = $mainMod SHIFT CTRL, 4, split-movetoworkspacesilent, 4 +bind = $mainMod SHIFT CTRL, 5, split-movetoworkspacesilent, 5 +bind = $mainMod SHIFT CTRL, 6, split-movetoworkspacesilent, 6 +bind = $mainMod SHIFT CTRL, 7, split-movetoworkspacesilent, 7 +bind = $mainMod SHIFT CTRL, 8, split-movetoworkspacesilent, 8 +bind = $mainMod SHIFT CTRL, 9, split-movetoworkspacesilent, 9 +bind = $mainMod SHIFT CTRL, 0, split-movetoworkspacesilent, 10 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Example special workspace (scratchpad) +bind = $mainMod, Z, togglespecialworkspace, magic +bind = $mainMod SHIFT, Z, movetoworkspace, special:magic + +# Move active window to next monitor +bind = $mainMod, Tab, split-changemonitor, +1 + +# Screenshot +bind = $mainMod, S, exec, grimblast save screen +bind = $mainMod SHIFT, S, exec, grimblast save area + +# 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 + +# Laptop multimedia keys for volume and LCD brightness +# Using wtctl provided by wireplumber +#bindel = ,XF86AudioRaiseVolume, exec, wtctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ +#bindel = ,XF86AudioLowerVolume, exec, wtctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +#bindel = ,XF86AudioMute, exec, wtctl set-mute @DEFAULT_AUDIO_SINK@ toggle +#bindel = ,XF86AudioMicMute, exec, wtctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle +# Using pctl using pulseaudio +bindel = ,XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle +bindel = ,XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle +bindel = ,XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% +bindel = ,XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% +bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+ +bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%- + +# Requires playerctl +bindl = , XF86AudioNext, exec, playerctl next +bindl = , XF86AudioPause, exec, playerctl play-pause +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioPrev, exec, playerctl previous + +bind = $mainMod SHIFT, m, exec, ~/.config/hypr/gamemode.sh diff --git a/configs/hyprland_l/Emergence/Gruvbox/hyprdevices.conf b/configs/hyprland_l/Emergence/Gruvbox/hyprdevices.conf new file mode 100644 index 0000000..e69de29 diff --git a/configs/hyprland_l/Emergence/Gruvbox/hyprexecs.conf b/configs/hyprland_l/Emergence/Gruvbox/hyprexecs.conf new file mode 100644 index 0000000..0020754 --- /dev/null +++ b/configs/hyprland_l/Emergence/Gruvbox/hyprexecs.conf @@ -0,0 +1,22 @@ +$Termpri = ghostty +$Termsec = kitty +$Filemanager = nemo +$Launcher = ~/.config/rofi/launchers/type-4/launcher.sh + +exec-once = nm-applet & +exec-once = waybar & hyprpaper & firefox & hypridle +exec-once = /usr/lib/polkit-kde-authentication-agent-1 +exec-once = swww-daemon + +# Hyprpm plugins +# Hyprland Split Monitors Configuration +plugin { + split-monitor-workspaces { + count = 10 + keep_focused = 0 + enable_notifications = 0 + enable_persistent_workspaces = 0 + } +} + +exec-once = hyprpm reload -n diff --git a/configs/hyprland_l/Emergence/Gruvbox/hyprfeels.conf b/configs/hyprland_l/Emergence/Gruvbox/hyprfeels.conf new file mode 100644 index 0000000..187f427 --- /dev/null +++ b/configs/hyprland_l/Emergence/Gruvbox/hyprfeels.conf @@ -0,0 +1,55 @@ +general { + gaps_in = 0 + gaps_out = 5 + border_size = 2 + col.active_border = rgba(FE8019aa) # Orange + col.inactive_border = rgba(595959aa) # Grey + + layout = dwindle + allow_tearing = false +} + +animations { + enabled = yes + 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 +} + +gestures { + workspace_swipe = on + workspace_swipe_fingers = 3 + workspace_swipe_distance = 500 + workspace_swipe_invert = false + workspace_swipe_create_new = true +} + +decoration { + rounding = 0 + rounding_power = 2 + + # Change transparency of focused and unfocused windows + active_opacity = 1.0 + inactive_opacity = 1.0 + + shadow { + enabled = false + range = 4 + render_power = 3 + color = rgba(1a1a1aee) + } + + # https://wiki.hyprland.org/Configuring/Variables/#blur + blur { + enabled = false + size = 3 + passes = 1 + + vibrancy = 0.1696 + } +} diff --git a/configs/hyprland_l/Emergence/Gruvbox/hypridle.conf b/configs/hyprland_l/Emergence/Gruvbox/hypridle.conf new file mode 100644 index 0000000..e343bb2 --- /dev/null +++ b/configs/hyprland_l/Emergence/Gruvbox/hypridle.conf @@ -0,0 +1,40 @@ +general { + lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. + before_sleep_cmd = loginctl lock-session # lock before suspend. + after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. +} + +listener { + timeout = 150 # 2.5min. + on-timeout = brightnessctl -s set 10 # set monitor backlight to minimum, avoid 0 on OLED monitor. + on-resume = brightnessctl -r # monitor backlight restore. +} + +# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight. +listener { + timeout = 150 # 2.5min. + on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight. + on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight. +} + +listener { + timeout = 200 # 5min + on-timeout = loginctl lock-session # lock screen when timeout has passed +} + +listener { + timeout = 230 # 5.5min + on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed + on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired. +} + +listener { + timeout = 10800 + on-timeout = systemctl hibernate +} + + +#listener { +# timeout = 300 # 30min +# on-timeout = systemctl suspend # suspend pc +#} diff --git a/configs/hyprland_l/Emergence/Gruvbox/hyprland.conf b/configs/hyprland_l/Emergence/Gruvbox/hyprland.conf new file mode 100644 index 0000000..fcc41e0 --- /dev/null +++ b/configs/hyprland_l/Emergence/Gruvbox/hyprland.conf @@ -0,0 +1,23 @@ +################# +### SOURCING ### +################# + +source = hyprexecs.conf +source = hyprfeels.conf +source = hyprmonitors.conf +source = hyprbinds.conf +source = hyprrules.conf +source = hyprvariables.conf +source = hyprdevices.conf +source = hyprunico.conf + +# 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, E, exec, $fileManager +#bind = $mainMod, V, togglefloating, +#bind = $mainMod, R, exec, $menu +#bind = $mainMod, P, pseudo, # dwindle +#bind = $mainMod, J, togglesplit, # dwindle +#bind = $mainMod SHIFT, R, exec, hyprctl reload diff --git a/configs/hyprland_l/Emergence/Gruvbox/hyprlock.conf b/configs/hyprland_l/Emergence/Gruvbox/hyprlock.conf new file mode 100644 index 0000000..37dd40a --- /dev/null +++ b/configs/hyprland_l/Emergence/Gruvbox/hyprlock.conf @@ -0,0 +1,76 @@ +# BACKGROUND +background { + monitor = + path = $HOME/Pictures/Wallpapers/Arch_Numbers.png + blur_passes = 3 + contrast = 0.8916 + brightness = 0.8172 + vibrancy = 0.1696 + vibrancy_darkness = 0.0 +} + +# GENERAL +general { + no_fade_in = false + grace = 0 + disable_loading_bar = true +} + +# INPUT FIELD +input-field { + monitor = + size = 250, 60 + outline_thickness = 2 + dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true + outer_color = rgba(0, 0, 0, 0) + inner_color = rgba(0, 0, 0, 0.5) + font_color = rgb(200, 200, 200) + fade_on_empty = false + font_family = Maple Mono + placeholder_text = Input Password... + hide_input = false + position = 0, -120 + halign = center + valign = center +} + +# TIME +label { + monitor = eDP-1 + text = cmd[update:1000] echo "$(date +"%-I:%M%p")" + color = $foreground + #color = rgba(255, 255, 255, 0.6) + font_size = 120 + font_family = Queensides + position = 0, -300 + halign = center + valign = top +} + +# USER +label { + monitor = eDP-1 + text = Greetings $USER + color = $foreground + #color = rgba(255, 255, 255, 0.6) + font_size = 25 + font_family = Queensides + position = 0, -40 + halign = center + valign = center +} + +# CURRENT SONG +label { + monitor = eDP-1 + text = cmd[update:1000] echo "$(playerctl metadata title)" + color = $foreground + #color = rgba(255, 255, 255, 0.6) + font_size = 18 + font_family = Queensides + position = 0, 35 + halign = center + valign = bottom +} diff --git a/configs/hyprland_l/Emergence/Gruvbox/hyprmonitors.conf b/configs/hyprland_l/Emergence/Gruvbox/hyprmonitors.conf new file mode 100644 index 0000000..e8e3d9c --- /dev/null +++ b/configs/hyprland_l/Emergence/Gruvbox/hyprmonitors.conf @@ -0,0 +1,6 @@ +################ +### Monitors ### +################ + +monitor=eDP-1,preferred,auto,1 +#monitor=eDP-1,disable diff --git a/configs/hyprland_l/Emergence/Gruvbox/hyprpaper.conf b/configs/hyprland_l/Emergence/Gruvbox/hyprpaper.conf new file mode 100644 index 0000000..b48c9d4 --- /dev/null +++ b/configs/hyprland_l/Emergence/Gruvbox/hyprpaper.conf @@ -0,0 +1,18 @@ +preload = /home/toniiz/Pictures/Arch_Numbers.png +preload = /home/toniiz/Pictures/Gallina.png +#if more than one preload is desired then continue to preload other backgrounds +# preload = /path/to/next_image.png +# .. more preloads + +#set the default wallpaper(s) seen on initial workspace(s) --depending on the number of monitors used +#wallpaper = ,/home/toniiz/Pictures/Arch_Numbers.png +wallpaper = ,/home/toniiz/Pictures/Gallina.png +#if more than one monitor in use, can load a 2nd image +# wallpaper = monitor2,/path/to/next_image.png +# .. more monitors + +#enable splash text rendering over the wallpaper +splash = false + +#fully disable ipc +# ipc = off diff --git a/configs/hyprland_l/Emergence/Gruvbox/hyprrules.conf b/configs/hyprland_l/Emergence/Gruvbox/hyprrules.conf new file mode 100644 index 0000000..74ecaaa --- /dev/null +++ b/configs/hyprland_l/Emergence/Gruvbox/hyprrules.conf @@ -0,0 +1,8 @@ +# Apps +windowrulev2 = noanim, class:^(wofi)$ + +# Ignore maximize requests from apps. You'll probably like this. +windowrule = suppressevent maximize, class:.* + +# Fix some dragging issues with XWayland +windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 \ No newline at end of file diff --git a/configs/hyprland_l/Emergence/Gruvbox/hyprunico.conf b/configs/hyprland_l/Emergence/Gruvbox/hyprunico.conf new file mode 100644 index 0000000..99cd957 --- /dev/null +++ b/configs/hyprland_l/Emergence/Gruvbox/hyprunico.conf @@ -0,0 +1,4 @@ +# Unique settings +# Do not forget to add "source = hyprunico.conf" within "hyprland.conf" + +monitor=HDMI-A-1,2560x1440@144,auto,1 diff --git a/configs/hyprland_l/Emergence/Gruvbox/hyprvariables.conf b/configs/hyprland_l/Emergence/Gruvbox/hyprvariables.conf new file mode 100644 index 0000000..ea0178e --- /dev/null +++ b/configs/hyprland_l/Emergence/Gruvbox/hyprvariables.conf @@ -0,0 +1,29 @@ +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 +#env = GTK_THEME,Gruvbox-Dark-Medium +env = QT_QPA_PLATFORMTHEME,qt5ct + +# 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 { + force_default_wallpaper = 1 # Set to 0 or 1 to disable the anime mascot wallpapers + disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :( + disable_splash_rendering = true + font_family = "Maple Mono" + focus_on_activate = false +} + +xwayland { + enabled = true + force_zero_scaling = true +}