✨ feat(ui): add new applet icons for better visual representation
No files matched your search
|
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 235 B |
|
Before Width: | Height: | Size: 312 B After Width: | Height: | Size: 312 B |
@@ -0,0 +1,4 @@
|
||||
<svg viewBox="-10 -10 45 45" width="28" height="28" stroke="#fff" stroke-width="2" fill="#aaa" stroke-linecap="round" stroke-linejoin="round" class="css-i6dzq1">
|
||||
<circle cx="12" cy="12" r="18" stroke="#aaa" stroke-width="1.5" fill="#aaa"></circle>
|
||||
<polyline points="6.5 6.5 17.5 17.5 12 23 12 1 17.5 6.5 6.5 17.5"></polyline>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 334 B |
@@ -0,0 +1,4 @@
|
||||
<svg viewBox="-10 -10 45 45" width="28" height="28" stroke="#fff" stroke-width="2" fill="#2369ff" stroke-linecap="round" stroke-linejoin="round" class="css-i6dzq1">
|
||||
<circle cx="12" cy="12" r="18" stroke="#2369ff" stroke-width="1.5" fill="#2369ff"></circle>
|
||||
<polyline points="6.5 6.5 17.5 17.5 12 23 12 1 17.5 6.5 6.5 17.5"></polyline>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 343 B |
|
Before Width: | Height: | Size: 770 B After Width: | Height: | Size: 770 B |
|
Before Width: | Height: | Size: 334 B After Width: | Height: | Size: 334 B |
|
Before Width: | Height: | Size: 343 B After Width: | Height: | Size: 343 B |
|
Before Width: | Height: | Size: 347 B After Width: | Height: | Size: 347 B |
|
Before Width: | Height: | Size: 519 B After Width: | Height: | Size: 519 B |
@@ -0,0 +1,10 @@
|
||||
<svg viewBox="-10 -10 45 45" width="28" height="28" stroke="#fff" stroke-width="2" fill="#aaa" stroke-linecap="round" stroke-linejoin="round" class="css-i6dzq1">
|
||||
<circle cx="12" cy="12" r="18" stroke="#aaa" stroke-width="1.5" fill="#aaa"></circle>
|
||||
<line x1="1" y1="1" x2="23" y2="23"></line>
|
||||
<path d="M16.72 11.06A10.94 10.94 0 0 1 19 12.55"></path>
|
||||
<path d="M5 12.55a10.94 10.94 0 0 1 5.17-2.39"></path>
|
||||
<path d="M10.71 5.05A16 16 0 0 1 22.58 9"></path>
|
||||
<path d="M1.42 9a15.91 15.91 0 0 1 4.7-2.88"></path>
|
||||
<path d="M8.53 16.11a6 6 0 0 1 6.95 0"></path>
|
||||
<line x1="12" y1="20" x2="12.01" y2="20"></line>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 618 B |
@@ -0,0 +1,7 @@
|
||||
<svg viewBox="-10 -10 45 45" width="28" height="28" stroke="#fff" stroke-width="2" fill="#2369ff" stroke-linecap="round" stroke-linejoin="round" class="css-i6dzq1">
|
||||
<circle cx="12" cy="12" r="18" stroke="#2369ff" stroke-width="1.5" fill="#2369ff"></circle>
|
||||
<path d="M5 12.55a11 11 0 0 1 14.08 0"></path>
|
||||
<path d="M1.42 9a16 16 0 0 1 21.16 0"></path>
|
||||
<path d="M8.53 16.11a6 6 0 0 1 6.95 0"></path>
|
||||
<line x1="12" y1="20" x2="12.01" y2="20"></line>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 457 B |
@@ -1,7 +0,0 @@
|
||||
<svg viewBox="0 0 32 32" width="24" height="24" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||
<style id="current-color-scheme" type="text/css">.ColorScheme-Text {
|
||||
color:#fff;
|
||||
}</style>
|
||||
<path class="ColorScheme-Text" d="m4.5 8c-2.493 0-4.5 2.007-4.5 4.5v7c0 2.493 2.007 4.5 4.5 4.5h20c2.493 0 4.5-2.007 4.5-4.5v-7c0-2.493-2.007-4.5-4.5-4.5zm0 1h20c1.939 0 3.5 1.561 3.5 3.5v7c0 1.939-1.561 3.5-3.5 3.5h-20c-1.939 0-3.5-1.561-3.5-3.5v-7c0-1.939 1.561-3.5 3.5-3.5zm25.5 4.5v5a2 2.5 0 0 0 2-2.5 2 2.5 0 0 0-2-2.5z" fill="currentColor" opacity=".45"/>
|
||||
<rect class="ColorScheme-Text" x="2" y="10" width="25" height="12" rx="2.5" ry="2.5" fill="currentColor"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 687 B |
@@ -1,8 +0,0 @@
|
||||
<svg width="32" height="32" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||
<style id="current-color-scheme" type="text/css">.ColorScheme-Text {
|
||||
color:#dedede;
|
||||
}</style>
|
||||
<path class="ColorScheme-Text" d="m16.25 4.9375c-0.0985-1.54e-4 -0.19605 0.01909-0.28711 0.05664-0.28036 0.1162-0.46307 0.38988-0.46289 0.69336v8.1847l-5.2422-4.8223c-0.14642-0.13464-0.34032-0.2056-0.53906-0.19726-0.19881 0.0077-0.3864 0.09416-0.52148 0.24023-0.2808 0.30514-0.26068 0.78023 0.0449 1.0605l6.2578 5.7578v0.17969l-6.2578 5.7559c-0.3043 0.28012-0.32438 0.75371-0.0449 1.0586 0.28031 0.30558 0.7554 0.32571 1.0605 0.04492l5.2422-4.8223v8.1845c-1e-3 0.66959 0.80849 1.0054 1.2812 0.53125l6-5.3134c0.30283-0.3033 0.29038-0.79824-0.0273-1.0859l-4.8907-4.4453 4.8906-4.4453c0.31768-0.2877 0.33013-0.78264 0.0273-1.0859l-6-5.3116c-0.14102-0.14052-0.33213-0.21922-0.53121-0.21875zm0.75 2.5625 4.1621 3.4737-4.1621 3.7852zm0 9.7394 4.1621 3.7852-4.1621 3.4755z" fill="currentColor"/>
|
||||
<path class="ColorScheme-Text" d="m3.0002 15.032c-0.55228 0-1 0.44772-1 1s0.44772 1 1 1 1-0.44772 1-1-0.44772-1-1-1zm4 0c-0.55228 0-1 0.44772-1 1s0.44772 1 1 1 1-0.44772 1-1-0.44772-1-1-1z" fill="currentColor"/>
|
||||
<path class="ColorScheme-Text" d="m25 15.032c-0.55228 0-1 0.44772-1 1s0.44772 1 1 1 1-0.44772 1-1-0.44772-1-1-1zm4 0c-0.55228 0-1 0.44772-1 1s0.44772 1 1 1 1-0.44772 1-1-0.44772-1-1-1z" fill="currentColor"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.4 KiB |
@@ -1,7 +0,0 @@
|
||||
<svg width="32" height="32" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||
<style id="current-color-scheme" type="text/css">.ColorScheme-Text {
|
||||
color:#dedede;
|
||||
}</style>
|
||||
<path class="ColorScheme-Text" d="m16.25 4.9375c-0.0985-1.54e-4 -0.19605 0.01909-0.28711 0.05664-0.28036 0.1162-0.46307 0.38988-0.46289 0.69336v8.1847l-5.2422-4.8223c-0.14642-0.13464-0.34032-0.2056-0.53906-0.19726-0.19881 0.0077-0.3864 0.09416-0.52148 0.24023-0.2808 0.30514-0.26068 0.78023 0.0449 1.0605l6.2578 5.7578v0.17969l-6.2578 5.7559c-0.3043 0.28012-0.32438 0.75371-0.0449 1.0586 0.28031 0.30558 0.7554 0.32571 1.0605 0.04492l5.2422-4.8223v8.1845c-1e-3 0.66959 0.80849 1.0054 1.2812 0.53125l6-5.3134c0.30283-0.3033 0.29038-0.79824-0.0273-1.0859l-4.8907-4.4453 4.8906-4.4453c0.31768-0.2877 0.33013-0.78264 0.0273-1.0859l-6-5.3116c-0.14102-0.14052-0.33213-0.21922-0.53121-0.21875zm0.75 2.5625 4.1621 3.4737-4.1621 3.7852zm0 9.7394 4.1621 3.7852-4.1621 3.4755z" fill="currentColor" opacity=".35"/>
|
||||
<rect class="ColorScheme-Text" transform="rotate(45)" x="6.6274" y="-.75" width="32" height="1.5" rx=".75" ry=".75" fill="currentColor"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,6 +0,0 @@
|
||||
<svg width="32" height="32" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||
<style id="current-color-scheme" type="text/css">.ColorScheme-Text {
|
||||
color:#dedede;
|
||||
}</style>
|
||||
<path class="ColorScheme-Text" d="m16.25 4.9375c-0.0985-1.54e-4 -0.19605 0.01909-0.28711 0.05664-0.28036 0.1162-0.46307 0.38988-0.46289 0.69336v8.1847l-5.2422-4.8223c-0.14642-0.13464-0.34032-0.2056-0.53906-0.19726-0.19881 0.0077-0.3864 0.09416-0.52148 0.24023-0.2808 0.30514-0.26068 0.78023 0.0449 1.0605l6.2578 5.7578v0.17969l-6.2578 5.7559c-0.3043 0.28012-0.32438 0.75371-0.0449 1.0586 0.28031 0.30558 0.7554 0.32571 1.0605 0.04492l5.2422-4.8223v8.1845c-1e-3 0.66959 0.80849 1.0054 1.2812 0.53125l6-5.3134c0.30283-0.3033 0.29038-0.79824-0.0273-1.0859l-4.8907-4.4453 4.8906-4.4453c0.31768-0.2877 0.33013-0.78264 0.0273-1.0859l-6-5.3116c-0.14102-0.14052-0.33213-0.21922-0.53121-0.21875zm0.75 2.5625 4.1621 3.4737-4.1621 3.7852zm0 9.7394 4.1621 3.7852-4.1621 3.4755z" fill="currentColor"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 984 B |
@@ -0,0 +1,6 @@
|
||||
<svg width="16" height="16" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<style id="current-color-scheme" type="text/css"/>
|
||||
</defs>
|
||||
<path d="m7.75 2v2.5h0.5v-2.5zm-3.8965 1.5-0.35352 0.35352 1.7676 1.7676 0.35352-0.35352zm8.1465 0-1.7676 1.7676 0.35352 0.35352 1.7676-1.7676zm-4 1.5a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3zm0.011719 0.98242a2.0292 2.0292 0 0 1 2.0293 2.0293 2.0292 2.0292 0 0 1-2.0293 2.0293 2.0292 2.0292 0 0 1-2.0293-2.0293 2.0292 2.0292 0 0 1 2.0293-2.0293zm-6.0117 1.7676v0.5h2.5v-0.5zm9.5 0v0.5h2.5v-0.5zm-6.2324 2.6289-1.7676 1.7676 0.35352 0.35352 1.7676-1.7676zm5.4648 0-0.35352 0.35352 1.7676 1.7676 0.35352-0.35352zm-2.9824 1.1211v2.5h0.5v-2.5z" fill="#f2f2f2" style="paint-order:fill markers stroke"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 770 B |
|
Before Width: | Height: | Size: 13 KiB |
@@ -1,3 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
|
||||
<circle cx="12" cy="12" r="6" fill="#aaa" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 138 B |
|
Before Width: | Height: | Size: 854 B After Width: | Height: | Size: 854 B |
|
Before Width: | Height: | Size: 515 B After Width: | Height: | Size: 515 B |
|
Before Width: | Height: | Size: 515 B After Width: | Height: | Size: 515 B |
|
Before Width: | Height: | Size: 874 B After Width: | Height: | Size: 874 B |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 560 B After Width: | Height: | Size: 560 B |
|
Before Width: | Height: | Size: 261 B After Width: | Height: | Size: 261 B |
@@ -1,12 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" width="32" height="32">
|
||||
<style type="text/css" id="current-color-scheme">
|
||||
.ColorScheme-Text {
|
||||
color:#dedede;
|
||||
}
|
||||
</style>
|
||||
<g id="system-search" transform="translate(0 -32) translate(-22,32)">
|
||||
<path id="path66" class="ColorScheme-Text" d="m35 4a9 9 0 0 0-9 9 9 9 0 0 0 9 9 9 9 0 0 0 5.994141-2.298828l8.298828 8.298828 0.707031-0.707031-8.300781-8.300782a9 9 0 0 0 2.300781-5.992187 9 9 0 0 0-9-9zm0 1a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8z" fill="currentColor"/>
|
||||
<path id="path68" d="m22 0v32h32v-32z" fill="none"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 997 B |
|
Before Width: | Height: | Size: 820 B After Width: | Height: | Size: 820 B |
@@ -1,8 +1,13 @@
|
||||
import re
|
||||
import subprocess
|
||||
import re
|
||||
import gi # type: ignore
|
||||
|
||||
from fabric.utils.helpers import get_relative_path
|
||||
from gi.repository import GdkPixbuf, Gtk # type: ignore
|
||||
from fabric.widgets.label import Label
|
||||
from fabric.widgets.button import Button
|
||||
from fabric.widgets.box import Box
|
||||
from widgets.wayland import WaylandWindow as Window
|
||||
from fabric.utils.helpers import exec_shell_command_async, get_relative_path
|
||||
from gi.repository import Gtk, GdkPixbuf # type: ignore
|
||||
|
||||
|
||||
def read_dmi(field):
|
||||
@@ -14,31 +19,32 @@ def read_dmi(field):
|
||||
|
||||
|
||||
def get_gpu_name():
|
||||
output = subprocess.check_output("lspci", text=True)
|
||||
gpus = []
|
||||
try:
|
||||
output = (
|
||||
subprocess.check_output(
|
||||
"lspci -nn | grep -i 'VGA compatible controller'", shell=True, text=True
|
||||
)
|
||||
.strip()
|
||||
.split("\n")
|
||||
)
|
||||
|
||||
for line in output.splitlines():
|
||||
if "VGA compatible controller" in line or "3D controller" in line:
|
||||
parts = line.split(":", 2)
|
||||
if len(parts) < 3:
|
||||
continue
|
||||
desc = parts[2].strip()
|
||||
desc = re.sub(r"\(rev .*?\)", "", desc).strip()
|
||||
def clean(line):
|
||||
matches = re.findall(r"\[(.*?)\]", line)
|
||||
if len(matches) >= 2:
|
||||
return matches[1].strip()
|
||||
desc = line.split(":", 2)[-1]
|
||||
return desc.replace("Corporation", "").strip()
|
||||
|
||||
if "NVIDIA" in desc:
|
||||
match = re.search(r"\[(.*?)\]", desc)
|
||||
name = match.group(1) if match else desc
|
||||
elif "Intel" in desc:
|
||||
name = re.sub(r"Intel Corporation", "Intel", desc).strip()
|
||||
elif "AMD" in desc or "ATI" in desc:
|
||||
matches = re.findall(r"\[(.*?)\]", desc)
|
||||
name = matches[1] if len(matches) > 1 else desc
|
||||
else:
|
||||
name = desc
|
||||
for line in output:
|
||||
if any(vendor in line.lower() for vendor in ["nvidia", "amd", "radeon"]):
|
||||
return clean(line)
|
||||
|
||||
gpus.append((name))
|
||||
if output:
|
||||
return clean(output[0])
|
||||
|
||||
return gpus[-1]
|
||||
return "Unknown GPU"
|
||||
except Exception:
|
||||
return "Unknown GPU"
|
||||
|
||||
|
||||
class About(Gtk.Window):
|
||||
@@ -60,7 +66,7 @@ class About(Gtk.Window):
|
||||
# Logo
|
||||
logo_box = Gtk.Box(halign=Gtk.Align.CENTER, valign=Gtk.Align.CENTER)
|
||||
pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_scale(
|
||||
get_relative_path("../config/assets/icons/imac.svg"),
|
||||
get_relative_path("../config/assets/icons/misc/imac.svg"),
|
||||
158,
|
||||
108,
|
||||
preserve_aspect_ratio=True,
|
||||
|
||||
@@ -113,17 +113,23 @@ class ModusControlCenter(Window):
|
||||
self.has_bluetooth_open = False
|
||||
self.has_wifi_open = False
|
||||
|
||||
self.bluetooth_svg = Image(
|
||||
self.bluetooth_svg = Svg(
|
||||
name="bluetooth-icon",
|
||||
icon_name="bluetooth-symbolic",
|
||||
size=24,
|
||||
style_classes="connected" if bluetooth != "disabled" else "",
|
||||
svg_file=get_relative_path(
|
||||
"../../config/assets/icons/applets/bluetooth.svg"
|
||||
if bluetooth != "disabled"
|
||||
else "../../config/assets/icons/applets/bluetooth-off.svg"
|
||||
),
|
||||
size=42,
|
||||
)
|
||||
self.wifi_svg = Image(
|
||||
self.wifi_svg = Svg(
|
||||
name="wifi-icon",
|
||||
icon_name="network-wireless-symbolic",
|
||||
size=24,
|
||||
style_classes="connected" if wlan != "No Connection" else "",
|
||||
svg_file=get_relative_path(
|
||||
"../../config/assets/icons/applets/wifi.svg"
|
||||
if wlan != "No Connection"
|
||||
else "../../config/assets/icons/applets/wifi-off.svg"
|
||||
),
|
||||
size=46,
|
||||
)
|
||||
|
||||
self.bluetooth_widget = Button(
|
||||
@@ -171,8 +177,9 @@ class ModusControlCenter(Window):
|
||||
)
|
||||
|
||||
self.focus_icon = Svg(
|
||||
svg_file=get_relative_path("../../config/assets/icons/dnd-off.svg"),
|
||||
size=24,
|
||||
name="focus-icon",
|
||||
svg_file=get_relative_path("../../config/assets/icons/applets/dnd-off.svg"),
|
||||
size=46,
|
||||
)
|
||||
|
||||
self.focus_widget = Button(
|
||||
@@ -252,9 +259,9 @@ class ModusControlCenter(Window):
|
||||
modus_service.dont_disturb = self.focus_mode
|
||||
self.focus_icon.set_from_file(
|
||||
get_relative_path(
|
||||
"config/assets/icons/dnd.svg"
|
||||
"../../config/assets/icons/applets/dnd.svg"
|
||||
if self.focus_mode
|
||||
else "config/assets/icons/dnd-off.svg"
|
||||
else "../../config/assets/icons/applets/dnd-off.svg"
|
||||
)
|
||||
)
|
||||
|
||||
@@ -345,8 +352,14 @@ class ModusControlCenter(Window):
|
||||
)
|
||||
|
||||
def wlan_changed(self, _, wlan):
|
||||
self.wifi_svg.set_from_file(
|
||||
get_relative_path(
|
||||
"../../config/assets/icons/applets/wifi.svg"
|
||||
if wlan != "No Connection"
|
||||
else "../../config/assets/icons/applets/wifi-off.svg"
|
||||
)
|
||||
)
|
||||
if wlan != "No Connection":
|
||||
self.wifi_svg.set_property("style-classes", "connected")
|
||||
if wlan.startswith("connected:"):
|
||||
parts = wlan.split(":")
|
||||
if len(parts) >= 2:
|
||||
@@ -357,16 +370,21 @@ class ModusControlCenter(Window):
|
||||
else:
|
||||
GLib.idle_add(lambda: self.wlan_label.set_property("label", wlan))
|
||||
else:
|
||||
self.wifi_svg.set_property("style-classes", "")
|
||||
GLib.idle_add(lambda: self.wlan_label.set_property("label", wlan))
|
||||
|
||||
def bluetooth_changed(self, _, bluetooth):
|
||||
self.bluetooth_svg.set_from_file(
|
||||
get_relative_path(
|
||||
"../../config/assets/icons/applets/bluetooth.svg"
|
||||
if bluetooth != "disabled"
|
||||
else "../../config/assets/icons/applets/bluetooth-off.svg"
|
||||
)
|
||||
)
|
||||
if bluetooth != "disabled":
|
||||
self.bluetooth_svg.set_property("style-classes", "connected")
|
||||
if bluetooth.startswith("connected:"):
|
||||
parts = bluetooth.split(":")
|
||||
if len(parts) >= 2:
|
||||
device_name = parts[1]
|
||||
device_name = parts[1]
|
||||
GLib.idle_add(lambda: self.bluetooth_label.set_property("label", device_name))
|
||||
else:
|
||||
GLib.idle_add(lambda: self.bluetooth_label.set_property("label", "Connected"))
|
||||
@@ -375,7 +393,6 @@ class ModusControlCenter(Window):
|
||||
else:
|
||||
GLib.idle_add(lambda: self.bluetooth_label.set_property("label", "On"))
|
||||
else:
|
||||
self.bluetooth_svg.set_property("style-classes", "")
|
||||
GLib.idle_add(lambda: self.bluetooth_label.set_property("label", "Off"))
|
||||
|
||||
def audio_changed(self, *_):
|
||||
|
||||
@@ -50,7 +50,7 @@ class BrightnessOSDContainer(Box):
|
||||
orientation="h",
|
||||
)
|
||||
self.osd_window_image = Svg(
|
||||
get_relative_path("../config/assets/icons/brightness.svg"),
|
||||
get_relative_path("../config/assets/icons/brightness/brightness.svg"),
|
||||
size=(84, 150),
|
||||
name="osd-image",
|
||||
h_align="center",
|
||||
@@ -112,7 +112,7 @@ class AudioOSDContainer(Box):
|
||||
orientation="h",
|
||||
)
|
||||
self.osd_window_image = Svg(
|
||||
get_relative_path("../config/assets/icons/audio-volume.svg"),
|
||||
get_relative_path("../config/assets/icons/volume/audio-volume.svg"),
|
||||
size=(64, 150),
|
||||
name="osd-image",
|
||||
h_align="center",
|
||||
@@ -253,7 +253,7 @@ class MicrophoneOSDContainer(Box):
|
||||
)
|
||||
|
||||
self.osd_window_image = Svg(
|
||||
get_relative_path("../config/assets/icons/microphone.svg"),
|
||||
get_relative_path("../config/assets/icons/mic/microphone.svg"),
|
||||
size=(64, 150),
|
||||
name="osd-image",
|
||||
h_align="center",
|
||||
|
||||
@@ -3,9 +3,8 @@ from fabric.utils import get_relative_path
|
||||
from fabric.widgets.box import Box
|
||||
from fabric.widgets.button import Button
|
||||
from fabric.widgets.svg import Svg
|
||||
|
||||
from services.battery import Battery
|
||||
from services.network import NetworkService
|
||||
from services.battery import Battery
|
||||
from utils.roam import modus_service
|
||||
|
||||
|
||||
@@ -17,7 +16,7 @@ class BluetoothIndicator(Box):
|
||||
self.bt_icon = Svg(
|
||||
name="bt-icon",
|
||||
size=20,
|
||||
svg_file=get_relative_path("../../../config/assets/icons/bluetooth.svg"),
|
||||
svg_file=get_relative_path("../../../config/assets/icons/applets/bluetooth-clear.svg"),
|
||||
)
|
||||
|
||||
self.bt_button = Button(name="bt-button", child=self.bt_icon)
|
||||
@@ -35,14 +34,14 @@ class BluetoothIndicator(Box):
|
||||
def update_state(self):
|
||||
if not self.bluetooth.enabled:
|
||||
self.bt_icon.set_from_file(
|
||||
get_relative_path("../../../config/assets/icons/bluetooth-off.svg")
|
||||
get_relative_path("../../../config/assets/icons/applets/bluetooth-off-clear.svg")
|
||||
)
|
||||
tooltip = "Bluetooth disabled"
|
||||
else:
|
||||
connected_devices = self.bluetooth.connected_devices
|
||||
if connected_devices:
|
||||
self.bt_icon.set_from_file(
|
||||
get_relative_path("../../../config/assets/icons/bluetooth.svg")
|
||||
get_relative_path("../../../config/assets/icons/applets/bluetooth-clear.svg")
|
||||
)
|
||||
if len(connected_devices) == 1:
|
||||
device = connected_devices[0]
|
||||
@@ -53,7 +52,7 @@ class BluetoothIndicator(Box):
|
||||
tooltip = f"Connected to {len(connected_devices)} devices"
|
||||
else:
|
||||
self.bt_icon.set_from_file(
|
||||
get_relative_path("../../../config/assets/icons/bluetooth.svg")
|
||||
get_relative_path("../../../config/assets/icons/applets/bluetooth-clear.svg")
|
||||
)
|
||||
tooltip = "No devices connected"
|
||||
|
||||
@@ -105,7 +104,7 @@ class NetworkIndicator(Box):
|
||||
self.network_icon = Svg(
|
||||
name="network-icon",
|
||||
size=22,
|
||||
svg_file=get_relative_path("../../../config/assets/icons/wifi.svg"),
|
||||
svg_file=get_relative_path("../../../config/assets/icons/applets/wifi-clear.svg"),
|
||||
)
|
||||
|
||||
self.network_button = Button(name="network-button", child=self.network_icon)
|
||||
@@ -177,26 +176,26 @@ class NetworkIndicator(Box):
|
||||
def update_state(self):
|
||||
primary_device = self.network_service.primary_device
|
||||
tooltip = "No network connection"
|
||||
icon_file = "wifi-off.svg"
|
||||
icon_file = "wifi-off-clear.svg"
|
||||
|
||||
if primary_device == "wifi" and self.network_service.wifi_device:
|
||||
wifi = self.network_service.wifi_device
|
||||
if not wifi.enabled:
|
||||
icon_file = "wifi-off.svg"
|
||||
icon_file = "wifi-off-clear.svg"
|
||||
tooltip = "WiFi disabled"
|
||||
elif wifi.internet == "activated":
|
||||
icon_file = "wifi.svg"
|
||||
icon_file = "wifi-clear.svg"
|
||||
tooltip = f"Connected to {wifi.ssid}"
|
||||
if wifi.strength >= 0:
|
||||
tooltip += f" ({wifi.strength}%)"
|
||||
elif wifi.internet == "activating":
|
||||
icon_file = "wifi.svg"
|
||||
icon_file = "wifi-clear.svg"
|
||||
tooltip = f"Connecting to {wifi.ssid}..."
|
||||
elif wifi.internet in ["deactivating", "deactivated", "disconnected"]:
|
||||
icon_file = "wifi-off.svg"
|
||||
icon_file = "wifi-off-clear.svg"
|
||||
tooltip = "WiFi disconnected"
|
||||
else:
|
||||
icon_file = "wifi-off.svg"
|
||||
icon_file = "wifi-off-clear.svg"
|
||||
tooltip = "WiFi disconnected"
|
||||
|
||||
elif primary_device == "wired" and self.network_service.ethernet_device:
|
||||
@@ -207,14 +206,14 @@ class NetworkIndicator(Box):
|
||||
if hasattr(ethernet, "speed") and ethernet.speed > 0:
|
||||
tooltip += f" ({ethernet.speed} Mbps)"
|
||||
elif ethernet.internet == "activating":
|
||||
icon_file = "wifi.svg"
|
||||
icon_file = "wifi-clear.svg"
|
||||
tooltip = "Ethernet connecting..."
|
||||
else:
|
||||
icon_file = "wifi-off.svg"
|
||||
icon_file = "wifi-off-clear.svg"
|
||||
tooltip = "Ethernet disconnected"
|
||||
|
||||
self.network_icon.set_from_file(
|
||||
get_relative_path(f"../../../config/assets/icons/{icon_file}")
|
||||
get_relative_path(f"../../../config/assets/icons/applets/{icon_file}")
|
||||
)
|
||||
self.network_button.set_tooltip_text(tooltip)
|
||||
|
||||
@@ -228,7 +227,7 @@ class BatteryIndicator(Box):
|
||||
self.battery_icon = Svg(
|
||||
name="battery-icon",
|
||||
size=22,
|
||||
svg_file=get_relative_path("../../../config/assets/icons/battery.svg"),
|
||||
svg_file=get_relative_path("../../../config/assets/icons/battery/battery-100.svg"),
|
||||
)
|
||||
|
||||
self.battery_button = Button(name="battery-button", child=self.battery_icon)
|
||||
|
||||
@@ -28,7 +28,7 @@ class RecordingIndicator(Button):
|
||||
self.recording_icon = Svg(
|
||||
name="indicators-icon",
|
||||
size=24,
|
||||
svg_file=get_relative_path("../../../config/assets/icons/media-record.svg"),
|
||||
svg_file=get_relative_path("../../../config/assets/icons/misc/media-record.svg"),
|
||||
)
|
||||
self.time_label = Label(
|
||||
name="recording-time-label",
|
||||
|
||||
@@ -43,7 +43,7 @@ class Panel(Window):
|
||||
name="panel-button",
|
||||
child=Svg(
|
||||
size=22,
|
||||
svg_file=get_relative_path("../../config/assets/icons/logo.svg"),
|
||||
svg_file=get_relative_path("../../config/assets/icons/misc/logo.svg"),
|
||||
),
|
||||
on_clicked=lambda *_: self.menubar.show_system_dropdown(self.imac),
|
||||
)
|
||||
@@ -63,7 +63,7 @@ class Panel(Window):
|
||||
child=Svg(
|
||||
size=16,
|
||||
svg_file=get_relative_path(
|
||||
"../../config/assets/icons/chevron-right.svg"
|
||||
"../../config/assets/icons/misc/chevron-right.svg"
|
||||
),
|
||||
),
|
||||
on_clicked=self.toggle_tray,
|
||||
@@ -85,7 +85,7 @@ class Panel(Window):
|
||||
on_clicked=lambda *_: self.search_apps(),
|
||||
child=Svg(
|
||||
size=20,
|
||||
svg_file=get_relative_path("../../config/assets/icons/search.svg"),
|
||||
svg_file=get_relative_path("../../config/assets/icons/misc/search.svg"),
|
||||
),
|
||||
)
|
||||
|
||||
@@ -100,7 +100,7 @@ class Panel(Window):
|
||||
child=Svg(
|
||||
size=22,
|
||||
svg_file=get_relative_path(
|
||||
"../../config/assets/icons/control-center.svg"
|
||||
"../../config/assets/icons/misc/control-center.svg"
|
||||
),
|
||||
),
|
||||
)
|
||||
@@ -146,9 +146,9 @@ class Panel(Window):
|
||||
|
||||
if self.tray_revealer.child_revealed:
|
||||
self.chevron_button.get_child().set_from_file(
|
||||
get_relative_path("../../config/assets/icons/chevron-left.svg")
|
||||
get_relative_path("../../config/assets/icons/misc/chevron-left.svg")
|
||||
)
|
||||
else:
|
||||
self.chevron_button.get_child().set_from_file(
|
||||
get_relative_path("../../config/assets/icons/chevron-right.svg")
|
||||
get_relative_path("../../config/assets/icons/misc/chevron-right.svg")
|
||||
)
|
||||