Compare commits

...

2 commits

Author SHA1 Message Date
e4b35d69e8
[eww] Add workspaces & systray 2024-10-21 11:14:08 +02:00
c8ab72f878
[eww] Add window title & update slider 2024-10-21 09:58:57 +02:00
6 changed files with 97 additions and 25 deletions

View file

@ -18,9 +18,6 @@
.bar > * > *:nth-child(even) { .bar > * > *:nth-child(even) {
color: $accent1; color: $accent1;
scale slider {
background-color: $disabled;
}
scale trough { scale trough {
background-color: $background1; background-color: $background1;
} }
@ -31,38 +28,46 @@
.bar > * > *:nth-child(odd) { .bar > * > *:nth-child(odd) {
color: $accent2; color: $accent2;
scale slider {
background-color: $disabled2;
}
scale trough { scale trough {
background-color: $background2; background-color: $disabled2;
} }
scale trough highlight { scale trough highlight {
background-color: $accent2; background-color: $accent2;
} }
} }
label { label, .systray {
padding: 6px; padding: 6px;
} }
.workspace {
color: $foreground;
label {
padding: 0 10px;
}
}
.workspace:hover {
background-color: $hovered;
}
.workspace.active {
background-color: $selected;
}
scale { scale {
padding: 0 4px; padding: 0 4px;
} slider {
all: unset;
scale slider { }
min-height: 1px; trough {
min-width: 1px; min-height: 6px;
} min-width: 60px;
}
scale trough { progressbar trough {
min-height: 6px; border: 2px solid $accent2;
min-width: 60px; border-radius: 16px;
} }
progressbar trough {
border: 2px solid $accent2;
border-radius: 16px;
} }
progress { progress {

View file

@ -1,4 +1,4 @@
; Brightness ; Brightness
(defpoll brightness :interval "1m" "cat /sys/class/backlight/amdgpu_bl1/brightness") (defpoll brightness :interval "1m" "cat /sys/class/backlight/amdgpu_bl1/brightness")
(defvar brightness-icons '["", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]') (defvar brightness-icons '["", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]')
(defvar brightness-slide false) (defvar brightness-slide false)
@ -12,15 +12,48 @@
(defpoll day :interval "1m" "date +'%d'") (defpoll day :interval "1m" "date +'%d'")
(defpoll year :interval "1m" "date +'%Y'") (defpoll year :interval "1m" "date +'%Y'")
; Window Title
(deflisten window-title "hyprctl activewindow -j | jq --raw-output .title; socat -u UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock - | stdbuf -o0 awk -F '>>|,' '/^activewindow>>/{print $3}'")
; Workspaces
(deflisten workspaces "~/.config/eww/scripts/get-workspaces.sh")
(deflisten active-workspace "~/.config/eww/scripts/get-active-workspace.sh")
; Widgets ; Widgets
(defwidget bar-left [] (defwidget bar-left []
(box :halign "start" (box :halign "start"
:space-evenly false :space-evenly false
(workspaces)
(systray :spacing 8
:icon-size 16
:class "systray"
)
) )
) )
(defwidget workspaces []
(eventbox :onscroll "~/.config/eww/scripts/change-active-workspace.sh {} ${active-workspace}"
(box :spacing 0
(for workspace in workspaces
(eventbox :onclick "hyprctl dispatch workspace ${workspace}"
:class "workspace ${workspace == active-workspace ? "active" : ""}"
(label :text "${workspace}")
)
)
)
)
)
(defwidget bar-middle []
(label :limit-width 2
:text "${window-title}"
)
)
(defwidget bar-right [] (defwidget bar-right []
(box :halign "end" (box :halign "end"
:space-evenly false :space-evenly false
@ -95,6 +128,7 @@
(defwidget bar [] (defwidget bar []
(box (box
(bar-left) (bar-left)
(bar-middle)
(bar-right) (bar-right)
) )
) )

View file

@ -0,0 +1,21 @@
#!/usr/bin/env bash
function clamp {
min=$1
max=$2
val=$3
python -c "print(max($min, min($val, $max)))"
}
direction=$1
current=$2
if test "$direction" = "down"
then
target=$(clamp 1 10 $(($current+1)))
echo "jumping to $target"
hyprctl dispatch workspace $target
elif test "$direction" = "up"
then
target=$(clamp 1 10 $(($current-1)))
echo "jumping to $target"
hyprctl dispatch workspace $target
fi

View file

@ -0,0 +1,6 @@
#!/usr/bin/env bash
hyprctl monitors -j | jq '.[] | select(.focused) | .activeWorkspace.id'
socat -u UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock - |
stdbuf -o0 awk -F '>>|,' -e '/^workspace>>/ {print $2}' -e '/^focusedmon>>/ {print $3}'

View file

@ -0,0 +1,6 @@
#!/usr/bin/env bash
hyprctl workspaces -j | jq -c '[.[].id] | map(tostring)'
socat -u UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock - | while read -r line; do
hyprctl workspaces -j | jq -c '[.[].id] | map(tostring)'
done

View file

@ -14,7 +14,7 @@ cfg pull
Required packages: Required packages:
``` ```
paru -S blueman bottom cliphist eww fastfetch firefox git gnome-keyring grim hyprcursor hypridle hyprland hyprlock hyprpaper imagemagick jq kitty mako networkmanager network-manager-applet nm-connection-editor noto-fonts noto-fonts-cjk noto-fonts-emoji oh-my-zsh-git otf-font-awesome pacman-contrib pastel pavucontrol pipewire-alsa pipewire-jack pipewire-pulse polkit-gnome python-pywal python-pywalfox rose-pine-cursor rose-pine-hyprcursor slurp swayosd-git ttf-jetbrains-mono-nerd udiskie waybar wl-clipboard wlogout wofi xdg-desktop-portal-hyprland zoxide zsh zsh-autosuggestions paru -S blueman bottom cliphist eww fastfetch firefox git gnome-keyring grim hyprcursor hypridle hyprland hyprlock hyprpaper imagemagick jq kitty mako networkmanager network-manager-applet nm-connection-editor noto-fonts noto-fonts-cjk noto-fonts-emoji oh-my-zsh-git otf-font-awesome pacman-contrib pastel pavucontrol pipewire-alsa pipewire-jack pipewire-pulse polkit-gnome python-pywal python-pywalfox rose-pine-cursor rose-pine-hyprcursor slurp socat swayosd-git ttf-jetbrains-mono-nerd udiskie waybar wl-clipboard wlogout wofi xdg-desktop-portal-hyprland zoxide zsh zsh-autosuggestions
``` ```
Optional packages: Optional packages: