updates
This commit is contained in:
55 files changed
+724
-543
No files matched your search
@@ -1,21 +1,25 @@
|
||||
import os
|
||||
import json
|
||||
import config.data as data
|
||||
import os
|
||||
|
||||
from fabric.hyprland.service import HyprlandEvent
|
||||
from fabric.hyprland.widgets import Language, get_hyprland_connection
|
||||
from fabric.system_tray.widgets import SystemTray
|
||||
from fabric.utils import get_relative_path
|
||||
from fabric.widgets.box import Box
|
||||
from fabric.widgets.button import Button
|
||||
from fabric.widgets.datetime import DateTime
|
||||
from fabric.widgets.label import Label
|
||||
from fabric.widgets.button import Button
|
||||
from fabric.system_tray.widgets import SystemTray
|
||||
from .battery import Battery
|
||||
from .metrics import Metrics
|
||||
from .controls import Controls
|
||||
from .workspaces import workspace
|
||||
from .indicators import Indicators
|
||||
from .applications import Applications
|
||||
from .music_player import MusicPlayer
|
||||
from fabric.hyprland.widgets import get_hyprland_connection, Language
|
||||
|
||||
import config.data as data
|
||||
import utils.icons as icons
|
||||
from fabric.hyprland.service import HyprlandEvent
|
||||
|
||||
from .applications import Applications
|
||||
from .battery import Battery
|
||||
from .controls import Controls
|
||||
from .indicators import Indicators
|
||||
from .metrics import Metrics
|
||||
from .music_player import MusicPlayer
|
||||
from .workspaces import workspace
|
||||
|
||||
|
||||
class DockComponents(Box):
|
||||
@@ -114,7 +118,7 @@ class DockComponents(Box):
|
||||
# Special handling for applications component - let it manage its own visibility
|
||||
if component_name == "applications":
|
||||
# Only apply config visibility if the component has content
|
||||
if hasattr(widget, '_update_visibility_based_on_content'):
|
||||
if hasattr(widget, "_update_visibility_based_on_content"):
|
||||
widget._update_visibility_based_on_content()
|
||||
else:
|
||||
widget.set_visible(self.component_visibility[component_name])
|
||||
@@ -143,9 +147,7 @@ class DockComponents(Box):
|
||||
self.component_visibility[component_name]
|
||||
)
|
||||
|
||||
config_file = os.path.expanduser(
|
||||
f"~/.config/{data.APP_NAME}/config/config.json"
|
||||
)
|
||||
config_file = get_relative_path("../../../config/assets/config.json")
|
||||
if os.path.exists(config_file):
|
||||
try:
|
||||
with open(config_file, "r") as f:
|
||||
|
||||
@@ -2,7 +2,6 @@ import json
|
||||
import logging
|
||||
|
||||
import cairo
|
||||
import config.data as data
|
||||
from fabric.hyprland.widgets import get_hyprland_connection
|
||||
from fabric.utils import exec_shell_command, exec_shell_command_async, get_relative_path
|
||||
from fabric.utils.helpers import get_desktop_applications
|
||||
@@ -10,11 +9,13 @@ from fabric.widgets.box import Box
|
||||
from fabric.widgets.button import Button
|
||||
from fabric.widgets.image import Image
|
||||
from gi.repository import Gdk, GLib, Gtk
|
||||
|
||||
import config.data as data
|
||||
from utils.icon_resolver import IconResolver
|
||||
|
||||
|
||||
def read_config():
|
||||
config_path = get_relative_path("../../../config/json/dock.json")
|
||||
config_path = get_relative_path("../../../config/assets/dock.json")
|
||||
try:
|
||||
with open(config_path, "r") as file:
|
||||
config_data = json.load(file)
|
||||
@@ -78,7 +79,7 @@ class Applications(Box):
|
||||
self.conn = get_hyprland_connection()
|
||||
self.icon_resolver = IconResolver()
|
||||
self.pinned = self.config.get("pinned_apps", [])
|
||||
self.config_path = get_relative_path("../../../config/json/dock.json")
|
||||
self.config_path = get_relative_path("../../../config/assets/dock.json")
|
||||
self.app_map = {}
|
||||
self._all_apps = get_desktop_applications()
|
||||
self.app_identifiers = self._build_app_identifiers_map()
|
||||
@@ -245,7 +246,7 @@ class Applications(Box):
|
||||
)
|
||||
|
||||
def update_pinned_apps_file(self):
|
||||
config_path = get_relative_path("../../../config/json/dock.json")
|
||||
config_path = get_relative_path("../../../config/assets/dock.json")
|
||||
try:
|
||||
with open(config_path, "w") as file:
|
||||
json.dump(self.config, file, indent=4)
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
import config.data as data
|
||||
import utils.icons as icons
|
||||
from fabric.widgets.box import Box
|
||||
from fabric.widgets.button import Button
|
||||
from fabric.widgets.circularprogressbar import CircularProgressBar
|
||||
from fabric.widgets.label import Label
|
||||
from gi.repository import Gdk, GLib
|
||||
|
||||
import config.data as data
|
||||
import utils.icons as icons
|
||||
from services.battery import Battery as BatteryService
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
import config.data as data
|
||||
import utils.icons as icons
|
||||
from fabric.audio.service import Audio
|
||||
from fabric.widgets.box import Box
|
||||
from fabric.widgets.button import Button
|
||||
@@ -8,6 +6,9 @@ from fabric.widgets.eventbox import EventBox
|
||||
from fabric.widgets.label import Label
|
||||
from fabric.widgets.overlay import Overlay
|
||||
from gi.repository import Gdk, GLib
|
||||
|
||||
import config.data as data
|
||||
import utils.icons as icons
|
||||
from services.brightness import Brightness as BrightnessService
|
||||
|
||||
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
import subprocess
|
||||
import config.data as data
|
||||
import utils.icons as icons
|
||||
|
||||
from fabric.bluetooth import BluetoothClient
|
||||
from fabric.utils import get_relative_path
|
||||
from fabric.widgets.box import Box
|
||||
from fabric.widgets.button import Button
|
||||
from fabric.widgets.circularprogressbar import CircularProgressBar
|
||||
from fabric.widgets.label import Label
|
||||
from fabric.widgets.overlay import Overlay
|
||||
from fabric.utils import get_relative_path
|
||||
from gi.repository import GLib
|
||||
|
||||
import config.data as data
|
||||
import utils.icons as icons
|
||||
from services.network import NetworkClient
|
||||
|
||||
|
||||
@@ -188,16 +190,15 @@ class RecordingIndicator(Button):
|
||||
|
||||
# Set up periodic checking for recording status
|
||||
self.check_recording_status()
|
||||
self.timeout_id = GLib.timeout_add(1000, self.check_recording_status) # Check every second
|
||||
self.timeout_id = GLib.timeout_add(
|
||||
1000, self.check_recording_status
|
||||
) # Check every second
|
||||
|
||||
def check_recording_status(self):
|
||||
"""Check if recording is currently active and update visibility."""
|
||||
try:
|
||||
result = subprocess.run(
|
||||
[self.script_path, "status"],
|
||||
capture_output=True,
|
||||
text=True,
|
||||
timeout=2
|
||||
[self.script_path, "status"], capture_output=True, text=True, timeout=2
|
||||
)
|
||||
is_recording = result.stdout.strip() == "true"
|
||||
|
||||
@@ -209,7 +210,7 @@ class RecordingIndicator(Button):
|
||||
if self.get_visible():
|
||||
self.hide()
|
||||
|
||||
except Exception as e:
|
||||
except Exception:
|
||||
# If we can't check status, hide the indicator
|
||||
if self.get_visible():
|
||||
self.hide()
|
||||
@@ -226,7 +227,7 @@ class RecordingIndicator(Button):
|
||||
|
||||
def cleanup(self):
|
||||
"""Clean up the timeout when the indicator is destroyed."""
|
||||
if hasattr(self, 'timeout_id'):
|
||||
if hasattr(self, "timeout_id"):
|
||||
GLib.source_remove(self.timeout_id)
|
||||
|
||||
|
||||
@@ -245,5 +246,5 @@ class Indicators(Box):
|
||||
|
||||
def cleanup(self):
|
||||
"""Clean up all indicators when the dock is destroyed."""
|
||||
if hasattr(self, 'recording_indicator'):
|
||||
if hasattr(self, "recording_indicator"):
|
||||
self.recording_indicator.cleanup()
|
||||
@@ -1,9 +1,7 @@
|
||||
import json
|
||||
import subprocess
|
||||
|
||||
import config.data as data
|
||||
import psutil
|
||||
import utils.icons as icons
|
||||
from fabric.widgets.box import Box
|
||||
from fabric.widgets.button import Button
|
||||
from fabric.widgets.circularprogressbar import CircularProgressBar
|
||||
@@ -11,6 +9,9 @@ from fabric.widgets.label import Label
|
||||
from fabric.widgets.revealer import Revealer
|
||||
from gi.repository import GLib
|
||||
|
||||
import config.data as data
|
||||
import utils.icons as icons
|
||||
|
||||
|
||||
class MetricsProvider:
|
||||
def __init__(self):
|
||||
|
||||
@@ -2,9 +2,7 @@ import os
|
||||
import tempfile
|
||||
import urllib.parse
|
||||
|
||||
import config.data as data
|
||||
import requests
|
||||
import utils.icons as icons
|
||||
from fabric.widgets.box import Box
|
||||
from fabric.widgets.button import Button
|
||||
from fabric.widgets.centerbox import CenterBox
|
||||
@@ -12,6 +10,9 @@ from fabric.widgets.eventbox import EventBox
|
||||
from fabric.widgets.label import Label
|
||||
from fabric.widgets.stack import Stack
|
||||
from gi.repository import Gdk, GdkPixbuf, GLib
|
||||
|
||||
import config.data as data
|
||||
import utils.icons as icons
|
||||
from services.mpris import MediaManager
|
||||
from utils.audio_visualizer import SpectrumRender
|
||||
from utils.circle_image import CircleImage
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
import json
|
||||
import subprocess
|
||||
|
||||
import config.data as data
|
||||
from fabric.hyprland.service import Hyprland
|
||||
from fabric.hyprland.widgets import WorkspaceButton, Workspaces
|
||||
from fabric.widgets.box import Box
|
||||
from fabric.widgets.button import Button
|
||||
|
||||
import config.data as data
|
||||
|
||||
CHINESE_NUMERALS = ["一", "二", "三", "四", "五", "六", "七", "八", "九", "〇"]
|
||||
|
||||
|
||||
@@ -102,8 +103,8 @@ workspaces = Workspaces(
|
||||
for i in range(1, 11)
|
||||
],
|
||||
buttons_factory=None
|
||||
if data.DOCK_HIDE_SPECIAL_WORKSPACE
|
||||
else Workspaces.default_buttons_factory,
|
||||
if data.DOCK_HIDE_SPECIAL_WORKSPACE
|
||||
else Workspaces.default_buttons_factory,
|
||||
)
|
||||
|
||||
workspaces_num = Workspaces(
|
||||
@@ -127,8 +128,8 @@ workspaces_num = Workspaces(
|
||||
for i in range(1, 11)
|
||||
],
|
||||
buttons_factory=None
|
||||
if data.DOCK_HIDE_SPECIAL_WORKSPACE
|
||||
else Workspaces.default_buttons_factory,
|
||||
if data.DOCK_HIDE_SPECIAL_WORKSPACE
|
||||
else Workspaces.default_buttons_factory,
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user