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
|
||||
:geometry (geometry
|
||||
:x "0%"
|
||||
:y "20px"
|
||||
:width "90%"
|
||||
:x "0"
|
||||
:y "0"
|
||||
:width "100%"
|
||||
:height "30px"
|
||||
:anchor "top center"
|
||||
:anchor "bottom center"
|
||||
)
|
||||
:stacking "fg"
|
||||
:reserve (struts :distance "40px" :side "top")
|
||||
:windowtype "dock"
|
||||
:wm-ignore false
|
||||
"ni"
|
||||
:exclusive true
|
||||
|
||||
(centerbox
|
||||
: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.packages = with pkgs; [
|
||||
catimg
|
||||
virt-manager
|
||||
unzip
|
||||
jq
|
||||
|
@ -276,15 +277,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
services.mako = {
|
||||
enable = true;
|
||||
backgroundColor = "#202020e0";
|
||||
borderColor = "#ffffff80";
|
||||
borderRadius = 10;
|
||||
borderSize = 1;
|
||||
defaultTimeout = 4000;
|
||||
font = "Noto Sans";
|
||||
};
|
||||
services.swaync = { enable = true; };
|
||||
|
||||
systemd.user.services.polkit-gnome-authentication-agent-1 = {
|
||||
Unit = {
|
||||
|
|
Loading…
Reference in a new issue