♻️ refactor(ui): reorganize imports and improve notification handling
This commit is contained in:
1 parent
6087a2a7c1
commit
e9095ef9cf
2 files changed
+38
-46
No files matched your search
@@ -1,37 +1,36 @@
|
||||
import gi, pam
|
||||
|
||||
gi.require_version("Gdk", "3.0")
|
||||
gi.require_version("Gtk", "3.0")
|
||||
|
||||
import setproctitle
|
||||
|
||||
gi.require_version("GtkSessionLock", "0.1")
|
||||
from gi.repository import (
|
||||
Gdk, # pyright: ignore[reportMissingModuleSource]
|
||||
GtkSessionLock, # pyright: ignore[reportAttributeAccessIssue]
|
||||
)
|
||||
|
||||
from fabric.widgets.window import Window
|
||||
|
||||
# from widgets.wayland import WaylandWindow as Window
|
||||
import os
|
||||
from fabric.widgets.entry import Entry
|
||||
from fabric.widgets.datetime import DateTime
|
||||
from widgets.circle_image import CircleImage as Image
|
||||
from modules.panel.components.indicators import (
|
||||
BatteryIndicator,
|
||||
BluetoothIndicator,
|
||||
NetworkIndicator,
|
||||
)
|
||||
from fabric.widgets.box import Box
|
||||
from gi.repository import (
|
||||
Gdk, # pyright: ignore[reportMissingModuleSource]
|
||||
GLib,
|
||||
GtkSessionLock, # pyright: ignore[reportAttributeAccessIssue]
|
||||
)
|
||||
from fabric.widgets.window import Window
|
||||
from fabric.widgets.label import Label
|
||||
from fabric.widgets.entry import Entry
|
||||
from fabric.widgets.datetime import DateTime
|
||||
from fabric.widgets.centerbox import CenterBox
|
||||
|
||||
# from fabric.widgets.image import Image
|
||||
import getpass
|
||||
from fabric import Application
|
||||
from gi.repository import GLib
|
||||
from widgets.circle_image import CircleImage as Image
|
||||
from fabric.widgets.box import Box
|
||||
from fabric.utils import get_relative_path
|
||||
from fabric import Application
|
||||
import os
|
||||
import getpass
|
||||
import setproctitle
|
||||
import gi
|
||||
import pam
|
||||
|
||||
gi.require_version("Gdk", "3.0")
|
||||
gi.require_version("Gtk", "3.0")
|
||||
|
||||
|
||||
gi.require_version("GtkSessionLock", "0.1")
|
||||
# from fabric.widgets.image import Image
|
||||
|
||||
# from widgets.wayland import WaylandWindow as Window
|
||||
|
||||
|
||||
class IndicatorBox(Box):
|
||||
|
||||
@@ -1,24 +1,25 @@
|
||||
from fabric.widgets.centerbox import CenterBox
|
||||
from loguru import logger
|
||||
from collections import defaultdict
|
||||
from gi.repository import GLib
|
||||
|
||||
from fabric.widgets.box import Box
|
||||
from fabric.widgets.button import Button
|
||||
from fabric.widgets.centerbox import CenterBox
|
||||
from fabric.widgets.eventbox import EventBox
|
||||
from fabric.widgets.label import Label
|
||||
from fabric.widgets.revealer import Revealer
|
||||
from fabric.widgets.scrolledwindow import ScrolledWindow
|
||||
from gi.repository import GLib
|
||||
from loguru import logger
|
||||
|
||||
from modules.notification.notification import (
|
||||
NotificationWidget,
|
||||
cleanup_notification_image_cache,
|
||||
cache_notification_icon,
|
||||
cleanup_all_notification_caches,
|
||||
cleanup_notification_specific_caches,
|
||||
get_fallback_notification_icon,
|
||||
)
|
||||
from services.modus import notification_service
|
||||
from widgets.wayland import WaylandWindow as Window
|
||||
from fabric.widgets.image import Image
|
||||
from fabric.widgets.eventbox import EventBox
|
||||
from widgets.custom_image import CustomImage
|
||||
from fabric.widgets.revealer import Revealer
|
||||
from widgets.wayland import WaylandWindow as Window
|
||||
|
||||
|
||||
class ExpandableNotificationGroup(Box):
|
||||
@@ -42,8 +43,6 @@ class ExpandableNotificationGroup(Box):
|
||||
self.expanded_container.set_visible(False)
|
||||
|
||||
def create_collapsed_state(self):
|
||||
from widgets.custom_image import CustomImage
|
||||
|
||||
latest_notification = self.notifications[0] # Most recent notification
|
||||
|
||||
# Create clickable event box
|
||||
@@ -92,6 +91,7 @@ class ExpandableNotificationGroup(Box):
|
||||
markup=latest_notification._notification.summary.replace(
|
||||
"\n", " "
|
||||
),
|
||||
max_chars_width=20,
|
||||
h_align="start",
|
||||
ellipsization="end",
|
||||
),
|
||||
@@ -177,6 +177,7 @@ class ExpandableNotificationGroup(Box):
|
||||
markup=latest_notification._notification.summary.replace(
|
||||
"\n", " "
|
||||
),
|
||||
max_chars_width=25,
|
||||
h_align="start",
|
||||
ellipsization="end",
|
||||
),
|
||||
@@ -312,8 +313,6 @@ class ExpandableNotificationGroup(Box):
|
||||
|
||||
# Fallback to app icon
|
||||
try:
|
||||
from modules.notification.notification import cache_notification_icon
|
||||
|
||||
cached_app_icon = cache_notification_icon(notification.app_icon, (35, 35))
|
||||
if cached_app_icon:
|
||||
return cached_app_icon
|
||||
@@ -321,8 +320,6 @@ class ExpandableNotificationGroup(Box):
|
||||
pass
|
||||
|
||||
# Ultimate fallback
|
||||
from modules.notification.notification import get_fallback_notification_icon
|
||||
|
||||
return get_fallback_notification_icon((35, 35))
|
||||
|
||||
def on_clicked(self, widget, event):
|
||||
@@ -449,7 +446,6 @@ class NotificationCenterWidget(NotificationWidget):
|
||||
|
||||
def create_content(self, notification):
|
||||
# Create our custom close button for notification center
|
||||
from widgets.custom_image import CustomImage
|
||||
|
||||
self.close_button = Button(
|
||||
name="notif-close-button",
|
||||
@@ -467,9 +463,6 @@ class NotificationCenterWidget(NotificationWidget):
|
||||
)
|
||||
|
||||
# Create the content box manually with our custom close button
|
||||
from fabric.widgets.box import Box
|
||||
from fabric.widgets.label import Label
|
||||
|
||||
return Box(
|
||||
name="notification-content",
|
||||
spacing=8,
|
||||
@@ -493,7 +486,7 @@ class NotificationCenterWidget(NotificationWidget):
|
||||
name="notification-summary",
|
||||
markup=notification.summary.replace("\n", " "),
|
||||
h_align="start",
|
||||
max_chars_width=30,
|
||||
max_chars_width=25,
|
||||
ellipsization="end",
|
||||
),
|
||||
],
|
||||
@@ -502,7 +495,7 @@ class NotificationCenterWidget(NotificationWidget):
|
||||
Label(
|
||||
markup=notification.body.replace("\n", " "),
|
||||
h_align="start",
|
||||
max_chars_width=35,
|
||||
max_chars_width=25,
|
||||
ellipsization="end",
|
||||
)
|
||||
if notification.body
|
||||
|
||||
Reference in new issue
Block a user