🔧 Where my dotfiles lives in harmony and peace, most of the time

chore: :art: finish hyprland

+58 -166
+13 -28
hypr/hyprland.conf
··· 1 1 # Hyperland Configuration 2 2 3 3 # https://wiki.hyprland.org/Configuring/Monitors/ 4 - monitor=,highrr,auto,1 4 + monitor=,highrr,auto,1.6 5 5 6 6 # Execute Apps 7 7 exec-once = hyprpaper ··· 67 67 animation = workspaces, 1, 4, default 68 68 } 69 69 70 + # https://wiki.hyprland.org/Configuring/Dwindle-Layout/ 70 71 dwindle { 71 - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more 72 72 pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below 73 73 preserve_split = yes # you probably want this 74 74 force_split = 2 75 75 no_gaps_when_only = -1 76 76 } 77 77 78 + # https://wiki.hyprland.org/Configuring/Master-Layout/ 78 79 master { 79 - # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more 80 80 new_is_master = true 81 81 } 82 82 83 + # https://wiki.hyprland.org/Configuring/Variables/ 83 84 gestures { 84 - # See https://wiki.hyprland.org/Configuring/Variables/ for more 85 85 workspace_swipe = off 86 86 } 87 87 88 - misc { 89 - # See https://wiki.hyprland.org/Configuring/Variables/ for more 90 - force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers 91 - } 92 - 93 - # Example per-device config 94 - # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more 95 - # device:epic-mouse-v1 { 96 - # sensitivity = -0.5 97 - # } 98 - 99 - # Example windowrule v1 100 - # windowrule = float, ^(kitty)$ 101 - # Example windowrule v2 102 - # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ 103 - # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more 104 - # windowrulev2 = nomaxsize, class:.* # You'll probably like this. 105 - 106 - # See https://wiki.hyprland.org/Configuring/Keywords/ for more 88 + # shttps://wiki.hyprland.org/Configuring/Keywords/ 107 89 $mainMod = SUPER 108 90 109 - # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more 91 + # https://wiki.hyprland.org/Configuring/Binds/s 110 92 bind = $mainMod, Return, exec, $terminal 111 93 bind = $mainMod SHIFT, Q, killactive, 112 94 bind = $mainMod, M, exit, ··· 153 135 bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9 154 136 bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10 155 137 156 - # Example special workspace (scratchpad) 157 - # bind = $mainMod, S, togglespecialworkspace, magic 158 - # bind = $mainMod SHIFT, S, movetoworkspace, special:magic 159 - 160 138 # Scroll through existing workspaces with mainMod + scroll 161 139 bind = $mainMod, mouse_down, workspace, e+1 162 140 bind = $mainMod, mouse_up, workspace, e-1 ··· 169 147 bind = SHIFT, Print, exec, grim -g "$(slurp)" - | wl-copy && wl-paste > $(xdg-user-dir PICTURES)/screenshot-$(date +%F_%T).png 170 148 bind = , Print, exec, grim - | wl-copy && wl-paste > $(xdg-user-dir PICTURES)/screenshot-$(date +%F_%T).png 171 149 150 + # Screenshot in laptop (windows shift + p) 151 + bind = $mainMod shift, p, exec, grim -g "$(slurp)" - | wl-copy && wl-paste > $(xdg-user-dir PICTURES)/screenshot-$(date +%F_%T).pngss 152 + 172 153 # Media Keys 173 154 bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +2% 174 155 bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -2% ··· 177 158 bind = , XF86AudioPause, exec, playerctl play-pause 178 159 bind = , XF86AudioNext, exec, playerctl next 179 160 bind = , XF86AudioPrev, exec, playerctl previous 161 + 162 + # Screen Backlight 163 + bind = , XF86MonBrightnessUp, exec, light -A 5 164 + bind = , XF86MonBrightnessDown, exec, light -U 5 180 165 181 166 # Resize mode 182 167 bind = $mainMod, R, submap, resize
+35 -128
hypr/waybar/config.jsonc
··· 5 5 "modules-left": [ 6 6 "hyprland/workspaces", 7 7 "hyprland/submap" 8 - // "wlr/mode", 9 - // "wlr/scratchpad", 10 - // "custom/media" 11 8 ], 12 9 "modules-center": [ 13 10 "hyprland/window" 14 11 ], 15 12 "modules-right": [ 16 - // "idle_inhibitor", 13 + "backlight", 14 + "battery", 17 15 "pulseaudio", 18 - // "network", 19 - // "cpu", 20 - // "memory", 21 16 "temperature", 22 17 "tray", 23 - // "backlight", 24 - // "keyboard-state", 25 - // "wlr/language", 26 - // "battery", 27 - // "battery#bat2", 28 18 "clock" 29 19 ], 30 20 // Modules configuration ··· 34 24 "warp-on-scroll": false, 35 25 "format": "{name}" 36 26 }, 37 - // "keyboard-state": { 38 - // "numlock": true, 39 - // "capslock": true, 40 - // "format": "{name} {icon}", 41 - // "format-icons": { 42 - // "locked": "", 43 - // "unlocked": "" 44 - // } 45 - // }, 46 - // "wlr/mode": { 47 - // "format": "<span style=\"italic\">{}</span>" 48 - // }, 49 - // "wlr/scratchpad": { 50 - // "format": "{icon} {count}", 51 - // "show-empty": false, 52 - // "format-icons": [ 53 - // "", 54 - // "" 55 - // ], 56 - // "tooltip": true, 57 - // "tooltip-format": "{app}: {title}" 58 - // }, 59 - // "mpd": { 60 - // "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", 61 - // "format-disconnected": "Disconnected ", 62 - // "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", 63 - // "unknown-tag": "N/A", 64 - // "interval": 2, 65 - // "consume-icons": { 66 - // "on": " " 67 - // }, 68 - // "random-icons": { 69 - // "off": "<span color=\"#f53c3c\"></span> ", 70 - // "on": " " 71 - // }, 72 - // "repeat-icons": { 73 - // "on": " " 74 - // }, 75 - // "single-icons": { 76 - // "on": "1 " 77 - // }, 78 - // "state-icons": { 79 - // "paused": "", 80 - // "playing": "" 81 - // }, 82 - // "tooltip-format": "MPD (connected)", 83 - // "tooltip-format-disconnected": "MPD (disconnected)" 84 - // }, 85 - // "idle_inhibitor": { 86 - // "format": "{icon}", 87 - // "format-icons": { 88 - // "activated": "", 89 - // "deactivated": "" 90 - // } 91 - // }, 92 27 "tray": { 93 - // "icon-size": 21, 94 28 "spacing": 10 95 29 }, 96 30 "clock": { 97 31 "format": "{:%Y-%m-%d %H:%M}", 98 32 "on-click": "brave 'https://calendar.google.com/calendar/r'" 99 33 }, 100 - // "cpu": { 101 - // "format": "{usage}% ", 102 - // "tooltip": false 103 - // }, 104 - // "memory": { 105 - // "format": "{}% " 106 - // }, 107 34 "temperature": { 108 - // "thermal-zone": 2, 109 - // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", 110 35 "critical-threshold": 80, 111 - // "format-critical": "{temperatureC}°C {icon}", 112 36 "format": "🌡️ {temperatureC}°C" 113 37 }, 114 - // "backlight": { 115 - // // "device": "acpi_video1", 116 - // "format": "{percent}% {icon}", 117 - // "format-icons": [ 118 - // "", 119 - // "", 120 - // "", 121 - // "", 122 - // "", 123 - // "", 124 - // "", 125 - // "", 126 - // "" 127 - // ] 128 - // }, 129 - // "battery": { 130 - // "states": { 131 - // // "good": 95, 132 - // "warning": 30, 133 - // "critical": 15 134 - // }, 135 - // "format": "{capacity}% {icon}", 136 - // "format-charging": "{capacity}% ", 137 - // "format-plugged": "{capacity}% ", 138 - // "format-alt": "{time} {icon}", 139 - // // "format-good": "", // An empty format will hide the module 140 - // // "format-full": "", 141 - // "format-icons": [ 142 - // "", 143 - // "", 144 - // "", 145 - // "", 146 - // "" 147 - // ] 148 - // }, 149 - // "battery#bat2": { 150 - // "bat": "BAT2" 151 - // }, 152 - // "network": { 153 - // // "interface": "wlp2*", // (Optional) To force the use of this interface 154 - // "format-wifi": "{essid} ({signalStrength}%) ", 155 - // "format-ethernet": "{ipaddr}/{cidr} ", 156 - // "tooltip-format": "{ifname} via {gwaddr} ", 157 - // "format-linked": "{ifname} (No IP) ", 158 - // "format-disconnected": "Disconnected ⚠", 159 - // "format-alt": "{ifname}: {ipaddr}/{cidr}" 160 - // }, 38 + "backlight": { 39 + "format": "{percent}% {icon}", 40 + "format-icons": [ 41 + "", 42 + "", 43 + "", 44 + "", 45 + "", 46 + "", 47 + "", 48 + "", 49 + "" 50 + ] 51 + }, 52 + "battery": { 53 + "states": { 54 + "warning": 30, 55 + "critical": 15 56 + }, 57 + "format": "{capacity}% {icon}", 58 + "format-charging": "{capacity}% ⚡", 59 + "format-plugged": "{capacity}% ", 60 + "format-alt": "{time} {icon}", 61 + "format-icons": [ 62 + "", 63 + "", 64 + "", 65 + "", 66 + "" 67 + ] 68 + }, 161 69 "pulseaudio": { 162 - // "scroll-step": 1, // %, can be a float 163 70 "format": "{icon} {volume}%", 164 - "format-bluetooth": "{volume}% {icon}", 165 - "format-bluetooth-muted": "🔇 {icon}", 71 + "format-bluetooth": "{volume}% {icon} ", 72 + "format-bluetooth-muted": "🔇 {icon} ", 166 73 "format-muted": "🔇", 167 74 "format-source": "{volume}% ", 168 75 "format-source-muted": "",
+10 -10
hypr/waybar/style.css
··· 79 79 #memory, 80 80 #disk, 81 81 #temperature, 82 - #backlight, 82 + /* #backlight, */ 83 83 #network, 84 84 #pulseaudio, 85 85 #wireplumber, ··· 90 90 #scratchpad, 91 91 #mpd { 92 92 padding: 0 6px; 93 - color: #ffffff; 94 93 } 95 94 96 95 #window, ··· 113 112 } 114 113 115 114 #battery { 116 - background-color: #ffffff; 117 - color: #000000; 115 + background-color: transparent; 116 + margin-right: 5px; 118 117 } 119 118 120 - #battery.charging, 119 + #backlight { 120 + background-color: transparent; 121 + margin-right: 5px; 122 + } 123 + 124 + /* #battery.charging, 121 125 #battery.plugged { 122 126 color: #ffffff; 123 127 background-color: #26A65B; 124 - } 128 + } */ 125 129 126 130 @keyframes blink { 127 131 to { ··· 155 159 156 160 #disk { 157 161 background-color: #964B00; 158 - } 159 - 160 - #backlight { 161 - background-color: #90b1b1; 162 162 } 163 163 164 164 #network {