Commit Graph
100 Commits
Author SHA1 Message Date
sankalp c5961c7832 chore: add project copyright header to LICENSE 2026-07-12 19:00:27 +05:45
sankalp c9f3f27e18 refactor: remove occlusion.py wrapper, import check_occlusion from services.modus directly 2026-07-12 18:59:18 +05:45
sankalp 7934267924 docs: link contribution guide in README 2026-07-12 18:40:03 +05:45
sankalp d0ca929b76 docs: add contribution guide 2026-07-12 18:39:52 +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 afd826d0c0 refactor(services): enhance TodoService with callbacks, UUID IDs, and UTF‑8 file handling 2026-07-12 09:33:41 +05:45
sankalp 51283125ef chore: add ALT+TAB keybinding
Change config/hypr/modus.lua to bind ALT+TAB to switcher.show_switcher() and remove the stale comment.
2026-07-12 09:33:25 +05:45
sankalp c0ac114610 feat(src/assets): add pomodoro sound assets
Add new alert and tick sounds for pomodoro timer, update project metadata in pyproject.toml and requirements.txt to include new dependencies.
2026-07-12 09:33:05 +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 b78710002a docs(readme): mark Pomodoro Timer Widget as completed 2026-07-12 09:32:26 +05:45
sankalp 8a4508159e feat(src/window): add lockscreen implementation 2026-07-12 05:27:32 +05:45
sankalp cec3ca56b0 refactor(src): remove lockscreen implementation
The lockscreen module in src/lock.py has been removed to clean up unused code and simplify the project structure. This change does not affect current functionality but prepares the codebase for future enhancements.
2026-07-12 05:27:15 +05:45
sankalp 0cd7a7c3f4 docs: add comprehensive documentation for installation, architecture, and styling 2026-07-12 05:26:57 +05:45
sankalp 11ad484fb6 feat(root): update lock dependency to window.lock and document README properly 2026-07-12 05:26:40 +05:45
sankalp 5af4a80d1d refactor: hide window instead of showing when recording starts 2026-07-12 05:02:26 +05:45
sankalp b3b684720a feat(readme,install): update documentation and add required build dependencies 2026-07-12 05:02:08 +05:45
sankalp e05aff39bf refactor: reformat environment variable assignment to use explicit multi‑line tuple syntax 2026-07-12 04:47:10 +05:45
sankalp 0ffd620533 feat(src/window/switcher): add live preview toggle and refactor capture loop with invoke_repeater 2026-07-12 04:46:51 +05:45
sankalp 06c0fb7cb7 feat(src/window/switcher/app-capture): expose target size and damage-waiting options in capture_by_handle 2026-07-12 04:46:21 +05:45
sankalp 11821816f7 feat(src/utils): add switcher_live_preview_delay_ms setting 2026-07-12 04:46:02 +05:45
sankalp 373d582701 feat(src/window/switcher): add live preview capture and restructure switcher UI 2026-07-12 03:54:18 +05:45
sankalp ce21c075da feat(src/window/switcher/app-capture): add app-capture implementation 2026-07-12 03:53:58 +05:45
sankalp 3ed0707b14 feat(src/utils): add switcher live preview option 2026-07-12 03:53:36 +05:45
sankalp 724c9db7b5 feat(src): configure GI_TYPELIB_PATH for app-capture 2026-07-12 03:53:19 +05:45
sankalp be86976882 feat(build): add progress steps and environment configuration for App Capture module 2026-07-12 03:53:02 +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 4b039c1ff3 chore(src/utils): remove deprecated DBus menu client and dev‑members.json, add uinput module for mouse click simulation
Drop unused dbusmenu.py and related files, update pyproject.toml and requirements.txt to reflect new dependencies, and add pure‑Python uinput click helper.
2026-07-12 02:44:35 +05:45
sankalp 40b8962232 feat(notifications): increase app icon size to 64x64 and refactor service retrieval 2026-07-12 02:44:15 +05:45
sankalp aee72d98fa refactor(config): simplify color picker commands 2026-07-12 02:43:57 +05:45
sankalp 23672db2db feat(pyproject): add src/globalmenu to wheel packages 2026-07-12 02:43:38 +05:45
sankalp e837f54680 feat(src/window/notification): switch notification icon size to 64x64
Update notification asset handling to use 64x64 icons for consistency and better thumbnail quality.
2026-07-11 22:22:10 +05:45
sankalp 863fb5e0ae refactor(config/hypr): simplify animation curves and definitions 2026-07-11 22:21:52 +05:45
sankalp 6a5f85a10d refactor(services): migrate run_command to Gio.Subprocess in KeyboardLayout and Modus 2026-07-10 10:31:09 +05:45
sankalp 2f1ae9e72e feat(config/hypr): increase blur size and add new blur options 2026-07-10 10:30:49 +05:45
sankalp 3f9f75d77e refactor(src/window/screencapture): replace direct _do_screenshot with service call 2026-07-09 23:17:17 +05:45
sankalp 9024cbc9ba feat: replace blocking subprocess calls with Gio.Subprocess async handling 2026-07-09 23:16:58 +05:45
sankalp 4fa183e272 style(config/hypr): adjust screencapture.toggle argument quoting 2026-07-09 23:16:41 +05:45
sankalp f0aed5a410 style(src/styles): rename application switcher identifiers to app-switcher
Rename CSS IDs from #application-switcher-* to #app-switcher-* for consistency.
Update padding, margin, and hover states to match new design.
Add new classes for hovered and selected states with appropriate styling.
2026-07-09 22:33:54 +05:45
sankalp 0fbccca46e refactor: add stop_animation method to SlideRevealer and integrate with destroy 2026-07-09 22:33:33 +05:45
sankalp 1dd99cf79d refactor(src/window): remove unused ApplicationSwitcher component 2026-07-09 22:33:14 +05:45
sankalp 84976320f0 feat: add about_to_show and refresh_menu_sync methods to GlobalMenuService and refactor close_window implementation 2026-07-09 22:32:54 +05:45
sankalp aeacb397b2 feat(config/hypr): add new animations 2026-07-09 22:32:32 +05:45
sankalp 0d83f2a129 refactor: remove unused signal parameters from event handlers 2026-07-09 18:57:19 +05:45
sankalp be6e42061b style: update panel background colors to #000000 2026-07-09 18:56:58 +05:45
sankalp 3dbad6bdea refactor(src/utils): drop unused AppName methods and simplify DBusMenuClient
Removed get_app_exec, get_desktop_file, on_focus, get_revision; renamed parameter format_ to _format_; cleaned up imports and dead code.
2026-07-09 18:56:28 +05:45
sankalp de9ab766c4 refactor!(shared): remove unused constants and deprecated methods 2026-07-09 18:56:05 +05:45
sankalp 1403c5adc0 refactor(src/services): remove unused properties and methods across service classes 2026-07-09 18:55:36 +05:45
sankalp f9bef457ca refactor(src/utils): remove unused imports and functions 2026-07-09 15:45:39 +05:45
sankalp bb3a92416f refactor(src/services): switch state storage from JSON to TOML for gamemode 2026-07-09 15:45:20 +05:45
sankalp bd878c88eb feat(src/window/screencapture): hide window before screenshot 2026-07-09 15:32:46 +05:45
sankalp 01dc64498f feat(src/services): refactor KeyboardLayout to use TOML state persistence and improve layout switching
Switch layouts are now stored in TOML, added proper error handling and a static method to trigger switching, replaced JSON handling, updated imports and fixed related services.
2026-07-09 15:32:29 +05:45
sankalp 6152314c9c feat: add keyboard layout switching capability
Expose KeyboardLayout.switch_keyboard_layout as a public method and integrate it into the main application to enable dynamic keyboard layout changes at runtime.
2026-07-09 15:32:10 +05:45
sankalp c122cfd32f feat(config/hypr): add new screen capture and layout switcher bindings
- Replace commented-out launcher shortcuts with active screen capture and keyboard layout switcher.
- Update keybinding logic to use new method signatures.
2026-07-09 15:31:53 +05:45
sankalp 4d7766071f style(src/styles/window): darken panel and notch background colors 2026-07-08 16:12:07 +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 4dcfaed69e feat(services): add fullscreenChanged signal and property handling
Add @Signal fullscreen_changed(), expose a read‑write fullscreen Property that triggers the signal on change, set its default to False, connect Hyprland’s fullscreen event to update the property, and store it on the service instance.
2026-07-08 13:21:42 +05:45
sankalp d1e1e68da5 refactor: remove unused UI components and add quit functionality 2026-07-08 13:02:22 +05:45
sankalp 5ba2278de2 fix(config): adjust modus directory path and clarify env var handling to avoid Gdk-CRITICAL 2026-07-08 12:25:40 +05:45
sankalp 79f4ee4d4a style(src/styles): replace background-color with @bg-a50 2026-07-08 12:25:20 +05:45
sankalp 5b8d6a62aa refactor! : drop subprocess usage and centralize brightness service initialization 2026-07-08 12:25:02 +05:45
sankalp 06be28535a refactor: clean up service implementations and remove dead code 2026-07-08 12:24:39 +05:45
sankalp 9a1f512a28 feat: enhance progress tracking and environment configuration
Update TOTAL_STEPS to reflect new steps and add progress indicators for configuring global environment and .pam_environment.
2026-07-08 12:24:22 +05:45
sankalp e662b825ec feat(src/assets/icons): add screen capture icons 2026-07-07 14:02:42 +05:45
sankalp f7662f7f5b feat(src/window/screencapture): implement screen capture window with toolbar, tools, and options menu
Added a new window class that integrates with the capture service, provides a toolbar of tool buttons for region, screen, window, and recording modes, includes an options button to toggle settings, and implements save directory selection, delay, cursor, thumbnail, and microphone controls. The implementation follows the existing widget architecture and updates related modules to expose the new functionality.
2026-07-07 14:02:24 +05:45
sankalp 89d7cdfac3 refactor(src/styles/window): improve CSS file formatting and add screencapture.css 2026-07-07 14:02:04 +05:45
sankalp 22528b312a feat(config): add project metadata and dependencies to pyproject.toml and requirements.txt 2026-07-07 14:01:46 +05:45
sankalp b375762c37 feat(src): add ScreenCaptureWindow for screenshot functionality 2026-07-07 14:01:29 +05:45
sankalp adf525fc2f style(src/styles/window): add energy-mode icon styles and update game-mode color to use @on-primary 2026-07-06 21:14:22 +05:45
sankalp 6f441f2e6e feat(src/assets/icons/screenshot): add monitor, region, and window SVG icons for screenshot 2026-07-06 21:14:05 +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 59a80e47ea refactor(src/window/osd/components): remove MicrophoneOSDContainer implementation 2026-07-06 20:35:01 +05:45
sankalp 9c19b7446a refactor: remove microphone osd container 2026-07-06 20:34:44 +05:45
sankalp 4390e7cca0 style(src/styles/window): add #notch-mic to #notch-charging padding rule 2026-07-06 20:34:26 +05:45
sankalp df0e581773 feat(src/assets/icons/notch): add mic-on and mic-off SVG icons 2026-07-06 20:34:09 +05:45
sankalp a30ddc3fb6 refactor(src/window/osd/components): remove deprecated OSD capslock and keyboard layout components 2026-07-06 20:22:51 +05:45
sankalp 1d672eebac refactor(config): comment out icon and options in Mods.terminal 2026-07-06 20:22:35 +05:45
sankalp 65fdcc6189 refactor(src/services): streamline recording stop and screenshot handling, remove dead code
Simplify stop_recording by removing redundant process kills and file handling
Add guard to prevent reinitialization
Replace exec_shell_command_async with Gio.Subprocess and track pending screenshot
Refactor screenshot method to eliminate multi‑display special case
Clean up conversion logic and remove unused imports
2026-07-06 20:11:17 +05:45
sankalp 330d0f0805 feat(config): simplify screen capture description and update dependencies 2026-07-06 20:10:58 +05:45
sankalp 24250db1f9 refactor(config/hypr): switch to new modus path and comment out animation configs 2026-07-06 20:10:40 +05:45
sankalp a74be0ceb2 chore(src/window/launcher/plugins): remove built-in plugins 2026-07-06 19:50:06 +05:45
sankalp 9c74b0f606 refactor(launcher): remove launcher module files 2026-07-06 19:49:49 +05:45
sankalp 023d0be7c8 refactor(src): comment out LazyLauncher implementation and usage 2026-07-06 19:49:30 +05:45
sankalp 8a231540e5 feat: add launcher entry and update project metadata 2026-07-06 19:49:11 +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 43197521a8 refactor(src/window): replace get_relative_path with toml_file for config path resolution
The imports now use toml_file to load dock.toml and launcher.toml directly, removing the get_relative_path utility and simplifying path handling. This reduces indirect dependencies and clarifies configuration loading.
2026-07-06 17:39:06 +05:45
sankalp 965f93e418 refactor(src/utils): adjust base path constants and add toml_file helper 2026-07-06 17:38:47 +05:45
sankalp 7fdb3be0b3 refactor(config): replace get_relative_path with toml_file 2026-07-06 17:38:29 +05:45
sankalp 9ad25163f0 refactor(src/services): replace get_relative_path with toml_file for loading config 2026-07-06 17:38:09 +05:45
sankalp 6b7348ea20 refactor(src/window/notification): adjust notification markup handling and UI width constraints
- Escape markup text for summary and body to prevent injection
- Simplify Label creation for body with conditional null check
- Increase max_chars_width for summary and body lines
- Remove wrap and wrap_mode settings
2026-07-06 17:34:30 +05:45
sankalp c2f9ab4070 feat(src/window): add animation constants, layout tweaks and DockItem dataclass; refactor hover and occlusion handling
- introduced LERP_FACTOR, IDLE_THRESHOLD, ANIM_FPS and related layout constants
- added DockItem dataclass with render geometry and scale state
- refactored on_hover_enter/leave to schedule delayed hide with ticket comparison
- updated setup_occlusion_monitoring with typed check_dock_occlusion returning bool
- cleaned up destroy to remove canvas and timer IDs
2026-07-06 17:34:12 +05:45
sankalp 86e24de864 style(src/styles/window/dock.css): simplify and modernize dock window styling 2026-07-06 17:33:50 +05:45
sankalp 1ed6db4ae2 feat(src/assets/icons/notch): redesign charging.svg for dark theme compatibility
Update SVG to use ColorScheme-Text style and include version attribute for better theming support
2026-07-06 17:33:33 +05:45
sankalp d087c47aea feat(src/assets/icons/misc): add trash-empty.svg icon 2026-07-06 17:33:09 +05:45
sankalp 967503d0b7 fix(src/window/panel/notch): fix typo in charging.svg filename 2026-07-06 00:34:26 +05:45
sankalp 56ecc64531 style(src/styles/controlpanel): adjust background-color to @bg-a50 2026-07-06 00:34:09 +05:45
sankalp f1988e2d4f refactor(notch): rename charging.svg to charing.svg and update fill colors in SVG icons 2026-07-06 00:33:51 +05:45
sankalp 132622ac60 refactor(src/assets/icons/mic): simplify microphone SVG implementation
The SVG was streamlined by removing redundant CSS styles and simplifying path data, reducing file size and improving maintainability.
2026-07-06 00:33:33 +05:45
sankalp 2c645080ec style(src/styles/window): remove background property from battery widget 2026-07-05 23:20:58 +05:45
sankalp 2bb478425f chore(src/styles/controlpanel): bump version and update dependencies 2026-07-05 23:20:40 +05:45