Cooler waybar
This commit is contained in:
parent
098905fbd8
commit
125d671421
1
hypr/.gitignore
vendored
Normal file
1
hypr/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.stat.txt
|
2
hypr/cpu.sh
Executable file
2
hypr/cpu.sh
Executable file
@ -0,0 +1,2 @@
|
||||
#!/usr/bin/env bash
|
||||
head -n 1 ~/.config/dotfiles/hypr/.stat.txt
|
@ -29,6 +29,7 @@ workspace = 16, monitor:DP-3
|
||||
workspace = 17, monitor:DP-3
|
||||
workspace = 18, monitor:DP-3
|
||||
workspace = 19, monitor:DP-3
|
||||
workspace = 20, monitor:DP-3
|
||||
|
||||
workspace = 21, monitor:DP-2, default:true
|
||||
workspace = 22, monitor:DP-2
|
||||
@ -39,6 +40,7 @@ workspace = 26, monitor:DP-2
|
||||
workspace = 27, monitor:DP-2
|
||||
workspace = 28, monitor:DP-2
|
||||
workspace = 29, monitor:DP-2
|
||||
workspace = 30, monitor:DP-2
|
||||
|
||||
|
||||
###################
|
||||
@ -48,9 +50,10 @@ workspace = 29, monitor:DP-2
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
|
||||
# Set programs that you use
|
||||
$terminal = alacritty
|
||||
$terminal = new-terminal
|
||||
$fileManager = dolphin
|
||||
$menu = rofi -show drun -theme ~/.config/rofi/theme.rasi
|
||||
$hyprscript = ~/.config/dotfiles/hypr/workspace.sh
|
||||
|
||||
|
||||
#################
|
||||
@ -61,12 +64,15 @@ $menu = rofi -show drun -theme ~/.config/rofi/theme.rasi
|
||||
# Or execute your favorite apps at launch like this:
|
||||
|
||||
# exec-once = $terminal
|
||||
exec-once = ~/.config/dotfiles/hypr/stat.py &
|
||||
exec-once = waybar &
|
||||
exec-once = hyprpaper &
|
||||
exec-once = nm-applet &
|
||||
exec-once = flameshot &
|
||||
exec-once = blueberry-tray &
|
||||
exec-once = nextcloud --background &
|
||||
exec-once = systemctl start stream-deck --user &
|
||||
exec-once = systemctl start mars --user &
|
||||
|
||||
|
||||
#############################
|
||||
@ -93,7 +99,7 @@ general {
|
||||
border_size = 1
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
||||
col.active_border = rgba(ffffff55)
|
||||
col.active_border = rgba(ffffffaa)
|
||||
col.inactive_border = rgba(ffffff22)
|
||||
|
||||
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
||||
@ -171,6 +177,9 @@ animations {
|
||||
# windowrule = bordersize 0, floating:0, onworkspace:f[1]
|
||||
# windowrule = rounding 0, floating:0, onworkspace:f[1]
|
||||
|
||||
# Borders only on alacritty
|
||||
windowrule = noborder, class:negative:Alacritty
|
||||
|
||||
# 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
|
||||
@ -234,26 +243,26 @@ $mainMod = SUPER # Sets "Windows" key as main modifier
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
bind = $mainMod, return, exec, $terminal
|
||||
bind = $mainMod SHIFT, E, exec, $terminal
|
||||
bind = $mainMod, A, exec, firefox
|
||||
bind = $mainMod SHIFT, C, killactive,
|
||||
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, Right, movewindow,mon:r
|
||||
bind = $mainMod SHIFT, Left, movewindow,mon:l
|
||||
bind = $mainMod, Tab, cyclenext
|
||||
|
||||
|
||||
bind = $mainMod SHIFT, Q, exit
|
||||
bind = $mainMod SHIFT, Q, exec, hyprctl dispatch exit
|
||||
bind = $mainMod CTRL, R, exec, hyprctl reload
|
||||
|
||||
bind = $mainMod, Z, exec, firefox http://jdb.localhost/todo.html https://web.telegram.org https://web.whatsapp.com/ https://discord.com/app https://nuage.polymny.studio/index.php/apps/calendar/ https://mail.infomaniak.com/2 https://mail.infomaniak.com/0
|
||||
|
||||
bind = $mainMod, E, exec, firefox ext+container:name=Yuzzit&url=https://yip.atlassian.net/ ext+container:name=Yuzzit&url=https://app.slack.com/client/T03UFFGJK/D07KS0S1LDT ext+container:name=Yuzzit&url=https://app.gather.town/app/bZRkf3gh7MIximOa/ytopenspace
|
||||
bind = $mainMod, E, exec, firefox "ext+container:name=Yuzzit&url=https://yip.atlassian.net/" "ext+container:name=Yuzzit&url=https://app.slack.com/client/T03UFFGJK/D07KS0S1LDT" "ext+container:name=Yuzzit&url=https://app.gather.town/app/bZRkf3gh7MIximOa/ytopenspace"
|
||||
|
||||
bind = $mainMod, C, exec, alacritty -e numbat
|
||||
bind = $mainMod, P, exec, pavucontrol
|
||||
bind = $mainMod, B, exec, blueberry
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
# bind = $mainMod, left, movefocus, l
|
||||
@ -261,30 +270,35 @@ bind = $mainMod, E, exec, firefox ext+container:name=Yuzzit&url=https://yip.atla
|
||||
# bind = $mainMod, up, movefocus, u
|
||||
# bind = $mainMod, down, movefocus, d
|
||||
|
||||
bind = $mainMod, left, workspace, e-1
|
||||
bind = $mainMod, right, workspace, e+1
|
||||
bind = $mainMod, left, exec, $hyprscript previous
|
||||
bind = $mainMod, right, exec, $hyprscript next
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, code:10, exec, hyprsome workspace 1
|
||||
bind = $mainMod, code:11, exec, hyprsome workspace 2
|
||||
bind = $mainMod, code:12, exec, hyprsome workspace 3
|
||||
bind = $mainMod, code:13, exec, hyprsome workspace 4
|
||||
bind = $mainMod, code:14, exec, hyprsome workspace 5
|
||||
bind = $mainMod, code:15, exec, hyprsome workspace 6
|
||||
bind = $mainMod, code:16, exec, hyprsome workspace 7
|
||||
bind = $mainMod, code:17, exec, hyprsome workspace 8
|
||||
bind = $mainMod, code:18, exec, hyprsome workspace 9
|
||||
bind = $mainMod, code:10, exec, $hyprscript workspace 1
|
||||
bind = $mainMod, code:11, exec, $hyprscript workspace 2
|
||||
bind = $mainMod, code:12, exec, $hyprscript workspace 3
|
||||
bind = $mainMod, code:13, exec, $hyprscript workspace 4
|
||||
bind = $mainMod, code:14, exec, $hyprscript workspace 5
|
||||
bind = $mainMod, code:15, exec, $hyprscript workspace 6
|
||||
bind = $mainMod, code:16, exec, $hyprscript workspace 7
|
||||
bind = $mainMod, code:17, exec, $hyprscript workspace 8
|
||||
bind = $mainMod, code:18, exec, $hyprscript workspace 9
|
||||
bind = $mainMod, code:19, exec, $hyprscript workspace 10
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, code:10, exec, hyprsome movefocus 1
|
||||
bind = $mainMod SHIFT, code:11, exec, hyprsome movefocus 2
|
||||
bind = $mainMod SHIFT, code:12, exec, hyprsome movefocus 3
|
||||
bind = $mainMod SHIFT, code:13, exec, hyprsome movefocus 4
|
||||
bind = $mainMod SHIFT, code:14, exec, hyprsome movefocus 5
|
||||
bind = $mainMod SHIFT, code:15, exec, hyprsome movefocus 6
|
||||
bind = $mainMod SHIFT, code:16, exec, hyprsome movefocus 7
|
||||
bind = $mainMod SHIFT, code:17, exec, hyprsome movefocus 8
|
||||
bind = $mainMod SHIFT, code:18, exec, hyprsome movefocus 9
|
||||
bind = $mainMod SHIFT, code:10, exec, $hyprscript movetoworkspace 1
|
||||
bind = $mainMod SHIFT, code:11, exec, $hyprscript movetoworkspace 2
|
||||
bind = $mainMod SHIFT, code:12, exec, $hyprscript movetoworkspace 3
|
||||
bind = $mainMod SHIFT, code:13, exec, $hyprscript movetoworkspace 4
|
||||
bind = $mainMod SHIFT, code:14, exec, $hyprscript movetoworkspace 5
|
||||
bind = $mainMod SHIFT, code:15, exec, $hyprscript movetoworkspace 6
|
||||
bind = $mainMod SHIFT, code:16, exec, $hyprscript movetoworkspace 7
|
||||
bind = $mainMod SHIFT, code:17, exec, $hyprscript movetoworkspace 8
|
||||
bind = $mainMod SHIFT, code:18, exec, $hyprscript movetoworkspace 9
|
||||
bind = $mainMod SHIFT, code:19, exec, $hyprscript movetoworkspace 10
|
||||
|
||||
# Screenshot
|
||||
bind = , Print, exec, grim -g "$(slurp -d)" - | wl-copy
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
bind = $mainMod, S, togglespecialworkspace, magic
|
||||
|
2
hypr/mem.sh
Executable file
2
hypr/mem.sh
Executable file
@ -0,0 +1,2 @@
|
||||
#!/usr/bin/env bash
|
||||
tail -n 1 ~/.config/dotfiles/hypr/.stat.txt
|
31
hypr/stat.py
Executable file
31
hypr/stat.py
Executable file
@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import os
|
||||
from os.path import expanduser
|
||||
import psutil
|
||||
|
||||
os.chdir(os.path.expanduser('~/.config/dotfiles/hypr'))
|
||||
|
||||
bars = "_▂▃▄▅▆▇███"
|
||||
cpu_values = [0] * 10
|
||||
mem_values = [0] * 10
|
||||
|
||||
def to_bar(x):
|
||||
return bars[round((len(bars) - 1) * x / 100)]
|
||||
|
||||
while True:
|
||||
cpu_percent = psutil.cpu_percent(interval=2)
|
||||
mem_percent = psutil.virtual_memory().percent
|
||||
|
||||
for i in range(len(cpu_values) - 1):
|
||||
cpu_values[i] = cpu_values[i+1]
|
||||
mem_values[i] = mem_values[i+1]
|
||||
|
||||
cpu_values[-1] = cpu_percent
|
||||
mem_values[-1] = mem_percent
|
||||
|
||||
with open('.stat.txt', 'w') as f:
|
||||
f.write(
|
||||
' ' + ''.join([to_bar(x) for x in cpu_values]) + '\n' +
|
||||
' ' + ''.join([to_bar(x) for x in mem_values])
|
||||
)
|
53
hypr/workspace.sh
Executable file
53
hypr/workspace.sh
Executable file
@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
get_current_workspace() {
|
||||
hyprctl activeworkspace | head -n 1 | cut -d ' ' -f 3
|
||||
}
|
||||
|
||||
get_current_monitor() {
|
||||
hyprctl activeworkspace | head -n 1 | rev | cut -d ' ' -f 1 | rev | tr -d ':'
|
||||
}
|
||||
|
||||
get_nth_workspace() {
|
||||
cat /home/thomas/.config/hypr/hyprland.conf \
|
||||
| grep "^workspace =" \
|
||||
| grep $1 \
|
||||
| sed "${2}q;d" \
|
||||
| cut -d '=' -f 2 \
|
||||
| cut -d ',' -f 1 \
|
||||
| tr -d ' '
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
"workspace")
|
||||
current_monitor=$(get_current_monitor)
|
||||
workspace=$(get_nth_workspace $current_monitor $2)
|
||||
hyprctl dispatch workspace $workspace;;
|
||||
|
||||
"movetoworkspace")
|
||||
current_monitor=$(get_current_monitor)
|
||||
workspace=$(get_nth_workspace $current_monitor $2)
|
||||
hyprctl dispatch movetoworkspace $workspace;;
|
||||
|
||||
"previous")
|
||||
current_monitor=$(get_current_monitor)
|
||||
current_workspace=$(get_current_workspace)
|
||||
previous_workspace=$(($current_workspace - 1))
|
||||
|
||||
if [[ "$previous_workspace" == *0 ]]; then
|
||||
previous_workspace=$(($previous_workspace + 10))
|
||||
fi
|
||||
|
||||
hyprctl dispatch workspace $previous_workspace;;
|
||||
|
||||
"next")
|
||||
current_monitor=$(get_current_monitor)
|
||||
current_workspace=$(get_current_workspace)
|
||||
next_workspace=$(($current_workspace + 1))
|
||||
|
||||
if [[ "$next_workspace" == *1 ]]; then
|
||||
next_workspace=$(($next_workspace - 10))
|
||||
fi
|
||||
|
||||
hyprctl dispatch workspace $next_workspace;;
|
||||
esac
|
@ -2,7 +2,6 @@
|
||||
"name": "float",
|
||||
"layer": "top",
|
||||
"position": "bottom",
|
||||
"height": 75,
|
||||
"exclusive": false,
|
||||
"passthrough": false,
|
||||
"gtk-layer-shell": true,
|
||||
@ -11,7 +10,7 @@
|
||||
"margin-top" : 0,
|
||||
"margin-left": 0,
|
||||
"margin-right": 0,
|
||||
"height" : 10,
|
||||
"height" : 16,
|
||||
"modules-left": [
|
||||
],
|
||||
"modules-center": [
|
||||
@ -19,6 +18,8 @@
|
||||
"modules-right": [
|
||||
"hyprland/workspaces",
|
||||
"tray",
|
||||
"custom/cpu",
|
||||
"custom/mem",
|
||||
"battery",
|
||||
"clock",
|
||||
],
|
||||
@ -42,6 +43,7 @@
|
||||
"17": "7",
|
||||
"18": "8",
|
||||
"19": "9",
|
||||
"20": "0",
|
||||
"21": "1",
|
||||
"22": "2",
|
||||
"23": "3",
|
||||
@ -51,16 +53,17 @@
|
||||
"27": "7",
|
||||
"28": "8",
|
||||
"29": "9",
|
||||
"30": "0",
|
||||
},
|
||||
"on-click": "activate",
|
||||
"sort-by-number": true,
|
||||
"persistent-workspaces": {
|
||||
"DP-3": [11, 12, 13, 14, 15, 16, 17, 18, 19],
|
||||
"DP-2": [21, 22, 23, 24, 25, 26, 27, 28, 29]
|
||||
"DP-3": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
|
||||
"DP-2": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30]
|
||||
},
|
||||
},
|
||||
"clock": {
|
||||
"format": "{:%d/%m/%Y %H:%M}",
|
||||
"format": "{:L%A %d %B %H:%M}",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"format-alt": "{}",
|
||||
"interval": 1
|
||||
@ -128,7 +131,15 @@
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 15,
|
||||
"spacing": 10
|
||||
"icon-size": 16,
|
||||
"spacing": 5
|
||||
},
|
||||
"custom/cpu": {
|
||||
"exec": "~/.config/dotfiles/hypr/cpu.sh",
|
||||
"restart-interval": 2
|
||||
},
|
||||
"custom/mem": {
|
||||
"exec": "~/.config/dotfiles/hypr/mem.sh",
|
||||
"restart-interval": 2
|
||||
}
|
||||
}
|
||||
|
@ -9,9 +9,10 @@ window#waybar.float {
|
||||
}
|
||||
|
||||
* {
|
||||
font-family: "JetBrainsMono Nerd Font", Roboto, Helvetica, Arial, sans-serif;
|
||||
font-size: 16px;
|
||||
font-family: "Ubuntu Mono Nerd Font", Roboto, Helvetica, Arial, sans-serif;
|
||||
font-size: 14px;
|
||||
opacity: 0.9;
|
||||
min-height: 0px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
@ -35,8 +36,14 @@ button:hover {
|
||||
box-shadow: inset 0 -3px #ffffff;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
padding-top: 2px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 2px 5px;
|
||||
padding: 0px 0px;
|
||||
background-color: transparent;
|
||||
color: #ffffff;
|
||||
}
|
||||
@ -81,12 +88,18 @@ button:hover {
|
||||
#temperature,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#idle_inhibitor {
|
||||
padding: 0 10px;
|
||||
#idle_inhibitor,
|
||||
#custom-cpu,
|
||||
#custom-mem {
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
color: @maroon;
|
||||
#custom-cpu {
|
||||
color: @red;
|
||||
}
|
||||
|
||||
#custom-mem {
|
||||
color: @blue;
|
||||
}
|
||||
|
||||
#network {
|
||||
@ -102,7 +115,7 @@ button:hover {
|
||||
}
|
||||
|
||||
#clock {
|
||||
color: @flamingo;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#window {
|
||||
|
Loading…
x
Reference in New Issue
Block a user