add icon
This commit is contained in:
parent
ce030a8734
commit
2541edd0f4
@ -159,6 +159,10 @@ menu>menuitem:hover {
|
|||||||
padding: 2px;
|
padding: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#nixos-label {
|
||||||
|
color: var(--blue);
|
||||||
|
}
|
||||||
|
|
||||||
tooltip {
|
tooltip {
|
||||||
border: solid 2px;
|
border: solid 2px;
|
||||||
border-color: var(--border-color);
|
border-color: var(--border-color);
|
||||||
|
|||||||
@ -137,9 +137,12 @@ class StatusBar(Window):
|
|||||||
name="bar-inner",
|
name="bar-inner",
|
||||||
start_children=Box(
|
start_children=Box(
|
||||||
name="start-container",
|
name="start-container",
|
||||||
spacing=4,
|
spacing=6,
|
||||||
orientation="h",
|
orientation="h",
|
||||||
children=self.workspaces,
|
children=[
|
||||||
|
Label(name="nixos-label", markup=""),
|
||||||
|
self.workspaces,
|
||||||
|
],
|
||||||
),
|
),
|
||||||
center_children=Box(
|
center_children=Box(
|
||||||
name="center-container",
|
name="center-container",
|
||||||
|
|||||||
176
bar/modules/icons.py
Normal file
176
bar/modules/icons.py
Normal file
@ -0,0 +1,176 @@
|
|||||||
|
# Parameters
|
||||||
|
font_family: str = "tabler-icons"
|
||||||
|
font_weight: str = "normal"
|
||||||
|
|
||||||
|
span: str = f"<span font-family='{font_family}' font-weight='{font_weight}'>"
|
||||||
|
|
||||||
|
# Panels
|
||||||
|
apps: str = ""
|
||||||
|
dashboard: str = ""
|
||||||
|
chat: str = ""
|
||||||
|
wallpapers: str = ""
|
||||||
|
windows: str = ""
|
||||||
|
|
||||||
|
# Bar
|
||||||
|
colorpicker: str = ""
|
||||||
|
media: str = ""
|
||||||
|
|
||||||
|
# Toolbox
|
||||||
|
|
||||||
|
toolbox: str = ""
|
||||||
|
ssfull: str = ""
|
||||||
|
ssregion: str = ""
|
||||||
|
sswindow: str = ""
|
||||||
|
screenshots: str = ""
|
||||||
|
screenrecord: str = ""
|
||||||
|
recordings: str = ""
|
||||||
|
ocr: str = "ﳃ"
|
||||||
|
gamemode: str = ""
|
||||||
|
gamemode_off: str = ""
|
||||||
|
close: str = ""
|
||||||
|
|
||||||
|
# Circles
|
||||||
|
temp: str = ""
|
||||||
|
disk: str = ""
|
||||||
|
battery: str = ""
|
||||||
|
memory: str = "流"
|
||||||
|
cpu: str = ""
|
||||||
|
gpu: str = ""
|
||||||
|
|
||||||
|
# AIchat
|
||||||
|
reload: str = ""
|
||||||
|
detach: str = ""
|
||||||
|
|
||||||
|
# Wallpapers
|
||||||
|
add: str = ""
|
||||||
|
sort: str = ""
|
||||||
|
circle: str = ""
|
||||||
|
|
||||||
|
# Chevrons
|
||||||
|
chevron_up: str = ""
|
||||||
|
chevron_down: str = ""
|
||||||
|
chevron_left: str = ""
|
||||||
|
chevron_right: str = ""
|
||||||
|
|
||||||
|
# Power
|
||||||
|
lock: str = ""
|
||||||
|
suspend: str = ""
|
||||||
|
logout: str = ""
|
||||||
|
reboot: str = ""
|
||||||
|
shutdown: str = ""
|
||||||
|
|
||||||
|
# Power Manager
|
||||||
|
power_saving: str = ""
|
||||||
|
power_balanced: str = "勺"
|
||||||
|
power_performance: str = ""
|
||||||
|
charging: str = ""
|
||||||
|
discharging: str = ""
|
||||||
|
alert: str = ""
|
||||||
|
bat_charging: str = ""
|
||||||
|
bat_discharging: str = ""
|
||||||
|
bat_low: str = "="
|
||||||
|
bat_full: str = ""
|
||||||
|
|
||||||
|
|
||||||
|
# Applets
|
||||||
|
wifi_0: str = ""
|
||||||
|
wifi_1: str = ""
|
||||||
|
wifi_2: str = ""
|
||||||
|
wifi_3: str = ""
|
||||||
|
world: str = ""
|
||||||
|
world_off: str = ""
|
||||||
|
bluetooth: str = ""
|
||||||
|
night: str = ""
|
||||||
|
coffee: str = ""
|
||||||
|
notifications: str = ""
|
||||||
|
|
||||||
|
wifi_off: str = ""
|
||||||
|
bluetooth_off: str = ""
|
||||||
|
night_off: str = ""
|
||||||
|
notifications_off: str = ""
|
||||||
|
|
||||||
|
notifications_clear: str = ""
|
||||||
|
download: str = ""
|
||||||
|
upload: str = ""
|
||||||
|
|
||||||
|
# Bluetooth
|
||||||
|
bluetooth_connected: str = ""
|
||||||
|
bluetooth_disconnected: str = ""
|
||||||
|
|
||||||
|
# Player
|
||||||
|
pause: str = ""
|
||||||
|
play: str = ""
|
||||||
|
stop: str = ""
|
||||||
|
skip_back: str = ""
|
||||||
|
skip_forward: str = ""
|
||||||
|
prev: str = ""
|
||||||
|
next: str = ""
|
||||||
|
shuffle: str = ""
|
||||||
|
repeat: str = ""
|
||||||
|
music: str = ""
|
||||||
|
rewind_backward_5: str = "謹"
|
||||||
|
rewind_forward_5: str = "難"
|
||||||
|
|
||||||
|
# Volume
|
||||||
|
vol_off: str = ""
|
||||||
|
vol_mute: str = ""
|
||||||
|
vol_medium: str = ""
|
||||||
|
vol_high: str = ""
|
||||||
|
|
||||||
|
mic: str = ""
|
||||||
|
mic_mute: str = ""
|
||||||
|
|
||||||
|
# Overview
|
||||||
|
circle_plus: str = ""
|
||||||
|
|
||||||
|
# Pins
|
||||||
|
paperclip: str = ""
|
||||||
|
|
||||||
|
# Clipboard Manager
|
||||||
|
clipboard: str = ""
|
||||||
|
clip_text: str = ""
|
||||||
|
|
||||||
|
# Confirm
|
||||||
|
accept: str = ""
|
||||||
|
cancel: str = ""
|
||||||
|
trash: str = ""
|
||||||
|
|
||||||
|
# Config
|
||||||
|
config: str = ""
|
||||||
|
|
||||||
|
# Icons
|
||||||
|
firefox: str = ""
|
||||||
|
chromium: str = ""
|
||||||
|
spotify: str = "ﺆ"
|
||||||
|
disc: str = "𐀾"
|
||||||
|
disc_off: str = ""
|
||||||
|
|
||||||
|
# Brightness
|
||||||
|
brightness_low: str = ""
|
||||||
|
brightness_medium: str = ""
|
||||||
|
brightness_high: str = ""
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
dot: str = ""
|
||||||
|
palette: str = ""
|
||||||
|
cloud_off: str = ""
|
||||||
|
loader: str = ""
|
||||||
|
radar: str = ""
|
||||||
|
emoji: str = ""
|
||||||
|
keyboard: str = ""
|
||||||
|
terminal: str = ""
|
||||||
|
timer_off: str = ""
|
||||||
|
timer_on: str = ""
|
||||||
|
spy: str = ""
|
||||||
|
|
||||||
|
exceptions: list[str] = ["font_family", "font_weight", "span"]
|
||||||
|
|
||||||
|
|
||||||
|
def apply_span() -> None:
|
||||||
|
global_dict = globals()
|
||||||
|
for key in global_dict:
|
||||||
|
if key not in exceptions and not key.startswith("__"):
|
||||||
|
global_dict[key] = f"{span}{global_dict[key]}</span>"
|
||||||
|
|
||||||
|
|
||||||
|
apply_span()
|
||||||
112
bar/modules/power.py
Normal file
112
bar/modules/power.py
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
from fabric.widgets.box import Box
|
||||||
|
from fabric.widgets.label import Label
|
||||||
|
from fabric.widgets.button import Button
|
||||||
|
from fabric.utils.helpers import exec_shell_command_async
|
||||||
|
import modules.icons as icons
|
||||||
|
|
||||||
|
|
||||||
|
class PowerMenu(Box):
|
||||||
|
def __init__(self, **kwargs):
|
||||||
|
super().__init__(
|
||||||
|
name="power-menu",
|
||||||
|
orientation="h",
|
||||||
|
spacing=4,
|
||||||
|
v_align="center",
|
||||||
|
h_align="center",
|
||||||
|
visible=True,
|
||||||
|
**kwargs,
|
||||||
|
)
|
||||||
|
|
||||||
|
self.notch = kwargs["notch"]
|
||||||
|
|
||||||
|
self.btn_lock = Button(
|
||||||
|
name="power-menu-button",
|
||||||
|
child=Label(name="button-label", markup=icons.lock),
|
||||||
|
on_clicked=self.lock,
|
||||||
|
h_expand=False,
|
||||||
|
v_expand=False,
|
||||||
|
h_align="center",
|
||||||
|
v_align="center",
|
||||||
|
)
|
||||||
|
|
||||||
|
self.btn_suspend = Button(
|
||||||
|
name="power-menu-button",
|
||||||
|
child=Label(name="button-label", markup=icons.suspend),
|
||||||
|
on_clicked=self.suspend,
|
||||||
|
h_expand=False,
|
||||||
|
v_expand=False,
|
||||||
|
h_align="center",
|
||||||
|
v_align="center",
|
||||||
|
)
|
||||||
|
|
||||||
|
self.btn_logout = Button(
|
||||||
|
name="power-menu-button",
|
||||||
|
child=Label(name="button-label", markup=icons.logout),
|
||||||
|
on_clicked=self.logout,
|
||||||
|
h_expand=False,
|
||||||
|
v_expand=False,
|
||||||
|
h_align="center",
|
||||||
|
v_align="center",
|
||||||
|
)
|
||||||
|
|
||||||
|
self.btn_reboot = Button(
|
||||||
|
name="power-menu-button",
|
||||||
|
child=Label(name="button-label", markup=icons.reboot),
|
||||||
|
on_clicked=self.reboot,
|
||||||
|
h_expand=False,
|
||||||
|
v_expand=False,
|
||||||
|
h_align="center",
|
||||||
|
v_align="center",
|
||||||
|
)
|
||||||
|
|
||||||
|
self.btn_shutdown = Button(
|
||||||
|
name="power-menu-button",
|
||||||
|
child=Label(name="button-label", markup=icons.shutdown),
|
||||||
|
on_clicked=self.poweroff,
|
||||||
|
h_expand=False,
|
||||||
|
v_expand=False,
|
||||||
|
h_align="center",
|
||||||
|
v_align="center",
|
||||||
|
)
|
||||||
|
|
||||||
|
self.buttons = [
|
||||||
|
self.btn_lock,
|
||||||
|
self.btn_suspend,
|
||||||
|
self.btn_logout,
|
||||||
|
self.btn_reboot,
|
||||||
|
self.btn_shutdown,
|
||||||
|
]
|
||||||
|
|
||||||
|
for button in self.buttons:
|
||||||
|
self.add(button)
|
||||||
|
|
||||||
|
self.show_all()
|
||||||
|
|
||||||
|
def close_menu(self):
|
||||||
|
self.notch.close_notch()
|
||||||
|
|
||||||
|
# Métodos de acción
|
||||||
|
def lock(self, *args):
|
||||||
|
print("Locking screen...")
|
||||||
|
exec_shell_command_async("loginctl lock-session")
|
||||||
|
self.close_menu()
|
||||||
|
|
||||||
|
def suspend(self, *args):
|
||||||
|
print("Suspending system...")
|
||||||
|
exec_shell_command_async("systemctl suspend")
|
||||||
|
self.close_menu()
|
||||||
|
|
||||||
|
def logout(self, *args):
|
||||||
|
print("Logging out...")
|
||||||
|
exec_shell_command_async("hyprctl dispatch exit")
|
||||||
|
self.close_menu()
|
||||||
|
|
||||||
|
def reboot(self, *args):
|
||||||
|
print("Rebooting system...")
|
||||||
|
exec_shell_command_async("systemctl reboot")
|
||||||
|
self.close_menu()
|
||||||
|
|
||||||
|
def poweroff(self, *args):
|
||||||
|
print("Powering off...")
|
||||||
|
exec_shell_command_async("systemctl poweroff")
|
||||||
|
self.close_menu()
|
||||||
122
bar/test.py
122
bar/test.py
@ -1,122 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
|
|
||||||
from dataclasses import dataclass, field
|
|
||||||
from typing import Callable
|
|
||||||
from pywayland.client import Display
|
|
||||||
from pywayland.protocol.wayland import WlOutput, WlRegistry, WlSeat
|
|
||||||
from generated.river_status_unstable_v1 import (
|
|
||||||
ZriverStatusManagerV1,
|
|
||||||
ZriverOutputStatusV1,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
|
||||||
class OutputInfo:
|
|
||||||
name: int
|
|
||||||
output: WlOutput
|
|
||||||
status: ZriverOutputStatusV1
|
|
||||||
tags_view: list[int] = field(default_factory=list)
|
|
||||||
tags_focused: list[int] = field(default_factory=list)
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
|
||||||
class State:
|
|
||||||
display: Display
|
|
||||||
registry: WlRegistry
|
|
||||||
outputs: dict[int, OutputInfo] = field(default_factory=dict)
|
|
||||||
river_status_mgr: ZriverStatusManagerV1 | None = None
|
|
||||||
seat: WlSeat | None = None
|
|
||||||
seat_status: ZriverSeatStatusV1 | None = None
|
|
||||||
|
|
||||||
|
|
||||||
def decode_bitfields(bitfields: list[int] | int) -> list[int]:
|
|
||||||
tags = set()
|
|
||||||
if isinstance(bitfields, int):
|
|
||||||
bitfields = [bitfields]
|
|
||||||
for bits in bitfields:
|
|
||||||
for i in range(32):
|
|
||||||
if bits & (1 << i):
|
|
||||||
tags.add(i)
|
|
||||||
return sorted(tags)
|
|
||||||
|
|
||||||
|
|
||||||
def handle_global(
|
|
||||||
state: State, registry: WlRegistry, name: int, iface: str, version: int
|
|
||||||
) -> None:
|
|
||||||
if iface == "zriver_status_manager_v1":
|
|
||||||
state.river_status_mgr = registry.bind(name, ZriverStatusManagerV1, version)
|
|
||||||
|
|
||||||
elif iface == "wl_output":
|
|
||||||
output = registry.bind(name, WlOutput, version)
|
|
||||||
state.outputs[name] = OutputInfo(name=name, output=output, status=None)
|
|
||||||
elif iface == "wl_seat":
|
|
||||||
seat = registry.bind(name, WlSeat, version)
|
|
||||||
state.seat = seat
|
|
||||||
|
|
||||||
|
|
||||||
def handle_global_remove(state: State, registry: WlRegistry, name: int) -> None:
|
|
||||||
if name in state.outputs:
|
|
||||||
print(f"Output {name} removed.")
|
|
||||||
del state.outputs[name]
|
|
||||||
|
|
||||||
|
|
||||||
def make_view_tags_handler(state: State, name: int) -> Callable:
|
|
||||||
def handler(self, tags: list[int]) -> None:
|
|
||||||
decoded = decode_bitfields(tags)
|
|
||||||
state.outputs[name].tags_view = decoded
|
|
||||||
print(f"[Output {name}] View tags: {decoded}")
|
|
||||||
|
|
||||||
return handler
|
|
||||||
|
|
||||||
|
|
||||||
def make_focused_tags_handler(state: State, name: int) -> Callable:
|
|
||||||
def handler(self, tags: int) -> None:
|
|
||||||
decoded = decode_bitfields(tags)
|
|
||||||
state.outputs[name].tags_focused = decoded
|
|
||||||
print(f"[Output {name}] Focused tags: {decoded}")
|
|
||||||
|
|
||||||
return handler
|
|
||||||
|
|
||||||
|
|
||||||
def main() -> None:
|
|
||||||
with Display() as display:
|
|
||||||
registry = display.get_registry()
|
|
||||||
state = State(display=display, registry=registry)
|
|
||||||
|
|
||||||
registry.dispatcher["global"] = lambda reg, name, iface, ver: handle_global(
|
|
||||||
state, reg, name, iface, ver
|
|
||||||
)
|
|
||||||
registry.dispatcher["global_remove"] = lambda reg, name: handle_global_remove(
|
|
||||||
state, reg, name
|
|
||||||
)
|
|
||||||
|
|
||||||
# Discover globals
|
|
||||||
display.roundtrip()
|
|
||||||
|
|
||||||
if not state.river_status_mgr:
|
|
||||||
print("❌ River status manager not found.")
|
|
||||||
return
|
|
||||||
|
|
||||||
# Bind output status listeners
|
|
||||||
for name, info in state.outputs.items():
|
|
||||||
status = state.river_status_mgr.get_river_output_status(info.output)
|
|
||||||
status.dispatcher["view_tags"] = make_view_tags_handler(state, name)
|
|
||||||
status.dispatcher["focused_tags"] = make_focused_tags_handler(state, name)
|
|
||||||
info.status = status
|
|
||||||
|
|
||||||
if state.seat:
|
|
||||||
state.seat_status = state.river_status_mgr.get_river_seat_status(state.seat)
|
|
||||||
print("✅ Bound seat status")
|
|
||||||
|
|
||||||
# Initial data
|
|
||||||
display.roundtrip()
|
|
||||||
|
|
||||||
print("🟢 Listening for tag changes. Press Ctrl+C to exit.")
|
|
||||||
while True:
|
|
||||||
display.roundtrip()
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
||||||
550
bar/utils/icons.py
Normal file
550
bar/utils/icons.py
Normal file
@ -0,0 +1,550 @@
|
|||||||
|
common_text_icons = {
|
||||||
|
"playing": "",
|
||||||
|
"paused": "",
|
||||||
|
"power": "",
|
||||||
|
"cpu": "",
|
||||||
|
"memory": "",
|
||||||
|
"storage": "",
|
||||||
|
"updates": "",
|
||||||
|
"thermometer": "",
|
||||||
|
}
|
||||||
|
|
||||||
|
distro_text_icons = {
|
||||||
|
"deepin": "",
|
||||||
|
"fedora": "",
|
||||||
|
"arch": "",
|
||||||
|
"nixos": "",
|
||||||
|
"debian": "",
|
||||||
|
"opensuse-tumbleweed": "",
|
||||||
|
"ubuntu": "",
|
||||||
|
"endeavouros": "",
|
||||||
|
"manjaro": "",
|
||||||
|
"popos": "",
|
||||||
|
"garuda": "",
|
||||||
|
"zorin": "",
|
||||||
|
"mxlinux": "",
|
||||||
|
"arcolinux": "",
|
||||||
|
"gentoo": "",
|
||||||
|
"artix": "",
|
||||||
|
"centos": "",
|
||||||
|
"hyperbola": "",
|
||||||
|
"kubuntu": "",
|
||||||
|
"mandriva": "",
|
||||||
|
"xerolinux": "",
|
||||||
|
"parabola": "",
|
||||||
|
"void": "",
|
||||||
|
"linuxmint": "",
|
||||||
|
"archlabs": "",
|
||||||
|
"devuan": "",
|
||||||
|
"freebsd": "",
|
||||||
|
"openbsd": "",
|
||||||
|
"slackware": "",
|
||||||
|
}
|
||||||
|
|
||||||
|
# sourced from wttr.in
|
||||||
|
weather_text_icons = {
|
||||||
|
"113": {"description": "Sunny", "icon": ""},
|
||||||
|
"116": {"description": "PartlyCloudy", "icon": ""},
|
||||||
|
"119": {"description": "Cloudy", "icon": ""},
|
||||||
|
"122": {"description": "VeryCloudy", "icon": ""},
|
||||||
|
"143": {"description": "Fog", "icon": ""},
|
||||||
|
"176": {"description": "LightShowers", "icon": ""},
|
||||||
|
"179": {"description": "LightSleetShowers", "icon": ""},
|
||||||
|
"182": {"description": "LightSleet", "icon": ""},
|
||||||
|
"185": {"description": "LightSleet", "icon": ""},
|
||||||
|
"200": {"description": "ThunderyShowers", "icon": ""},
|
||||||
|
"227": {"description": "LightSnow", "icon": ""},
|
||||||
|
"230": {"description": "HeavySnow", "icon": ""},
|
||||||
|
"248": {"description": "Fog", "icon": ""},
|
||||||
|
"260": {"description": "Fog", "icon": ""},
|
||||||
|
"263": {"description": "LightShowers", "icon": ""},
|
||||||
|
"266": {"description": "LightRain", "icon": ""},
|
||||||
|
"281": {"description": "LightSleet", "icon": ""},
|
||||||
|
"284": {"description": "LightSleet", "icon": ""},
|
||||||
|
"293": {"description": "LightRain", "icon": ""},
|
||||||
|
"296": {"description": "LightRain", "icon": ""},
|
||||||
|
"299": {"description": "HeavyShowers", "icon": ""},
|
||||||
|
"302": {"description": "HeavyRain", "icon": ""},
|
||||||
|
"305": {"description": "HeavyShowers", "icon": ""},
|
||||||
|
"308": {"description": "HeavyRain", "icon": ""},
|
||||||
|
"311": {"description": "LightSleet", "icon": ""},
|
||||||
|
"314": {"description": "LightSleet", "icon": ""},
|
||||||
|
"317": {"description": "LightSleet", "icon": ""},
|
||||||
|
"320": {"description": "LightSnow", "icon": ""},
|
||||||
|
"323": {"description": "LightSnowShowers", "icon": ""},
|
||||||
|
"326": {"description": "LightSnowShowers", "icon": ""},
|
||||||
|
"329": {"description": "HeavySnow", "icon": ""},
|
||||||
|
"332": {"description": "HeavySnow", "icon": ""},
|
||||||
|
"335": {"description": "HeavySnowShowers", "icon": ""},
|
||||||
|
"338": {"description": "HeavySnow", "icon": ""},
|
||||||
|
"350": {"description": "LightSleet", "icon": ""},
|
||||||
|
"353": {"description": "LightShowers", "icon": ""},
|
||||||
|
"356": {"description": "HeavyShowers", "icon": ""},
|
||||||
|
"359": {"description": "HeavyRain", "icon": ""},
|
||||||
|
"362": {"description": "LightSleetShowers", "icon": ""},
|
||||||
|
"365": {"description": "LightSleetShowers", "icon": ""},
|
||||||
|
"368": {"description": "LightSnowShowers", "icon": ""},
|
||||||
|
"371": {"description": "HeavySnowShowers", "icon": ""},
|
||||||
|
"374": {"description": "LightSleetShowers", "icon": ""},
|
||||||
|
"377": {"description": "LightSleet", "icon": ""},
|
||||||
|
"386": {"description": "ThunderyShowers", "icon": ""},
|
||||||
|
"389": {"description": "ThunderyHeavyRain", "icon": ""},
|
||||||
|
"392": {"description": "ThunderySnowShowers", "icon": ""},
|
||||||
|
"395": {"description": "HeavySnowShowers", "icon": ""},
|
||||||
|
}
|
||||||
|
|
||||||
|
weather_text_icons_v2 = {
|
||||||
|
"113": {
|
||||||
|
"description": "Sunny",
|
||||||
|
"icon": "",
|
||||||
|
"image": "clear-day",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "clear-night",
|
||||||
|
},
|
||||||
|
"116": {
|
||||||
|
"description": "PartlyCloudy",
|
||||||
|
"icon": "",
|
||||||
|
"image": "cloudy",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "cloudy",
|
||||||
|
},
|
||||||
|
"119": {
|
||||||
|
"description": "Cloudy",
|
||||||
|
"icon": "",
|
||||||
|
"image": "cloudy",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "cloudy",
|
||||||
|
},
|
||||||
|
"122": {
|
||||||
|
"description": "VeryCloudy",
|
||||||
|
"icon": "",
|
||||||
|
"image": "cloudy",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "cloudy",
|
||||||
|
},
|
||||||
|
"143": {
|
||||||
|
"description": "Fog",
|
||||||
|
"icon": "",
|
||||||
|
"image": "fog",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "fog",
|
||||||
|
},
|
||||||
|
"176": {
|
||||||
|
"description": "LightShowers",
|
||||||
|
"icon": "",
|
||||||
|
"image": "rain",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "rain",
|
||||||
|
},
|
||||||
|
"179": {
|
||||||
|
"description": "LightSleetShowers",
|
||||||
|
"icon": "",
|
||||||
|
"image": "sleet",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "sleet",
|
||||||
|
},
|
||||||
|
"182": {
|
||||||
|
"description": "LightSleet",
|
||||||
|
"icon": "",
|
||||||
|
"image": "sleet",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "sleet",
|
||||||
|
},
|
||||||
|
"185": {
|
||||||
|
"description": "LightSleet",
|
||||||
|
"icon": "",
|
||||||
|
"image": "sleet",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "sleet",
|
||||||
|
},
|
||||||
|
"200": {
|
||||||
|
"description": "ThunderyShowers",
|
||||||
|
"icon": "",
|
||||||
|
"image": "thunderstorms",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "thunderstorms",
|
||||||
|
},
|
||||||
|
"227": {
|
||||||
|
"description": "LightSnow",
|
||||||
|
"icon": "",
|
||||||
|
"image": "snow",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "snow",
|
||||||
|
},
|
||||||
|
"230": {
|
||||||
|
"description": "HeavySnow",
|
||||||
|
"icon": "",
|
||||||
|
"image": "snow",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "snow",
|
||||||
|
},
|
||||||
|
"248": {
|
||||||
|
"description": "Fog",
|
||||||
|
"icon": "",
|
||||||
|
"image": "fog",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "fog",
|
||||||
|
},
|
||||||
|
"260": {
|
||||||
|
"description": "Fog",
|
||||||
|
"icon": "",
|
||||||
|
"image": "fog",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "fog",
|
||||||
|
},
|
||||||
|
"263": {
|
||||||
|
"description": "LightShowers",
|
||||||
|
"icon": "",
|
||||||
|
"image": "rain",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "rain",
|
||||||
|
},
|
||||||
|
"266": {
|
||||||
|
"description": "LightRain",
|
||||||
|
"icon": "",
|
||||||
|
"image": "rain",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "rain",
|
||||||
|
},
|
||||||
|
"281": {
|
||||||
|
"description": "LightSleet",
|
||||||
|
"icon": "",
|
||||||
|
"image": "sleet",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "sleet",
|
||||||
|
},
|
||||||
|
"284": {
|
||||||
|
"description": "LightSleet",
|
||||||
|
"icon": "",
|
||||||
|
"image": "sleet",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "sleet",
|
||||||
|
},
|
||||||
|
"293": {
|
||||||
|
"description": "LightRain",
|
||||||
|
"icon": "",
|
||||||
|
"image": "rain",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "rain",
|
||||||
|
},
|
||||||
|
"296": {
|
||||||
|
"description": "LightRain",
|
||||||
|
"icon": "",
|
||||||
|
"image": "rain",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "rain",
|
||||||
|
},
|
||||||
|
"299": {
|
||||||
|
"description": "HeavyShowers",
|
||||||
|
"icon": "",
|
||||||
|
"image": "rain",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "rain",
|
||||||
|
},
|
||||||
|
"302": {
|
||||||
|
"description": "HeavyRain",
|
||||||
|
"icon": "",
|
||||||
|
"image": "rain",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "rain",
|
||||||
|
},
|
||||||
|
"305": {
|
||||||
|
"description": "HeavyShowers",
|
||||||
|
"icon": "",
|
||||||
|
"image": "rain",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "rain",
|
||||||
|
},
|
||||||
|
"308": {
|
||||||
|
"description": "HeavyRain",
|
||||||
|
"icon": "",
|
||||||
|
"image": "rain",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "rain",
|
||||||
|
},
|
||||||
|
"311": {
|
||||||
|
"description": "LightSleet",
|
||||||
|
"icon": "",
|
||||||
|
"image": "sleet",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "sleet",
|
||||||
|
},
|
||||||
|
"314": {
|
||||||
|
"description": "LightSleet",
|
||||||
|
"icon": "",
|
||||||
|
"image": "sleet",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "sleet",
|
||||||
|
},
|
||||||
|
"317": {
|
||||||
|
"description": "LightSleet",
|
||||||
|
"icon": "",
|
||||||
|
"image": "sleet",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "sleet",
|
||||||
|
},
|
||||||
|
"320": {
|
||||||
|
"description": "LightSnow",
|
||||||
|
"icon": "",
|
||||||
|
"image": "snow",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "snow",
|
||||||
|
},
|
||||||
|
"323": {
|
||||||
|
"description": "LightSnowShowers",
|
||||||
|
"icon": "",
|
||||||
|
"image": "snow",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "snow",
|
||||||
|
},
|
||||||
|
"326": {
|
||||||
|
"description": "LightSnowShowers",
|
||||||
|
"icon": "",
|
||||||
|
"image": "snow",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "snow",
|
||||||
|
},
|
||||||
|
"329": {
|
||||||
|
"description": "HeavySnow",
|
||||||
|
"icon": "",
|
||||||
|
"image": "snow",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "snow",
|
||||||
|
},
|
||||||
|
"332": {
|
||||||
|
"description": "HeavySnow",
|
||||||
|
"icon": "",
|
||||||
|
"image": "snow",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "snow",
|
||||||
|
},
|
||||||
|
"335": {
|
||||||
|
"description": "HeavySnowShowers",
|
||||||
|
"icon": "",
|
||||||
|
"image": "snow",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "snow",
|
||||||
|
},
|
||||||
|
"338": {
|
||||||
|
"description": "HeavySnow",
|
||||||
|
"icon": "",
|
||||||
|
"image": "snow",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "snow",
|
||||||
|
},
|
||||||
|
"350": {
|
||||||
|
"description": "LightSleet",
|
||||||
|
"icon": "",
|
||||||
|
"image": "sleet",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "sleet",
|
||||||
|
},
|
||||||
|
"353": {
|
||||||
|
"description": "LightShowers",
|
||||||
|
"icon": "",
|
||||||
|
"image": "rain",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "rain",
|
||||||
|
},
|
||||||
|
"356": {
|
||||||
|
"description": "HeavyShowers",
|
||||||
|
"icon": "",
|
||||||
|
"image": "rain",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "rain",
|
||||||
|
},
|
||||||
|
"359": {
|
||||||
|
"description": "HeavyRain",
|
||||||
|
"icon": "",
|
||||||
|
"image": "rain",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "rain",
|
||||||
|
},
|
||||||
|
"362": {
|
||||||
|
"description": "LightSleetShowers",
|
||||||
|
"icon": "",
|
||||||
|
"image": "sleet",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "sleet",
|
||||||
|
},
|
||||||
|
"365": {
|
||||||
|
"description": "HeavySleetShowers",
|
||||||
|
"icon": "",
|
||||||
|
"image": "sleet",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "sleet",
|
||||||
|
},
|
||||||
|
"368": {
|
||||||
|
"description": "LightSleet",
|
||||||
|
"icon": "",
|
||||||
|
"image": "sleet",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "sleet",
|
||||||
|
},
|
||||||
|
"371": {
|
||||||
|
"description": "HeavySleet",
|
||||||
|
"icon": "",
|
||||||
|
"image": "sleet",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "sleet",
|
||||||
|
},
|
||||||
|
"374": {
|
||||||
|
"description": "HeavySnowShowers",
|
||||||
|
"icon": "",
|
||||||
|
"image": "snow",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "snow",
|
||||||
|
},
|
||||||
|
"377": {
|
||||||
|
"description": "LightSleet",
|
||||||
|
"icon": "",
|
||||||
|
"image": "sleet",
|
||||||
|
"icon-night": "",
|
||||||
|
"image-night": "sleet",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
volume_text_icons = {
|
||||||
|
"overamplified": "",
|
||||||
|
"high": "",
|
||||||
|
"medium": "",
|
||||||
|
"low": "",
|
||||||
|
"muted": "",
|
||||||
|
}
|
||||||
|
|
||||||
|
volume_text_icons = {
|
||||||
|
"overamplified": "",
|
||||||
|
"high": "",
|
||||||
|
"medium": "",
|
||||||
|
"low": "",
|
||||||
|
"muted": "",
|
||||||
|
}
|
||||||
|
|
||||||
|
brightness_text_icons = {
|
||||||
|
"off": "", # lowest brightness
|
||||||
|
"low": "",
|
||||||
|
"medium": "",
|
||||||
|
"high": "", # highest brightness
|
||||||
|
}
|
||||||
|
|
||||||
|
icons = {
|
||||||
|
"missing": "image-missing-symbolic",
|
||||||
|
"nix": {
|
||||||
|
"nix": "nix-snowflake-symbolic",
|
||||||
|
},
|
||||||
|
"app": {
|
||||||
|
"terminal": "terminal-symbolic",
|
||||||
|
},
|
||||||
|
"fallback": {
|
||||||
|
"executable": "application-x-executable",
|
||||||
|
"notification": "dialog-information-symbolic",
|
||||||
|
"video": "video-x-generic-symbolic",
|
||||||
|
"audio": "audio-x-generic-symbolic",
|
||||||
|
},
|
||||||
|
"ui": {
|
||||||
|
"close": "window-close-symbolic",
|
||||||
|
"colorpicker": "color-select-symbolic",
|
||||||
|
"info": "info-symbolic",
|
||||||
|
"link": "external-link-symbolic",
|
||||||
|
"lock": "system-lock-screen-symbolic",
|
||||||
|
"menu": "open-menu-symbolic",
|
||||||
|
"refresh": "view-refresh-symbolic",
|
||||||
|
"search": "system-search-symbolic",
|
||||||
|
"settings": "emblem-system-symbolic",
|
||||||
|
"themes": "preferences-desktop-theme-symbolic",
|
||||||
|
"tick": "object-select-symbolic",
|
||||||
|
"time": "hourglass-symbolic",
|
||||||
|
"toolbars": "toolbars-symbolic",
|
||||||
|
"warning": "dialog-warning-symbolic",
|
||||||
|
"avatar": "avatar-default-symbolic",
|
||||||
|
"arrow": {
|
||||||
|
"right": "pan-end-symbolic",
|
||||||
|
"left": "pan-start-symbolic",
|
||||||
|
"down": "pan-down-symbolic",
|
||||||
|
"up": "pan-up-symbolic",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"audio": {
|
||||||
|
"mic": {
|
||||||
|
"muted": "microphone-disabled-symbolic",
|
||||||
|
"low": "microphone-sensitivity-low-symbolic",
|
||||||
|
"medium": "microphone-sensitivity-medium-symbolic",
|
||||||
|
"high": "microphone-sensitivity-high-symbolic",
|
||||||
|
},
|
||||||
|
"volume": {
|
||||||
|
"muted": "audio-volume-muted-symbolic",
|
||||||
|
"low": "audio-volume-low-symbolic",
|
||||||
|
"medium": "audio-volume-medium-symbolic",
|
||||||
|
"high": "audio-volume-high-symbolic",
|
||||||
|
"overamplified": "audio-volume-overamplified-symbolic",
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"headset": "audio-headphones-symbolic",
|
||||||
|
"speaker": "audio-speakers-symbolic",
|
||||||
|
"card": "audio-card-symbolic",
|
||||||
|
},
|
||||||
|
"mixer": "mixer-symbolic",
|
||||||
|
},
|
||||||
|
"powerprofile": {
|
||||||
|
"balanced": "power-profile-balanced-symbolic",
|
||||||
|
"power-saver": "power-profile-power-saver-symbolic",
|
||||||
|
"performance": "power-profile-performance-symbolic",
|
||||||
|
},
|
||||||
|
"battery": {
|
||||||
|
"charging": "battery-flash-symbolic",
|
||||||
|
"warning": "battery-empty-symbolic",
|
||||||
|
},
|
||||||
|
"bluetooth": {
|
||||||
|
"enabled": "bluetooth-active-symbolic",
|
||||||
|
"disabled": "bluetooth-disabled-symbolic",
|
||||||
|
},
|
||||||
|
"brightness": {
|
||||||
|
"indicator": "display-brightness-symbolic",
|
||||||
|
"keyboard": "keyboard-brightness-symbolic",
|
||||||
|
"screen": "display-brightness-symbolic",
|
||||||
|
},
|
||||||
|
"powermenu": {
|
||||||
|
"sleep": "weather-clear-night-symbolic",
|
||||||
|
"reboot": "system-reboot-symbolic",
|
||||||
|
"logout": "system-log-out-symbolic",
|
||||||
|
"shutdown": "system-shutdown-symbolic",
|
||||||
|
},
|
||||||
|
"recorder": {
|
||||||
|
"recording": "media-record-symbolic",
|
||||||
|
"stopped": "media-record-symbolic",
|
||||||
|
},
|
||||||
|
"notifications": {
|
||||||
|
"noisy": "org.gnome.Settings-notifications-symbolic",
|
||||||
|
"silent": "notifications-disabled-symbolic",
|
||||||
|
"message": "chat-bubbles-symbolic",
|
||||||
|
},
|
||||||
|
"trash": {
|
||||||
|
"full": "user-trash-full-symbolic",
|
||||||
|
"empty": "user-trash-symbolic",
|
||||||
|
},
|
||||||
|
"mpris": {
|
||||||
|
"shuffle": {
|
||||||
|
"enabled": "media-playlist-shuffle-symbolic",
|
||||||
|
"disabled": "media-playlist-consecutive-symbolic",
|
||||||
|
},
|
||||||
|
"loop": {
|
||||||
|
"none": "media-playlist-repeat-symbolic",
|
||||||
|
"track": "media-playlist-repeat-song-symbolic",
|
||||||
|
"playlist": "media-playlist-repeat-symbolic",
|
||||||
|
},
|
||||||
|
"playing": "media-playback-pause-symbolic",
|
||||||
|
"paused": "media-playback-start-symbolic",
|
||||||
|
"stopped": "media-playback-start-symbolic",
|
||||||
|
"prev": "media-skip-backward-symbolic",
|
||||||
|
"next": "media-skip-forward-symbolic",
|
||||||
|
},
|
||||||
|
"system": {
|
||||||
|
"cpu": "org.gnome.SystemMonitor-symbolic",
|
||||||
|
"ram": "drive-harddisk-solidstate-symbolic",
|
||||||
|
"temp": "temperature-symbolic",
|
||||||
|
},
|
||||||
|
"color": {
|
||||||
|
"dark": "dark-mode-symbolic",
|
||||||
|
"light": "light-mode-symbolic",
|
||||||
|
},
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user