Commit Graph
47 Commits
Author SHA1 Message Date
sankalp 4df8b93e6c fix(src/window/panel/components/globalmenu): correct active window detection to exclude Modus 2026-07-14 22:00:10 +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 795e259e16 fix(panel): wire search button to toggle spotlight
- Add on_clicked handler to search button in panel
- Add set_spotlight_toggle() method on Panel
- Connect spotlight.toggle in main.py after both are created
2026-07-12 20:16:23 +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 ccfd1aecc1 feat(cache): implement icon theme aware caching for notification icons and cleanup on theme change 2026-07-12 02:44:56 +05:45
sankalp 1dd99cf79d refactor(src/window): remove unused ApplicationSwitcher component 2026-07-09 22:33:14 +05:45
sankalp 0d83f2a129 refactor: remove unused signal parameters from event handlers 2026-07-09 18:57:19 +05:45
sankalp 822a0eadcc feat(src/window/panel): connect fullscreen state change handler
Add handler for fullscreen changes to automatically toggle panel visibility, improving user experience.
2026-07-08 13:22:09 +05:45
sankalp d1e1e68da5 refactor: remove unused UI components and add quit functionality 2026-07-08 13:02:22 +05:45
sankalp 5b8d6a62aa refactor! : drop subprocess usage and centralize brightness service initialization 2026-07-08 12:25:02 +05:45
sankalp a4b38e3b14 fix(src/window/panel/notch): cancel transient indicator so scroll can navigate 2026-07-06 20:52:34 +05:45
sankalp eaaf9645a2 feat(src/window/panel/notch/indicators): add MicrophoneIndicator class and integrate into Notch
Add MicrophoneIndicator to monitor microphone presence and mute state, updating UI via show/hide callbacks.
2026-07-06 20:35:21 +05:45
sankalp fced1a0723 feat(src/window/panel): replace hardcoded config path with dynamic toml_file lookup 2026-07-06 17:39:23 +05:45
sankalp 967503d0b7 fix(src/window/panel/notch): fix typo in charging.svg filename 2026-07-06 00:34:26 +05:45
sankalp 56f1a338b7 refactor(src/window/panel/notch): move icons to notch/ path and adjust sizes
Update icon paths to use notch/ prefix and increase size of charging indicator to 24px.
2026-07-05 23:11:38 +05:45
sankalp ec65d8ead4 feat(src/window/panel/panel): add NumLockIndicator and ChargingIndicator, improve battery service initialization 2026-07-05 23:05:49 +05:45
sankalp f0c67c0483 fix(src/window/panel/notch): ensure monitoring started on indicator access 2026-07-05 22:27:20 +05:45
sankalp 43d8306454 feat(src/window/panel/notch): add CapsLockIndicator and KeyboardLayoutIndicator
Add transient indicator pages for caps lock and keyboard layout, update stack children and handling to show/hide after timeout.
2026-07-05 22:25:32 +05:45
sankalp 99654a7c07 refactor(indicators): switch Bluetooth import to services.bluetooth 2026-07-05 22:07:57 +05:45
sankalp 59376608dd feat(src/window/panel/notch): reduce visualizer bar count and integrate artwork image
Reduce bar count from 10 to 8 and adjust height limits, add CustomImage widget for artwork, update visibility handling to show/hide fallback and artwork
2026-07-05 21:14:56 +05:45
sankalp 86b02989e4 refactor(src/window/panel/notch): improve visualizer implementation and add static tunables
Replace random-based bar generation with deterministic sine animation, rename internal state and constants, split visualizer logic into explicit methods, update drawing to use style colors, consolidate signal and timer handling, and streamline idle/reset behavior.
2026-07-05 20:56:52 +05:45
sankalp 829693af00 refactor(src/window/panel/notch): simplify recording logic and add idle widget handling 2026-07-05 00:06:07 +05:45
sankalp d8b9903b45 feat: add notch panel implementation 2026-07-04 22:27:52 +05:45
sankalp 1dc4a286c4 refactor: replace RecordingIndicator with Notch in panel UI 2026-07-04 22:27:35 +05:45
sankalp 5ba8f0e4d5 refactor(src/window/panel/components): remove recording_indicator module 2026-07-04 22:27:18 +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 76f4650409 refactor(src/window/panel/components): drop google_lens_indicator and simplify command handling
Refactor ModPopup to use shell -c for commands, adjust icon size default, and improve button click handling. Remove unused GoogleLensIndicator component and related import/usage.
2026-07-04 06:47:59 +05:45
sankalp 0d11b68add feat(src/window): switch configuration from JSON to TOML and refactor pinned apps handling 2026-07-04 06:29:01 +05:45
sankalp 09a01a7f41 fix(src/window/panel): handle missing label gracefully when updating dropdown 2026-07-04 05:00:54 +05:45
sankalp 6d5d8cce88 feat(src/window/panel): rename panel title and update imports
Change title of create_control_window to "modus-controlcenter" and adjust Panel title to "mdous-bar". Update import ordering and remove redundant imports for clarity.
2026-07-04 01:24:41 +05:45
sankalp bc07920f1a refactor(src/window/panel/components): adjust top-level menu filtering to respect visibility
Ensure only visible top-level items are considered
Prevent hidden items from appearing in the menu hierarchy
2026-06-23 14:29:06 +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 ef0b9f0b68 feat(deps): lock fabric to specific commit and add required dependencies
Align with latest stable API and ensure reproducible builds
2026-06-22 17:46:34 +05:45
sankalp 2a15d71c33 feat(globalmenu): got a prototype of working globalmenu for some apps 2026-06-22 15:58:10 +05:45
sankalp dd9cd58106 refactor(src/window/panel/components): simplify visibility toggle in _on_title_button_clicked
Use Toggle for clearer intent
2026-06-17 05:32:42 +05:45
sankalp 9cbde2c58f refactor(src/window):improve error handling with logging 2026-06-17 05:21:36 +05:45
sankalp 6c478710dc refactor(src/window/panel/components): remove redundant hide_control_center call in on_network_direct_changed
Remove redundant hide_control_center(self.wifi_window) which had no effect after UI redesign; simplifies logic and avoids unnecessary side effects.
2026-06-17 04:53:01 +05:45
sankalp 66af39f247 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:01:35 +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 2a81a27ace feat(src/window/panel/components): improve Hyprland command dispatch syntax and workspace navigation
Use quoted commands and explicit method calls to avoid shell parsing issues.
2026-06-16 22:24:56 +05:45
sankalp be308191c5 feat(src/window/panel): add persistent battery, network and bluetooth indicators with visibility handling and improve dropdown and config-driven layout logic
The refactor introduces persistent indicator widgets and updates how visibility and layout are managed based on configuration changes.

New Features
- Added BatteryIndicator, NetworkIndicator and BluetoothIndicator as persistent panel children.
- Implemented visibility toggling for each indicator according to configuration and battery presence.
- Added debug prints when an indicator’s visibility changes or a battery is not detected.

Enhancements
- Updated dropdown actions to use `get_about_window()` and `get_settings_window()` for About and System Settings entries.
- Switched layout rebuilding to use `get_config_all()` and now only rebuilds when specific keys actually change.
- Removed manual recreation of indicators; visibility is controlled via `show()`/`set_visible()`.
- Consolidated changed‑key detection and added logging of rebuild reasons.
- Streamlined config key checks to use `config_data.get(..., True)`.

Bug Fixes
- Fixed BatteryIndicator to hide and log when no battery is detected.
- Corrected use of `config_data.get()` with appropriate fallback values.
- Updated layout updates to use `show()` and trigger a resize queue instead of `show_all()`.
2026-05-03 22:06:42 +05:45
sankalp 6577c19dcb related to memory leak 2026-04-23 16:09:52 +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