Commit Graph
29 Commits
Author SHA1 Message Date
sankalp 4346c54fa0 feat(utils): enhanceicon resolution with robust desktop entry parsing and error handlingNew Features
- Refactor `_get_icon_from_desktop_file` to ignore file errors and fallback to the default icon.
- Replace regex‑based lookup in `_get_desktop_file` with normalized search IDs and explicit filename matching.
- Add support for matching `StartupWMClass`/`Name` fields within desktop files.

Enhancements
- Improve icon theme lookup in `_compositor_find_icon` with suffix handling and direct matches.
- Add defensive checks for empty `app_id` and exception handling throughout.

Bug Fixes
- Handle exceptions when reading desktop files and log errors gracefully.
2026-04-09 23:30:34 +05:45
sankalp 345ef643e1 refactor(utils): replace requests with urllib and improve error handling
Replace external `requests` calls with `urllib` to eliminate third‑party dependency, add robust timeout handling, and improve error reporting. This also standardises URL fetching across the module and updates the process name configuration.

Enhancements:
- Added default request timeout fallback and ensured proper cleanup of response objects
- Enriched exception messages for better debugging

Bug Fixes:
- Fixed potential timeout‑related crashes in `CurrencyCache` and `Conversion`
- Corrected process name setting via `set_process_name` in the entry point
2026-04-09 19:20:55 +05:45
sankalp a3edf9c323 fix(utils):ensure current_active_wm_class is set when updating active app 2026-04-09 18:34:05 +05:45
sankalp f123de9a52 refactor(utils):simplify Wi‑Fi icon path resolution 2026-04-02 23:13:47 +05:45
sankalp 34cfb2f49e feat(root): add keyboard layouts, OSDWindow, and update services & utilities
Introduce a new OSDWindow implementation, expose keyboard layout configuration, and modernize dependency handling and helper utilities.

- **New Features**
  - Added `keyboard_layouts` list (`us`, `np`) to `config.json`
  - Created `OSDWindow` class and updated `main.py` to use it
  - Introduced new service modules (`battery`, `brightness`, `capslock`, `network`, `mpris`, `todo`, `modus`) and expanded `services/__init__.py`
  - Added `CommandResult` and `run_command` helper in `utils/functions.py`

- **Enhancements**
  - Upgraded numerous dependencies to newer versions and switched `fabric` to a git source
  - Replaced bare `except:` with `except Exception:` in `WiFiPasswordDialog`
  - Improved type hints (`NamedTuple`, `TypeVar`) and refactored JSON file helpers
  - Added property notifications for battery percentage, state, and presence

- **Bug Fixes**
  - Fixed incorrect return type annotation in `read_json_file`
  - Corrected tick‑handler logic to avoid double registration
  - Properly notify listeners on battery property changes
  - Ensured proper exception handling and cleanup in utility functions
2026-03-23 23:33:53 +05:45
sankalp 49666ef8ef chore(utils): clean up extra blank lines in app_name_resolver.py
Remove superfluous whitespace to improve code readability.
2026-02-26 06:54:55 +05:45
sankalp 934b62ebff feat(utils): add debounce helper utilities
New Features
- Introduce `debounce` async decorator to delay coroutine execution until a specified delay elapses.
- Add `sync_debounce` wrapper that uses GLib timeout for synchronous functions, supporting immediate execution and repeat counts.
2026-02-26 06:42:00 +05:45
sankalp 1ed576f222 feat(utils): add dbus helper and extend utility functions
The changes introduce a new GioDBusHelper class for D-Bus interactions and expand utils/functions.py with utilities for timeout parsing, cursor hover handling, animated scale widgets, and SVG loading, improving functionality and maintainability.

- New Features
  - Add GioDBusHelper for method calls and signal subscription.
- Enhancements
  - Add parse_timeout_string and replace placeholder set_process_name implementation.
  - Implement AnimatedScale widget and related utilities.
  - Provide svg_file helper with dynamic style updates.
- Bug Fixes
  - None
2026-02-26 06:24:22 +05:45
sankalp f6505d9a01 feat(utils): add set_process_name utility and adjust imports
New Features
- Added `set_process_name` function to set the process name via `prctl`.

Enhancements
- Replaced `loguru` logger import with `fabric.utils.logger` and removed the unused dependency.
- Added explicit imports of `ctypes`, `html`, and `json` for clarity and future use.

Bug Fixes
- No bug fixes included in this change.
2026-02-26 05:55:17 +05:45
sankalp 02c32a331a feat(panel): add Hyprland workspaces indicator with workspace filtering 2025-09-08 07:59:23 +05:45
sankalp 158ce6590c Revert "ready for ignis"
This reverts commit 9d404b100f.
2025-09-01 12:39:28 +05:45
sankalp 9d404b100f ready for ignis 2025-09-01 12:36:58 +05:45
tr1x_em d53341a0c0 Add escape_markup_text() utility function to safely escape special characters 2025-08-14 22:28:34 +05:30
sankalp d0444752e1 ♻️ refactor(dock,workspace,switcher): centralize special workspace detection logic 2025-08-14 14:57:19 +05:45
sankalp 35c4f9c7ff ✨ feat(ui): display active window title in menu bar and set default app name to Finder 2025-08-13 00:40:13 +05:45
sankalp 88ce59eec7 ♻️ refactor(menubar): Move app name resolution logic to utils for reusability 2025-08-13 00:16:54 +05:45
tr1x_em cf9f3de2f9 app_name_resolver 2025-08-11 19:40:55 +05:30
tr1x_em d91c61d806 Added Wifi Signal Strenght Indicators 2025-08-11 18:57:04 +05:30
sankalp 4852fa01e2 ♻️ refactor(dock): overhaul dock implementation for improved performance and maintainability 2025-08-07 06:08:20 +05:45
sankalp cecae22ad9 ✨ feat(notification): implement notification center with persistent storage and DND support 2025-08-02 19:25:33 +05:45
sankalp c3d01b3185 Huge updates: ControlCenter: Wi-Fi, Bluetooth, Password Entry Dialog, Notification, CustomRevealer for notif 2025-08-01 07:54:43 +05:45
sankalp 9540d2913a Huge updates: ControlCenter, DropDown Menu 2025-07-31 20:46:02 +05:45
tr1x_em bececc35da Initial notification 2025-07-30 22:13:14 +05:30
sankalp 5495233667 ♻️ refactor(launcher): improve code structure and plugin functionality 2025-07-30 13:04:22 +05:45
sankalp acec6bdda7 ✨ feat: implement core functionality and UI for Modus shell 2025-07-30 09:28:32 +05:45
sankalp 5789013e2e ✨ feat: Introduce customizable modules and settings for enhanced user experience 2025-07-29 21:03:08 +05:45
sankalp eaa3b7e17d ♻️ refactor: move WaylandWindow to utils module for reusability 2025-07-29 20:54:10 +05:45
sankalp aa9eebb9e7 feat(update): huge changes 2025-04-25 06:33:51 +05:45
sankalp 54afacbcbf rename snippets to utils 2025-02-28 16:28:06 +05:45