Compare commits
4 commits
731faae4f2
...
b31305e4d1
Author | SHA1 | Date | |
---|---|---|---|
b31305e4d1 | |||
62160f1282 | |||
e47fea8adc | |||
a7da574e28 |
5 changed files with 219 additions and 18 deletions
40
ahrc-laptop/eww/eww.scss
Normal file
40
ahrc-laptop/eww/eww.scss
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
$edge_padding: 10px;
|
||||||
|
|
||||||
|
window {
|
||||||
|
font-weight: bold;
|
||||||
|
background-color: rgba(0, 0, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main > box > * {
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main > box > :first-child {
|
||||||
|
margin-left: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.left {
|
||||||
|
padding-left: $edge_padding;
|
||||||
|
}
|
||||||
|
|
||||||
|
.right {
|
||||||
|
padding-right: $edge_padding;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspaces {
|
||||||
|
font-family: Hack Nerd Font;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-active {
|
||||||
|
color: #20ff20;
|
||||||
|
}
|
||||||
|
|
||||||
|
:hover {
|
||||||
|
color: #c0ffc0;
|
||||||
|
transition: color 500ms;
|
||||||
|
transition: font-size 50ms;
|
||||||
|
}
|
||||||
|
|
||||||
|
:active {
|
||||||
|
font-size: 10pt;
|
||||||
|
}
|
|
@ -1,15 +1,175 @@
|
||||||
(defwindow bar
|
(deflisten workspaces-status
|
||||||
|
:initial "[]"
|
||||||
|
|
||||||
|
"./listen/niri/workspaces"
|
||||||
|
)
|
||||||
|
|
||||||
|
(deflisten window-title "./listen/niri/window-title")
|
||||||
|
|
||||||
|
(deflisten notifications-status
|
||||||
|
:initial '{"dnd": false, "count": 0}'
|
||||||
|
|
||||||
|
"swaync-client --subscribe"
|
||||||
|
)
|
||||||
|
|
||||||
|
(defvar workspaces-icon '{
|
||||||
|
"admin": "",
|
||||||
|
"everything": "",
|
||||||
|
"apps": ""
|
||||||
|
}')
|
||||||
|
|
||||||
|
(defvar notifications-icon '{
|
||||||
|
"nothing": "",
|
||||||
|
"new": "",
|
||||||
|
"dnd": ""
|
||||||
|
}')
|
||||||
|
|
||||||
|
(defvar battery-icon '{
|
||||||
|
"Discharging": {
|
||||||
|
"0": "",
|
||||||
|
"10": "",
|
||||||
|
"20": "",
|
||||||
|
"30": "",
|
||||||
|
"40": "",
|
||||||
|
"50": "",
|
||||||
|
"60": "",
|
||||||
|
"70": "",
|
||||||
|
"80": "",
|
||||||
|
"90": "",
|
||||||
|
"100": ""
|
||||||
|
},
|
||||||
|
"Charging": {
|
||||||
|
"0": "",
|
||||||
|
"10": "",
|
||||||
|
"20": "",
|
||||||
|
"30": "",
|
||||||
|
"40": "",
|
||||||
|
"50": "",
|
||||||
|
"60": "",
|
||||||
|
"70": "",
|
||||||
|
"80": "",
|
||||||
|
"90": "",
|
||||||
|
"100": ""
|
||||||
|
}
|
||||||
|
}')
|
||||||
|
|
||||||
|
(defwidget workspaces []
|
||||||
|
(box
|
||||||
|
:class "workspaces"
|
||||||
|
|
||||||
|
(for workspace in {workspaces-status}
|
||||||
|
(eventbox
|
||||||
|
:onclick "niri msg action focus-workspace ${workspace.idx}"
|
||||||
|
:width 25
|
||||||
|
:class "${workspace.is_active ? " workspace-active" : ""}"
|
||||||
|
|
||||||
|
"${"${workspaces-icon?.[workspace.name]}" ?: ""} "
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
(defwidget window-title []
|
||||||
|
(box (label
|
||||||
|
:limit-width 80
|
||||||
|
:text "${window-title ?: ""}"
|
||||||
|
))
|
||||||
|
)
|
||||||
|
|
||||||
|
(defwidget notifications []
|
||||||
|
(box (eventbox
|
||||||
|
:onclick "swaync-client --toggle-panel"
|
||||||
|
:onmiddleclick "swaync-client --close-all"
|
||||||
|
:onrightclick "swaync-client --toggle-dnd"
|
||||||
|
:width 25
|
||||||
|
|
||||||
|
(label
|
||||||
|
:class "icons"
|
||||||
|
:text "${notifications-status.dnd
|
||||||
|
? "${notifications-icon.dnd}"
|
||||||
|
: notifications-status.count > 0
|
||||||
|
? "${notifications-icon.new}"
|
||||||
|
: "${notifications-icon.nothing}"} ${notifications-status.count}"
|
||||||
|
)
|
||||||
|
))
|
||||||
|
)
|
||||||
|
|
||||||
|
(defwidget time []
|
||||||
|
"${formattime(EWW_TIME, "%Y-%m-%d")} ${formattime(EWW_TIME, "%H:%M:%S")}"
|
||||||
|
)
|
||||||
|
|
||||||
|
(defwidget tray []
|
||||||
|
(box (systray
|
||||||
|
:icon-size 15
|
||||||
|
:spacing 10
|
||||||
|
))
|
||||||
|
)
|
||||||
|
|
||||||
|
(defwidget battery []
|
||||||
|
(label
|
||||||
|
:text "${EWW_BATTERY.BAT0.capacity == 100
|
||||||
|
? "${battery-icon[EWW_BATTERY.BAT0.status]["100"]}"
|
||||||
|
: EWW_BATTERY.BAT0.capacity >= 90
|
||||||
|
? "${battery-icon[EWW_BATTERY.BAT0.status]["90"]}"
|
||||||
|
: EWW_BATTERY.BAT0.capacity >= 80
|
||||||
|
? "${battery-icon[EWW_BATTERY.BAT0.status]["80"]}"
|
||||||
|
: EWW_BATTERY.BAT0.capacity >= 70
|
||||||
|
? "${battery-icon[EWW_BATTERY.BAT0.status]["70"]}"
|
||||||
|
: EWW_BATTERY.BAT0.capacity >= 60
|
||||||
|
? "${battery-icon[EWW_BATTERY.BAT0.status]["60"]}"
|
||||||
|
: EWW_BATTERY.BAT0.capacity >= 50
|
||||||
|
? "${battery-icon[EWW_BATTERY.BAT0.status]["50"]}"
|
||||||
|
: EWW_BATTERY.BAT0.capacity >= 40
|
||||||
|
? "${battery-icon[EWW_BATTERY.BAT0.status]["40"]}"
|
||||||
|
: EWW_BATTERY.BAT0.capacity >= 30
|
||||||
|
? "${battery-icon[EWW_BATTERY.BAT0.status]["30"]}"
|
||||||
|
: EWW_BATTERY.BAT0.capacity >= 20
|
||||||
|
? "${battery-icon[EWW_BATTERY.BAT0.status]["20"]}"
|
||||||
|
: EWW_BATTERY.BAT0.capacity >= 10
|
||||||
|
? "${battery-icon[EWW_BATTERY.BAT0.status]["10"]}"
|
||||||
|
: "${battery-icon[EWW_BATTERY.BAT0.status]["0"]}"} ${EWW_BATTERY.BAT0.capacity}%"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
(defwindow dock
|
||||||
:monitor 0
|
:monitor 0
|
||||||
:geometry (geometry
|
:geometry (geometry
|
||||||
:x "0%"
|
:x "0"
|
||||||
:y "20px"
|
:y "0"
|
||||||
:width "90%"
|
:width "100%"
|
||||||
:height "30px"
|
:height "30px"
|
||||||
:anchor "top center"
|
:anchor "bottom center"
|
||||||
)
|
)
|
||||||
:stacking "fg"
|
:stacking "fg"
|
||||||
:reserve (struts :distance "40px" :side "top")
|
:exclusive true
|
||||||
:windowtype "dock"
|
|
||||||
:wm-ignore false
|
(centerbox
|
||||||
"ni"
|
:class "main"
|
||||||
|
|
||||||
|
(box
|
||||||
|
:class "left"
|
||||||
|
:halign "start"
|
||||||
|
:space-evenly false
|
||||||
|
|
||||||
|
(workspaces)
|
||||||
|
(window-title)
|
||||||
|
)
|
||||||
|
|
||||||
|
(box
|
||||||
|
:class "middle"
|
||||||
|
:space-evenly false
|
||||||
|
|
||||||
|
(tray)
|
||||||
|
(time)
|
||||||
|
(notifications)
|
||||||
|
)
|
||||||
|
|
||||||
|
(box
|
||||||
|
:class "right"
|
||||||
|
:halign "end"
|
||||||
|
:space-evenly false
|
||||||
|
|
||||||
|
(battery)
|
||||||
|
)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
4
ahrc-laptop/eww/listen/niri/window-title
Executable file
4
ahrc-laptop/eww/listen/niri/window-title
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
niri msg event-stream | grep --extended-regexp --line-buffered '^Window (focus|opened or) changed: ' | while read -r _line; do
|
||||||
|
niri msg --json focused-window | jq --raw-output '.title'
|
||||||
|
done
|
4
ahrc-laptop/eww/listen/niri/workspaces
Executable file
4
ahrc-laptop/eww/listen/niri/workspaces
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
niri msg event-stream | grep --extended-regexp --line-buffered '^Workspace( focused|s changed): ' | while read -r _line; do
|
||||||
|
niri msg --json workspaces | jq --compact-output 'sort_by(.idx)'
|
||||||
|
done
|
|
@ -7,6 +7,7 @@
|
||||||
home.stateVersion = "24.05";
|
home.stateVersion = "24.05";
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
catimg
|
||||||
virt-manager
|
virt-manager
|
||||||
unzip
|
unzip
|
||||||
jq
|
jq
|
||||||
|
@ -276,15 +277,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.mako = {
|
services.swaync = { enable = true; };
|
||||||
enable = true;
|
|
||||||
backgroundColor = "#202020e0";
|
|
||||||
borderColor = "#ffffff80";
|
|
||||||
borderRadius = 10;
|
|
||||||
borderSize = 1;
|
|
||||||
defaultTimeout = 4000;
|
|
||||||
font = "Noto Sans";
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.user.services.polkit-gnome-authentication-agent-1 = {
|
systemd.user.services.polkit-gnome-authentication-agent-1 = {
|
||||||
Unit = {
|
Unit = {
|
||||||
|
|
Loading…
Reference in a new issue