tangled
alpha
login
or
join now
davidgasquez.com
/
dotfiles
1
fork
atom
🔧 Where my dotfiles lives in harmony and peace, most of the time
1
fork
atom
overview
issues
pulls
pipelines
chore: :art: finish hyprland
davidgasquez.com
2 years ago
e67cef41
a8379232
+58
-166
3 changed files
expand all
collapse all
unified
split
hypr
hyprland.conf
waybar
config.jsonc
style.css
+13
-28
hypr/hyprland.conf
···
1
# Hyperland Configuration
2
3
# https://wiki.hyprland.org/Configuring/Monitors/
4
-
monitor=,highrr,auto,1
5
6
# Execute Apps
7
exec-once = hyprpaper
···
67
animation = workspaces, 1, 4, default
68
}
69
0
70
dwindle {
71
-
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
72
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
73
preserve_split = yes # you probably want this
74
force_split = 2
75
no_gaps_when_only = -1
76
}
77
0
78
master {
79
-
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
80
new_is_master = true
81
}
82
0
83
gestures {
84
-
# See https://wiki.hyprland.org/Configuring/Variables/ for more
85
workspace_swipe = off
86
}
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
107
$mainMod = SUPER
108
109
-
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
110
bind = $mainMod, Return, exec, $terminal
111
bind = $mainMod SHIFT, Q, killactive,
112
bind = $mainMod, M, exit,
···
153
bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9
154
bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10
155
156
-
# Example special workspace (scratchpad)
157
-
# bind = $mainMod, S, togglespecialworkspace, magic
158
-
# bind = $mainMod SHIFT, S, movetoworkspace, special:magic
159
-
160
# Scroll through existing workspaces with mainMod + scroll
161
bind = $mainMod, mouse_down, workspace, e+1
162
bind = $mainMod, mouse_up, workspace, e-1
···
169
bind = SHIFT, Print, exec, grim -g "$(slurp)" - | wl-copy && wl-paste > $(xdg-user-dir PICTURES)/screenshot-$(date +%F_%T).png
170
bind = , Print, exec, grim - | wl-copy && wl-paste > $(xdg-user-dir PICTURES)/screenshot-$(date +%F_%T).png
171
0
0
0
172
# Media Keys
173
bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +2%
174
bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -2%
···
177
bind = , XF86AudioPause, exec, playerctl play-pause
178
bind = , XF86AudioNext, exec, playerctl next
179
bind = , XF86AudioPrev, exec, playerctl previous
0
0
0
0
180
181
# Resize mode
182
bind = $mainMod, R, submap, resize
···
1
# Hyperland Configuration
2
3
# https://wiki.hyprland.org/Configuring/Monitors/
4
+
monitor=,highrr,auto,1.6
5
6
# Execute Apps
7
exec-once = hyprpaper
···
67
animation = workspaces, 1, 4, default
68
}
69
70
+
# https://wiki.hyprland.org/Configuring/Dwindle-Layout/
71
dwindle {
0
72
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
73
preserve_split = yes # you probably want this
74
force_split = 2
75
no_gaps_when_only = -1
76
}
77
78
+
# https://wiki.hyprland.org/Configuring/Master-Layout/
79
master {
0
80
new_is_master = true
81
}
82
83
+
# https://wiki.hyprland.org/Configuring/Variables/
84
gestures {
0
85
workspace_swipe = off
86
}
87
88
+
# shttps://wiki.hyprland.org/Configuring/Keywords/
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
$mainMod = SUPER
90
91
+
# https://wiki.hyprland.org/Configuring/Binds/s
92
bind = $mainMod, Return, exec, $terminal
93
bind = $mainMod SHIFT, Q, killactive,
94
bind = $mainMod, M, exit,
···
135
bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9
136
bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10
137
0
0
0
0
138
# Scroll through existing workspaces with mainMod + scroll
139
bind = $mainMod, mouse_down, workspace, e+1
140
bind = $mainMod, mouse_up, workspace, e-1
···
147
bind = SHIFT, Print, exec, grim -g "$(slurp)" - | wl-copy && wl-paste > $(xdg-user-dir PICTURES)/screenshot-$(date +%F_%T).png
148
bind = , Print, exec, grim - | wl-copy && wl-paste > $(xdg-user-dir PICTURES)/screenshot-$(date +%F_%T).png
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
+
153
# Media Keys
154
bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +2%
155
bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -2%
···
158
bind = , XF86AudioPause, exec, playerctl play-pause
159
bind = , XF86AudioNext, exec, playerctl next
160
bind = , XF86AudioPrev, exec, playerctl previous
161
+
162
+
# Screen Backlight
163
+
bind = , XF86MonBrightnessUp, exec, light -A 5
164
+
bind = , XF86MonBrightnessDown, exec, light -U 5
165
166
# Resize mode
167
bind = $mainMod, R, submap, resize
+35
-128
hypr/waybar/config.jsonc
···
5
"modules-left": [
6
"hyprland/workspaces",
7
"hyprland/submap"
8
-
// "wlr/mode",
9
-
// "wlr/scratchpad",
10
-
// "custom/media"
11
],
12
"modules-center": [
13
"hyprland/window"
14
],
15
"modules-right": [
16
-
// "idle_inhibitor",
0
17
"pulseaudio",
18
-
// "network",
19
-
// "cpu",
20
-
// "memory",
21
"temperature",
22
"tray",
23
-
// "backlight",
24
-
// "keyboard-state",
25
-
// "wlr/language",
26
-
// "battery",
27
-
// "battery#bat2",
28
"clock"
29
],
30
// Modules configuration
···
34
"warp-on-scroll": false,
35
"format": "{name}"
36
},
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
"tray": {
93
-
// "icon-size": 21,
94
"spacing": 10
95
},
96
"clock": {
97
"format": "{:%Y-%m-%d %H:%M}",
98
"on-click": "brave 'https://calendar.google.com/calendar/r'"
99
},
100
-
// "cpu": {
101
-
// "format": "{usage}% ",
102
-
// "tooltip": false
103
-
// },
104
-
// "memory": {
105
-
// "format": "{}% "
106
-
// },
107
"temperature": {
108
-
// "thermal-zone": 2,
109
-
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
110
"critical-threshold": 80,
111
-
// "format-critical": "{temperatureC}°C {icon}",
112
"format": "🌡️ {temperatureC}°C"
113
},
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
-
// },
161
"pulseaudio": {
162
-
// "scroll-step": 1, // %, can be a float
163
"format": "{icon} {volume}%",
164
-
"format-bluetooth": "{volume}% {icon}",
165
-
"format-bluetooth-muted": "🔇 {icon}",
166
"format-muted": "🔇",
167
"format-source": "{volume}% ",
168
"format-source-muted": "",
···
5
"modules-left": [
6
"hyprland/workspaces",
7
"hyprland/submap"
0
0
0
8
],
9
"modules-center": [
10
"hyprland/window"
11
],
12
"modules-right": [
13
+
"backlight",
14
+
"battery",
15
"pulseaudio",
0
0
0
16
"temperature",
17
"tray",
0
0
0
0
0
18
"clock"
19
],
20
// Modules configuration
···
24
"warp-on-scroll": false,
25
"format": "{name}"
26
},
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
"tray": {
0
28
"spacing": 10
29
},
30
"clock": {
31
"format": "{:%Y-%m-%d %H:%M}",
32
"on-click": "brave 'https://calendar.google.com/calendar/r'"
33
},
0
0
0
0
0
0
0
34
"temperature": {
0
0
35
"critical-threshold": 80,
0
36
"format": "🌡️ {temperatureC}°C"
37
},
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
+
},
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
"pulseaudio": {
0
70
"format": "{icon} {volume}%",
71
+
"format-bluetooth": "{volume}% {icon} ",
72
+
"format-bluetooth-muted": "🔇 {icon} ",
73
"format-muted": "🔇",
74
"format-source": "{volume}% ",
75
"format-source-muted": "",
+10
-10
hypr/waybar/style.css
···
79
#memory,
80
#disk,
81
#temperature,
82
-
#backlight,
83
#network,
84
#pulseaudio,
85
#wireplumber,
···
90
#scratchpad,
91
#mpd {
92
padding: 0 6px;
93
-
color: #ffffff;
94
}
95
96
#window,
···
113
}
114
115
#battery {
116
-
background-color: #ffffff;
117
-
color: #000000;
118
}
119
120
-
#battery.charging,
0
0
0
0
0
121
#battery.plugged {
122
color: #ffffff;
123
background-color: #26A65B;
124
-
}
125
126
@keyframes blink {
127
to {
···
155
156
#disk {
157
background-color: #964B00;
158
-
}
159
-
160
-
#backlight {
161
-
background-color: #90b1b1;
162
}
163
164
#network {
···
79
#memory,
80
#disk,
81
#temperature,
82
+
/* #backlight, */
83
#network,
84
#pulseaudio,
85
#wireplumber,
···
90
#scratchpad,
91
#mpd {
92
padding: 0 6px;
0
93
}
94
95
#window,
···
112
}
113
114
#battery {
115
+
background-color: transparent;
116
+
margin-right: 5px;
117
}
118
119
+
#backlight {
120
+
background-color: transparent;
121
+
margin-right: 5px;
122
+
}
123
+
124
+
/* #battery.charging,
125
#battery.plugged {
126
color: #ffffff;
127
background-color: #26A65B;
128
+
} */
129
130
@keyframes blink {
131
to {
···
159
160
#disk {
161
background-color: #964B00;
0
0
0
0
162
}
163
164
#network {