Commit Graph
780 Commits
Author SHA1 Message Date
sankalp 1aed6ea816 refactor(src/shared): replace print statements with logger.error
Use centralized logging instead of stdout prints to improve observability and consistency
2026-06-17 05:21:02 +05:45
sankalp 48231b3bc2 feat(src/services): improve error handlingwith detailed logging
Replace silent exception swallowing with explicit logging via logger.error to aid debugging and observability
2026-06-17 05:20:44 +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 13c3036a62 feat(src/shared/window): add snap_to_size method for instant resizing without animation
Allows resizing to a specific height instantly without animation
2026-06-17 05:14:46 +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 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 929e525589 feat(src/shared/window): addanimated scrollable window and close_applet cleanup
Introduce Animator‑driven height transitions for smoother scrolling and ensure proper cleanup when the applet window closes.
2026-06-17 04:52:26 +05:45
sankalp bceebd646c feat(src/shared/widgets):add bezier_curve property and trigger animation on active 2026-06-17 04:52:09 +05:45
sankalp 32080ab17f feat(src/services): add bluetooth device proxy and wifi connection logic
Implemented robust BluetoothDevice proxy handling and enhanced Wi‑Fi reconnection with async callbacks and error handling.
2026-06-17 04:51:51 +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 bd78ed9aab feat(src/styles): add dark theme styling and widget CSS
Add CSS for about, battery, calendar, and system info widgets, including layout adjustments, color theming, and interactive component styling.
2026-06-17 03:20:46 +05:45
sankalp 9231460c6b chore(src/shared/styles): delete legacytheme and widget CSS 2026-06-17 03:20:29 +05:45
sankalp a539d02821 refactor(src): adjustpath references from shared/styles to styles
Simplify style file paths by removing redundant "shared" prefix, aligning with updated directory layout.
2026-06-17 03:20:11 +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 fa2c157663 fix(src/shared/window): fix window visibility check and margin duplication
Fixes logic error causing popup window to be created when invisible and prevents redundant margin updates.
2026-06-17 03:18:06 +05:45
sankalp bffedbe3ae feat(src/shared/styles): narrowmin-width to match standard player width
Reduced min-width to align with design specifications and maintain consistent UI across platforms.
2026-06-17 03:17:49 +05:45
sankalp e4d139d541 refactor(src/services): rename MprisPlayer to PlayerService and streamline MPRIS integration
Remove legacy PlayerManager implementation and simplify signal handling for DBus players
2026-06-17 03:17:31 +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 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 dc150aee81 refactor(src/services): drop unused NetworkClient and simplify network handling
Prevent unused NetworkClient import and remove extensive network code that was blocking release; streamline to only Wifi service and needed helpers.
2026-06-17 02:00:26 +05:45
sankalp 9907acbce2 refactor(src/services): simplify battery.py imports and drop unused gi dependencies
Remove unused gi imports, streamline dependencies, and align with the updated module structure.
2026-06-17 01:49:16 +05:45
sankalp 87884eef09 feat(src/shared): add flat scale widget and smooth-switch styling
Implement animated flat scale widget with CSS styling and smooth-switch UI enhancements
2026-06-17 01:46:19 +05:45
sankalp 687c5d6bcf refactor(src/window/osd): replace Brightness.get_initial() with Brightness() to drop encapsulationRemove Brightness.get_initial() call and instantiate Brightness directly, simplifying the API and making the service easier to test and extend. 2026-06-17 01:46:02 +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 b8d3e74afd feat(src/services): rename BatteryService to Battery and add availability properties
Rename service to Battery, expose availability, charging, discharging properties and simplify interface for clarity
2026-06-17 01:45:24 +05:45
sankalp 400b8db954 feat(root): add ddcutil to install script
Add support for monitor DDC/CI control via ddcutil.
2026-06-17 01:45:06 +05:45
sankalp 850c41cddb Merge branch 'dev' of github.com:S4NKALP/Modus into dev 2026-06-17 01:26:57 +05:45
sankalp 0e41e5bb93 Customize modus.lua 2026-06-17 01:26:53 +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 d887e22f0b refactor(src/window/launcher/plugins): migrate subprocess calls to exec_shell_command_asyncUse unified async execution and updated hyprctl dispatch syntax 2026-06-16 22:24:36 +05:45
sankalp 7371b4fcb8 refactor(src/window): replace subprocess.Popen with exec_shell_command_async in dock.py
Use async-friendly API and drop shell=True to enhance safety and performance.
2026-06-16 22:24:19 +05:45
sankalp 0c266e9150 refactor(src/shared/styles): replace var(--radius-*) with apply(radius-*) throughout shared styles
Use apply() to align with the updated CSS variable system and ensure consistent radius theming
2026-06-16 22:24:02 +05:45
sankalp e6a4c48b2f feat(root): add hyprland integration and update dependenciesUpdate Fabric dependency to latest commit, pin versions in requirements.txt, enable Windows Subsystem for Linux support and add monkeypatch for hyprland dispatcher to ensure correct Lua calls 2026-06-16 22:23:44 +05:45
sankalp d45487ff13 Merge branch 'macos' into dev 2026-05-24 22:10:16 +05:45
sankalp f784baacfa migrate to lua for hyprland>=0.55 v1.0.0 2026-05-17 03:39:56 +05:45
sankalp 5502f85dd1 refactor(src/shared/styles): replace hardcoded CSS values with design token variables
Introduce consistent design tokens for radii and colors, replacing alpha() and hardcoded values with theme variables for easier theming and maintenance.

- New Features:   - Add CSS variable usage for radii (var(--radius-*)) and color tokens (@border-subtle, @text-main, @accent)
- Enhancements:
  - Replace hardcoded border, radius, and color definitions with variable references
  - Align styling with the project's theme system
- Bug Fixes:
  - No bug fixes included
2026-05-14 15:31:01 +05:45
sankalp 60c63308db feat(root): add Modugen template configuration to install script
This change adds automatic configuration of Matugen templates for Modus themes, ensuring a consistent look‑and‑feel across Hyprland and terminal setups. It introduces checks to prevent duplicate entries and provides user feedback via progress and success messages.

- New Features:
  - Added Modus template blocks for Matugen (modus and hyprland)
  - Integrated progress and success messaging for template installation
- Enhancements:
  - Updated Hyprland Lua path to an absolute location
  - Added validation for existing Matugen config file
- Bug Fixes:
  - None
2026-05-14 15:20:46 +05:45
sankalp 6a23002738 migrate to lua for hyprland>=0.55 2026-05-14 15:20:46 +05:45
sankalp 510e4dce42 Merge branch 'macos' into dev 2026-05-06 19:01:39 +05:45
sankalp 2cc287da64 Merge pull request #32 from S4NKALP/dependabot/pip/pillow-12.2.0 2026-05-06 19:00:59 +05:45
dependabot[bot] 5207c0e602 chore(deps): bump pillow from 12.1.1 to 12.2.0
Bumps [pillow](https://github.com/python-pillow/Pillow) from 12.1.1 to 12.2.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/12.1.1...12.2.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-version: 12.2.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-06 13:14:55 +00:00
sankalp d99f1e87c2 update 2026-05-06 18:55:31 +05:45
sankalp 63f0b046ca feat(src/window):restructure dock UI and application switcher using config‑driven layout 2026-05-03 22:06:48 +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 704c8b229c feat(src/shared): introduce settings window and refine visibility configurationAdd a dedicated settings window with full CSS styling and improve UI consistency
- New Settings window implementation with styling and layout
- Updated visibility configuration to use direct configuration keys
- Simplified layer‑shell positioning logic and improved reliability

Enhancements- Refactored MouseCapture geometry calculations for cleaner code
- Integrated size‑allocate handler to maintain input region sync
- Added global About window singleton and improved toggle behavior

Bug Fixes
- Fixed potential index errors in MouseCapture coordinate calculations- Resolved missing imports and path issues for icon assets
2026-05-03 22:06:35 +05:45
sankalp ebd50e585c refactor(src/utils): remove unused default settings
Remove several default configuration entries that are no longer required, cleaning up dead code and reducing configuration surface.

- Cleanup: drop unused constants
- Maintenance: simplify DEFAULT dict
2026-05-03 22:06:28 +05:45
sankalp 244a913d96 feat(src/services): add config persistence, reload handling and notification pruning on config change
Add ability to persist current configuration to disk and trigger reloads, expose set() and save() methods, monitor the config directory for changes, and adjust notification history based on config modifications.

- New Features
  - Implement `save()` method to write config to file and trigger reload
  - Add `set()` method for in‑memory config updates
  - Extend file monitoring to include parent directory
  - Rename `get_all_config` to `get_config_all`
- Enhancements
  - Refine reload logic to correctly capture previous state via `_last_notified_config`
  - Trigger reloads on additional file‑monitor events (CREATED, DELETED)
  - Prune cached notifications according to config changes (`notification_ignored_apps`, `notification_limited_apps_history`)
- Bug Fixes
  - Resolve race condition where reload‑pending flag could be left set
  - Ensure callbacks are notified on every reload request
  - Fix stale comparison of config values in `has_changed`
2026-05-03 22:06:23 +05:45
sankalp 791400f437 chore(src/services): remove auth service module- Removed legacy authentication service code.
- Cleaned up unused imports and configuration.
2026-05-03 20:20:05 +05:45
sankalp 27c8bb5151 chore(root): remove unused dependencies
Removed pyotp, pyzbar, and thefuzz from pyproject.toml and requirements.txt to simplify dependencies.

- Enhancements
  - Cleaned up redundant dependencies.
- Bug Fixes
  - None.
2026-05-03 20:20:01 +05:45
sankalp 2c6a75970a refactor(src/utils): replace urllib with httpx and add currency symbol mapping
Why: Modernize HTTP client usage and expose currency symbols for conversion.

New Features
- Added `CURRENCY_SYMBOLS` mapping from symbols to currency codes.
- Switched all external requests to `httpx` with custom headers and redirects.

Enhancements
- Increased timeout to 10 seconds and enabled `follow_redirects=True`.
- Centralized error handling with explicit status‑code checks.

Bug Fixes
- Added proper exception handling for JSON parsing to avoid silent failures.
- Improved error messages for non‑200 responses.
2026-05-03 20:16:58 +05:45