From 25d579d10547e7604e2c51197d96f54e628a674c Mon Sep 17 00:00:00 2001 From: gibbyb Date: Tue, 31 Dec 2024 09:15:45 -0600 Subject: [PATCH] Move hyprland configs to central folder for each machine --- .../{ => hyprland/desktop}/hypr/hyprland.conf | 24 ++- .../desktop}/hypr/hyprpaper.conf | 0 .../{ => hyprland/desktop}/waybar/config | 14 +- .../{ => hyprland/desktop}/waybar/style.css | 0 .../hyprland/gulfport/hypr/hyprland.conf | 190 ++++++++++++++++++ .../hyprland/gulfport/hypr/hyprpaper.conf | 5 + .../dotfiles/hyprland/gulfport/waybar/config | 161 +++++++++++++++ .../hyprland/gulfport/waybar/style.css | 73 +++++++ .../hyprland/laptop/hypr/hyprland.conf | 188 +++++++++++++++++ .../hyprland/laptop/hypr/hyprpaper.conf | 5 + .../dotfiles/hyprland/laptop/waybar/config | 161 +++++++++++++++ .../dotfiles/hyprland/laptop/waybar/style.css | 73 +++++++ packages/espanso | 2 +- 13 files changed, 879 insertions(+), 17 deletions(-) rename configs/dotfiles/{ => hyprland/desktop}/hypr/hyprland.conf (95%) rename configs/dotfiles/{ => hyprland/desktop}/hypr/hyprpaper.conf (100%) rename configs/dotfiles/{ => hyprland/desktop}/waybar/config (93%) rename configs/dotfiles/{ => hyprland/desktop}/waybar/style.css (100%) create mode 100644 configs/dotfiles/hyprland/gulfport/hypr/hyprland.conf create mode 100644 configs/dotfiles/hyprland/gulfport/hypr/hyprpaper.conf create mode 100644 configs/dotfiles/hyprland/gulfport/waybar/config create mode 100644 configs/dotfiles/hyprland/gulfport/waybar/style.css create mode 100644 configs/dotfiles/hyprland/laptop/hypr/hyprland.conf create mode 100644 configs/dotfiles/hyprland/laptop/hypr/hyprpaper.conf create mode 100644 configs/dotfiles/hyprland/laptop/waybar/config create mode 100644 configs/dotfiles/hyprland/laptop/waybar/style.css diff --git a/configs/dotfiles/hypr/hyprland.conf b/configs/dotfiles/hyprland/desktop/hypr/hyprland.conf similarity index 95% rename from configs/dotfiles/hypr/hyprland.conf rename to configs/dotfiles/hyprland/desktop/hypr/hyprland.conf index 98e7f9f..fd0eee6 100644 --- a/configs/dotfiles/hypr/hyprland.conf +++ b/configs/dotfiles/hyprland/desktop/hypr/hyprland.conf @@ -1,21 +1,22 @@ -# This is an example Hyprland config file. -# -# Refer to the wiki for more information. - -# -# Please note not all available settings / options are set here. -# For a full list, see the wiki -# +# Gib's Desktop Hyprland Config # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=eDP-1,1920x1200@120,1920x0,1 monitor=DP-1,1920x1080@75,0x0,1 - # See https://wiki.hyprland.org/Configuring/Keywords/ for more -# Execute your favorite apps at launch -exec-once = waybar & hyprpaper +# Waybar +exec-once = waybar + +# Hyprpaper +exec-once = hyprpaper + +# Dunst +exec-once = systemctl --user start dunst + +# Hyprpolkitagent +exec-once = systemctl --user start hyprpolkitagent # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf @@ -186,3 +187,4 @@ 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/configs/dotfiles/hypr/hyprpaper.conf b/configs/dotfiles/hyprland/desktop/hypr/hyprpaper.conf similarity index 100% rename from configs/dotfiles/hypr/hyprpaper.conf rename to configs/dotfiles/hyprland/desktop/hypr/hyprpaper.conf diff --git a/configs/dotfiles/waybar/config b/configs/dotfiles/hyprland/desktop/waybar/config similarity index 93% rename from configs/dotfiles/waybar/config rename to configs/dotfiles/hyprland/desktop/waybar/config index 7bce349..6fed958 100644 --- a/configs/dotfiles/waybar/config +++ b/configs/dotfiles/hyprland/desktop/waybar/config @@ -5,14 +5,18 @@ "width": 1900, // Waybar width "spacing": 4, // Gaps between modules (4px) // Choose the order of the modules - "modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad", "custom/media"], - "modules-center": ["sway/window"], + "modules-left": ["hyprland/workspaces", "sway/mode", "sway/scratchpad", "custom/media"], + "modules-center": [ + "hyprland/window": { + "seperate-outputs": true + } + ], "modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "sway/language", "battery", "battery#bat2", "clock", "tray"], // Modules configuration - "sway/workspaces": { - "disable-scroll": true, + "hyprland/workspaces": { "all-outputs": true, - "warp-on-scroll": false, + "on-scroll-up": "hyprctl dispatch workspace e+1", + "on-scroll-down": "hyprctl dispatch workspace e-1", "format": "{name}: {icon}", "format-icons": { "1": "", diff --git a/configs/dotfiles/waybar/style.css b/configs/dotfiles/hyprland/desktop/waybar/style.css similarity index 100% rename from configs/dotfiles/waybar/style.css rename to configs/dotfiles/hyprland/desktop/waybar/style.css diff --git a/configs/dotfiles/hyprland/gulfport/hypr/hyprland.conf b/configs/dotfiles/hyprland/gulfport/hypr/hyprland.conf new file mode 100644 index 0000000..fd0eee6 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/hypr/hyprland.conf @@ -0,0 +1,190 @@ +# Gib's Desktop Hyprland Config + +# See https://wiki.hyprland.org/Configuring/Monitors/ +monitor=eDP-1,1920x1200@120,1920x0,1 +monitor=DP-1,1920x1080@75,0x0,1 + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more + +# Waybar +exec-once = waybar + +# Hyprpaper +exec-once = hyprpaper + +# Dunst +exec-once = systemctl --user start dunst + +# Hyprpolkitagent +exec-once = systemctl --user start hyprpolkitagent + +# Source a file (multi-file configs) +# source = ~/.config/hypr/myColors.conf + +# Set programs that you use +$terminal = kitty +$fileManager = nautilus +$browser = flatpak run one.ablaze.floorp +$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 = + + follow_mouse = 1 + + touchpad { + natural_scroll = true + } + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. +} + +general { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + gaps_in = 6 + gaps_out = 12 + border_size = 3 + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + + layout = master + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false +} + +decoration { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + rounding = 10 + + blur { + enabled = true + size = 3 + passes = 1 + + vibrancy = 0.1696 + } + + drop_shadow = true + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) +} + +animations { + enabled = true + + # 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 = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true # you probably want this +} + +master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_is_master = false +} + +gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = false +} + +misc { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + force_default_wallpaper = -1 # Set to 0 to disable the anime mascot wallpapers +} + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more +device:epic-mouse-v1 { + sensitivity = -0.5 +} + +# Example windowrule v1 + windowrule = tile, ^(kitty)$ +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +windowrulev2 = nomaximizerequest, class:.* # You'll probably like this. + + +# 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, $terminal +bind = $mainMod, F, exec, $fileManager +bind = $mainMod, W, exec, $browser +bind = $mainMod, C, killactive, +bind = $mainMod, M, exit, +bind = $mainMod, V, togglefloating, +bind = $mainMod, R, exec, $menu +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle + +# Move focus with mainMod + arrow keys +bind = $mainMod, h, movefocus, l +bind = $mainMod, l, movefocus, r +bind = $mainMod, k, movefocus, u +bind = $mainMod, j, 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 + +# Example special workspace (scratchpad) +bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod SHIFT, S, movetoworkspace, special:magic + +# 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/configs/dotfiles/hyprland/gulfport/hypr/hyprpaper.conf b/configs/dotfiles/hyprland/gulfport/hypr/hyprpaper.conf new file mode 100644 index 0000000..aab1ee4 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/hypr/hyprpaper.conf @@ -0,0 +1,5 @@ +preload = /home/gib/Pictures/Wallpapers/Best_of_the_best/excellentbg.png +preload = /home/gib/Pictures/Wallpapers/Best_of_the_best/gloomyroadcatbg.png + +wallpaper = eDP-1,/home/gib/Pictures/Wallpapers/Best_of_the_best/excellentbg.png +wallpaper = DP-1,/home/gib/Pictures/Wallpapers/Best_of_the_best/gloomyroadcatbg.png diff --git a/configs/dotfiles/hyprland/gulfport/waybar/config b/configs/dotfiles/hyprland/gulfport/waybar/config new file mode 100644 index 0000000..6fed958 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/waybar/config @@ -0,0 +1,161 @@ +{ + "layer": "top", // Waybar at top layer + "position": "top", // Waybar position (top|bottom|left|right) + "height": 30, // Waybar height (to be removed for auto height) + "width": 1900, // Waybar width + "spacing": 4, // Gaps between modules (4px) + // Choose the order of the modules + "modules-left": ["hyprland/workspaces", "sway/mode", "sway/scratchpad", "custom/media"], + "modules-center": [ + "hyprland/window": { + "seperate-outputs": true + } + ], + "modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "sway/language", "battery", "battery#bat2", "clock", "tray"], + // Modules configuration + "hyprland/workspaces": { + "all-outputs": true, + "on-scroll-up": "hyprctl dispatch workspace e+1", + "on-scroll-down": "hyprctl dispatch workspace e-1", + "format": "{name}: {icon}", + "format-icons": { + "1": "", + "2": "", + "3": "", + "4": "", + "5": "", + "urgent": "", + "focused": "", + "default": "" + } + }, + "sway/mode": { + "format": "{}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "mpd": { + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", + "format-disconnected": "Disconnected ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 2, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + } +} diff --git a/configs/dotfiles/hyprland/gulfport/waybar/style.css b/configs/dotfiles/hyprland/gulfport/waybar/style.css new file mode 100644 index 0000000..02a170d --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/waybar/style.css @@ -0,0 +1,73 @@ +* { + border: none; + border-radius: 0; + font-family: Roboto, Helvetica, Arial, sans-serif; + font-size: 13px; + min-height: 0; +} + +window#waybar { + background: rgba(43, 48, 59, 0.5); + border-bottom: 3px solid rgba(100, 114, 125, 0.5); + color: white; +} + +tooltip { + background: rgba(43, 48, 59, 0.5); + border: 1px solid rgba(100, 114, 125, 0.5); +} +tooltip label { + color: white; +} + +#workspaces button { + padding: 0 5px; + background: transparent; + color: white; + border-bottom: 3px solid transparent; +} + +#workspaces button.focused { + background: #64727D; + border-bottom: 3px solid white; +} + +#mode, #clock, #battery { + padding: 0 10px; +} + +#mode { + background: #64727D; + border-bottom: 3px solid white; +} + +#clock { + background-color: #64727D; +} + +#battery { + background-color: #ffffff; + color: black; +} + +#battery.charging { + color: white; + background-color: #26A65B; +} + +@keyframes blink { + to { + background-color: #ffffff; + color: black; + } +} + +#battery.warning:not(.charging) { + background: #f53c3c; + color: white; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} diff --git a/configs/dotfiles/hyprland/laptop/hypr/hyprland.conf b/configs/dotfiles/hyprland/laptop/hypr/hyprland.conf new file mode 100644 index 0000000..f4e40d2 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/hypr/hyprland.conf @@ -0,0 +1,188 @@ +# Gib's Laptop Hyprland Config + +# See https://wiki.hyprland.org/Configuring/Monitors/ +monitor=eDP-1,1920x1200@120,1920x0,1 +monitor=DP-1,1920x1080@75,0x0,1 + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more + +# Waybar +exec-once = waybar + +# Hyprpaper +exec-once = hyprpaper + +# Dunst +exec-once = dunst + +# + +# Source a file (multi-file configs) +# source = ~/.config/hypr/myColors.conf + +# Set programs that you use +$terminal = kitty +$fileManager = nautilus +$browser = flatpak run one.ablaze.floorp +$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 = + + follow_mouse = 1 + + touchpad { + natural_scroll = true + } + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. +} + +general { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + gaps_in = 6 + gaps_out = 12 + border_size = 3 + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + + layout = master + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false +} + +decoration { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + rounding = 10 + + blur { + enabled = true + size = 3 + passes = 1 + + vibrancy = 0.1696 + } + + drop_shadow = true + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) +} + +animations { + enabled = true + + # 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 = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true # you probably want this +} + +master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_is_master = false +} + +gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = false +} + +misc { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + force_default_wallpaper = -1 # Set to 0 to disable the anime mascot wallpapers +} + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more +device:epic-mouse-v1 { + sensitivity = -0.5 +} + +# Example windowrule v1 + windowrule = tile, ^(kitty)$ +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +windowrulev2 = nomaximizerequest, class:.* # You'll probably like this. + + +# 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, $terminal +bind = $mainMod, F, exec, $fileManager +bind = $mainMod, W, exec, $browser +bind = $mainMod, C, killactive, +bind = $mainMod, M, exit, +bind = $mainMod, V, togglefloating, +bind = $mainMod, R, exec, $menu +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle + +# Move focus with mainMod + arrow keys +bind = $mainMod, h, movefocus, l +bind = $mainMod, l, movefocus, r +bind = $mainMod, k, movefocus, u +bind = $mainMod, j, 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 + +# Example special workspace (scratchpad) +bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod SHIFT, S, movetoworkspace, special:magic + +# 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/configs/dotfiles/hyprland/laptop/hypr/hyprpaper.conf b/configs/dotfiles/hyprland/laptop/hypr/hyprpaper.conf new file mode 100644 index 0000000..aab1ee4 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/hypr/hyprpaper.conf @@ -0,0 +1,5 @@ +preload = /home/gib/Pictures/Wallpapers/Best_of_the_best/excellentbg.png +preload = /home/gib/Pictures/Wallpapers/Best_of_the_best/gloomyroadcatbg.png + +wallpaper = eDP-1,/home/gib/Pictures/Wallpapers/Best_of_the_best/excellentbg.png +wallpaper = DP-1,/home/gib/Pictures/Wallpapers/Best_of_the_best/gloomyroadcatbg.png diff --git a/configs/dotfiles/hyprland/laptop/waybar/config b/configs/dotfiles/hyprland/laptop/waybar/config new file mode 100644 index 0000000..6fed958 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/waybar/config @@ -0,0 +1,161 @@ +{ + "layer": "top", // Waybar at top layer + "position": "top", // Waybar position (top|bottom|left|right) + "height": 30, // Waybar height (to be removed for auto height) + "width": 1900, // Waybar width + "spacing": 4, // Gaps between modules (4px) + // Choose the order of the modules + "modules-left": ["hyprland/workspaces", "sway/mode", "sway/scratchpad", "custom/media"], + "modules-center": [ + "hyprland/window": { + "seperate-outputs": true + } + ], + "modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "sway/language", "battery", "battery#bat2", "clock", "tray"], + // Modules configuration + "hyprland/workspaces": { + "all-outputs": true, + "on-scroll-up": "hyprctl dispatch workspace e+1", + "on-scroll-down": "hyprctl dispatch workspace e-1", + "format": "{name}: {icon}", + "format-icons": { + "1": "", + "2": "", + "3": "", + "4": "", + "5": "", + "urgent": "", + "focused": "", + "default": "" + } + }, + "sway/mode": { + "format": "{}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "mpd": { + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", + "format-disconnected": "Disconnected ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 2, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + } +} diff --git a/configs/dotfiles/hyprland/laptop/waybar/style.css b/configs/dotfiles/hyprland/laptop/waybar/style.css new file mode 100644 index 0000000..02a170d --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/waybar/style.css @@ -0,0 +1,73 @@ +* { + border: none; + border-radius: 0; + font-family: Roboto, Helvetica, Arial, sans-serif; + font-size: 13px; + min-height: 0; +} + +window#waybar { + background: rgba(43, 48, 59, 0.5); + border-bottom: 3px solid rgba(100, 114, 125, 0.5); + color: white; +} + +tooltip { + background: rgba(43, 48, 59, 0.5); + border: 1px solid rgba(100, 114, 125, 0.5); +} +tooltip label { + color: white; +} + +#workspaces button { + padding: 0 5px; + background: transparent; + color: white; + border-bottom: 3px solid transparent; +} + +#workspaces button.focused { + background: #64727D; + border-bottom: 3px solid white; +} + +#mode, #clock, #battery { + padding: 0 10px; +} + +#mode { + background: #64727D; + border-bottom: 3px solid white; +} + +#clock { + background-color: #64727D; +} + +#battery { + background-color: #ffffff; + color: black; +} + +#battery.charging { + color: white; + background-color: #26A65B; +} + +@keyframes blink { + to { + background-color: #ffffff; + color: black; + } +} + +#battery.warning:not(.charging) { + background: #f53c3c; + color: white; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} diff --git a/packages/espanso b/packages/espanso index fd9a7dd..b9ac086 160000 --- a/packages/espanso +++ b/packages/espanso @@ -1 +1 @@ -Subproject commit fd9a7dd4f2afccaeb61623286b1230c0df0c7033 +Subproject commit b9ac086adf5c14d07f8b60a7009acd878f6cf7ca