Commit Graph
37 Commits
Author SHA1 Message Date
sankalp 4378959131 fix(controlcenter): refresh player state on resume
When control center hides, PlayerBox.suspend() blocks all signal
handlers. On resume(), clearing the flag wasn't enough — stale
state lingered until next fabricator poll (up to 5s). Now resume()
immediately syncs play/pause icon, metadata, and artwork.
2026-07-15 21:22:51 +05:45
sankalp cdccb9e726 feat(src/window/controlcenter): implement caffeine inhibitor toggling
Add support for managing systemd‑inhibit processes via a PID file; introduce _caffeine_is_active helper; modify _check_initial_states and toggle_caffeine to start/stop inhibition and update UI icons and labels.
2026-07-15 09:03:39 +05:45
sankalp ddacdea3eb refactor(src/window/controlcenter): replace svg_file imports with Image and simplify battery icon handling 2026-07-14 23:26:21 +05:45
sankalp 6f2d0bf444 chore: refactor imports and adopt new utils utilities 2026-07-14 18:45:52 +05:45
sankalp 2d22df94ca refactor: drive UI from service signals, drop redundant polling
- bluetooth.py / wifi.py: remove 5s periodic refresh timers; rely on
  service `changed`/`device-added`/`device-removed`/`notify` signals
- expanded_player.py: remove 500ms metadata poll; rely on
  `meta-change`/`artwork-change` signals
- player.py (notch): connect previously dangling `artwork-change` handler
- popup_win.py: silence harmless "nothing connected" warning on destroy()

No behaviour change; eliminates dead timers and log spam.
2026-07-14 13:46:21 +05:45
sankalp f72542a231 refactor: log swallowed exceptions across src/
Replace silent swallow-excepts (pass/return/continue) with
logger.warning recording the caught error, preserving behaviour.
2026-07-14 13:02:21 +05:45
sankalp 54ff85ffc9 fix(services/spotlight): improve MPRIS artwork handling and scope keyword searches to single plugin
- mpris: native MediaArt cache lookup, dedupe play/pause emission, safe
  cleanup, artwork polling for already-playing browser players, drop
  os.system seek fallback
- spotlight: scope plugin keyword and detect() matches to a single plugin
  via search_single instead of global search; register clipboard keywords
  (clip/clipboard)
2026-07-13 22:20:19 +05:45
sankalp b421e39052 refactor(window): cleanup controlcenter and notification imports
Remove unused imports in controlcenter and notification modules
2026-07-12 20:18:10 +05:45
sankalp 01aac24f7e refactor(bluetooth): resolve device icons from GTK icon theme
_check_icon_to_type now queries Gtk.IconTheme for the icon name
(with -symbolic suffix) before falling back to a hardcoded mapping.
_get_icon_for_device simplified since type property now returns
GTK icon names directly.
2026-07-12 19:07:41 +05:45
sankalp 096231bc44 style: enforce consistent codestyle via ruff config and auto-fixes
- Configure ruff: isort, pyupgrade, bugbear, flake8 rules
- Auto-fix import sorting, redundant parens, exception chaining
- Remove from __future__ import annotations (Python 3.13+)
- Convert debug print() to logger calls
- Fix typo applicaiton → application in icon_resolver
- Remove bare returns in animator setters
- Move TYPE_CHECKING imports to runtime where used at runtime
2026-07-12 18:38:13 +05:45
sankalp 4637799e11 feat(src/window/pomodoro): implement Pomodoro timer widget and integrate it into the panel
Add Pomodoro component with UI controls and state management,
modify Panel to instantiate and cache Pomodoro and TodoList widgets,
hook datetime button to toggle Pomodoro and handle right‑click on todo list,
extend destroy logic to cleanly close Pomodoro and Todo instances.
2026-07-12 09:32:47 +05:45
sankalp 0d83f2a129 refactor: remove unused signal parameters from event handlers 2026-07-09 18:57:19 +05:45
sankalp 5b8d6a62aa refactor! : drop subprocess usage and centralize brightness service initialization 2026-07-08 12:25:02 +05:45
sankalp 2d0cc2d270 feat(src/window/controlcenter): add right‑click context menu for Bluetooth device slot with pair/trust/remove actions
- Implement _on_button_press to show Gtk.Menu on right‑click.
- Provide Pair, Trust/Untrust, and Remove commands.
- Connect notify::connected-devices signal to refresh device list.
- Ensure graceful cleanup when device is removed.
2026-07-05 22:07:40 +05:45
sankalp f55db03235 refactor(panel): remove redundant hide_dropdowns and changed_dropdown implementations
These methods were relocated to central handling via _get_all_buttons and manage_button_style_classes, simplifying the class.
2026-07-04 21:23:06 +05:45
sankalp 107efd595c refactor(src/window/controlcenter): remove battery monitoring module 2026-07-04 07:27:20 +05:45
sankalp 901731711f refactor(src/window/controlcenter): refactor UI layout and battery icon handling in BluetoothDeviceSlot 2026-07-04 05:00:36 +05:45
sankalp 15bf16d9d8 refactor(window): rename titles to prefixed modus- names 2026-07-04 01:24:23 +05:45
sankalp ae17c172ce refactor(window/controlcenter): replace icon labels with Overlay widgets and reorganize imports 2026-07-04 00:34:07 +05:45
sankalp f381766929 feat(src/window/controlcenter): improve playback state handling and UI for multiple players
Add _on_map handler and connect "map" signal to update playing state.
Refactor button handling to use change-value signal and dynamic child management.
Update playback status notification to avoid duplicates and use current_status variable.
2026-07-03 22:59:45 +05:45
sankalp 6171577ecc refactor(controlcenter): remove animation effects and adjust visibility logic 2026-07-03 20:53:18 +05:45
sankalp 2d6fd6c84b refactor(controlcenter): simplify refresh handling and add cancellation hooks
The changes replace timeout‑based refreshes with animation‑aware callbacks, improving responsiveness and preventing stale pending operations.
2026-06-24 12:53:30 +05:45
sankalp 6707e1e830 feat(src/window): migrate device monitoring to map/unmap events
Ensure monitoring starts only when the widget is shown and stops on hide, preventing timer leaks and unnecessary refreshes
2026-06-23 14:11:25 +05:45
sankalp 2a15d71c33 feat(globalmenu): got a prototype of working globalmenu for some apps 2026-06-22 15:58:10 +05:45
sankalp 9cbde2c58f refactor(src/window):improve error handling with logging 2026-06-17 05:21:36 +05:45
sankalp 260d215b6b refactor(src/window/controlcenter): simplify bluetooth status handling and UI updates
Cleanup duplicated UI updates and improve signal handling logic for better stability.
2026-06-17 05:15:03 +05:45
sankalp a382f73795 feat(src/window/controlcenter): enhance bluetooth handle with fallback and enum
Introduce BTState enum, use rfkill fallback for enable/disable, and preserve network slots to avoid UI jitter.
2026-06-17 04:52:44 +05:45
sankalp 7a5d90829a refactor(src/window/controlcenter): centralize fallback artwork path and streamline UI updates
Replaced get_relative_path with PLAYER_FALLBACK_ART and simplified image handling via apply_player_art.
2026-06-17 03:33:45 +05:45
sankalp 1def82aeb9 refactor(src/window/controlcenter): simplify MPRIS handling and add aggressive cache cleanupRemoved unused imports, merged player manager, and immediately clean cache to prevent leaks 2026-06-17 03:18:24 +05:45
sankalp 1ab30f6915 refactor(src/window/controlcenter): migrate WiFi handling to use network_service abstraction
Updated logic to delegate network operations through NetworkService, renamed signal listeners, and simplified connectivity checks focusing on service availability rather than session object emission.
2026-06-17 02:00:44 +05:45
sankalp f78534dce0 refactor(src/window): migrate control center windows to AppletWindow and simplify UI
Replace Window base with AppletWindow for consistency, switch to FlatScale, and streamline mouse capture handling.
2026-06-17 01:45:43 +05:45
sankalp 730b7b1446 feat(src/window/controlcenter): migrate artwork caching to use httpx
- New Feature: Replace urllib.request with httpx for fetching artwork URLs, providing timeout and redirect support.
- Enhancement: Added proper HTTP status code handling and early exit on download cancellation.
- Bug Fix: Gracefully handle non‑200 responses and prevent resource leaks during network operations.
2026-05-03 20:16:52 +05:45
sankalp 6577c19dcb related to memory leak 2026-04-23 16:09:52 +05:45
sankalp 7eb21daf2f hope it fix memory leak 2026-04-22 21:18:39 +05:45
sankalp 19575b5138 memory fixed :( 2026-04-22 21:17:26 +05:45
sankalp a656eda0ec memory fixed :( 2026-04-22 21:17:09 +05:45
sankalp e4813f35a0 feat(root): implement dynamic todo list refresh and UI enhancements
This change adds a mechanism to refresh the todo list dynamically when the underlying service updates, improving UI responsiveness and user experience. It also updates documentation and removes deprecated files.

- New Features:
  - Added `_refresh_todos` method to rebuild the todo list when `get_todo_service().todos` changes.
  - Introduced `TodoListCapture` class for mouse capture handling of the todo list window.
- Enhancements:
  - Updated README with corrected image paths, installation tips, and manual installation commands.
  - Introduced `start.py` to launch the application or lock mode.
  - Removed deprecated `config.json` and `debug_memory.py`.
- Bug Fixes:
  - Fixed lock screen screenshot path in README.
2026-04-10 17:11:32 +05:45