sankalp
94ed52f4b5
docs: update architecture, configuration, and FAQs
...
- Expand architecture overview with plugin system details
- Update configuration guide with new spotlight settings
- Improve FAQs with troubleshooting tips
- Remove docs/README.md (content merged into main README)
2026-07-12 20:17:56 +05:45
sankalp
a2171b7013
config: update keybinds and remove launcher.toml
...
- Rename fabric-cli exec to use 'modus' instead of 'modus1'
- Add spotlight keybinds (Super+D, Super+E, Super+V, Super+W)
- Change reload bind to Alt+Shift+R
- Delete config/launcher.toml (replaced by spotlight plugins)
2026-07-12 20:17:52 +05:45
sankalp
f065ce5d7c
style: remove launcher CSS and cleanup style imports
...
- Delete launcher styles (general, index, network, results, search)
- Remove unused imports from controlpanel and notification CSS
- Minor tweaks to window and settings styles
2026-07-12 20:17:44 +05:45
sankalp
aefbaa4996
style(icons): fix trailing newline in SVG files
...
Ensure all icon SVGs end with newline for consistency
2026-07-12 20:17:37 +05:45
sankalp
3a81ab1212
feat(spotlight): add plugin system with core engine and examples
...
- Plugin API (plugin.py, context.py, result.py)
- Core engine (search.py, manager.py, registry.py, loader.py)
- Built-in plugins: app, calculator, clipboard, emoji, power_menu, query, wallpapers
- Spotlight docs and example plugins
- Spotlight CSS styling
2026-07-12 20:17:34 +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
b5c92a9a77
docs: rearrange README sections and remove roadmap
...
New flow: hero -> quick start -> manual install -> docs -> config -> mods -> plugins -> team
Rename 'Links' to 'Documentation' for clarity
2026-07-12 20:16:14 +05:45
sankalp
e72b35ffa7
chore: update project metadata in pyproject.toml
...
- Description, license (GPL-3.0-or-later), authors, keywords
- Add classifiers, project URLs (homepage, docs, issues, Discord)
- Restructure dependencies before project.urls to fix TOML parsing
2026-07-12 20:16:00 +05:45
sankalp
00b505ca66
ci: add Dependabot config for pip and GitHub Actions
...
Weekly dependency updates for Python packages and Actions versions
2026-07-12 20:15:45 +05:45
sankalp
e64ef88f3e
docs: add issue templates, PR template, and labeler config
...
- Bug report: version, component, repro steps, logs, environment
- Feature request: component, description, alternatives
- Question: with links to docs/Discord
- PR template: summary, type, testing checklist, screenshots
- Labeler: auto-label PRs (python, config, c-backend, styling, ci, docs, assets, install)
2026-07-12 20:15:33 +05:45
sankalp
d4eab2cb34
chore: add pre-commit config with ruff and standard hooks
...
- ruff lint + format (v0.15.2)
- trailing whitespace, EOF fixer, YAML/TOML validation
2026-07-12 20:15:19 +05:45
sankalp
c445b2e2a4
ci: add CodeQL, pre-commit, and labeler workflows
...
- CodeQL: Python security analysis on push/PR + weekly schedule
- Pre-commit: ruff lint/format checks on push/PR
- Labeler: auto-label PRs based on changed files
2026-07-12 20:15:10 +05:45
sankalp
d0e1f7090a
chore(install): add --yes flag, use subshell, clean up git output
...
- Add -y/--yes flag to skip interactive prompts
- Replace cd/cd- with subshell in app-capture build
- Replace fragile grep -v pipe with stderr redirect for git output
- Total steps still matches progress calls
2026-07-12 19:28:55 +05:45
sankalp
ae90b85f75
fix(install): hardcoded path, step count, launch flow
...
- Replace /home/sankalp/ with $INSTALL_DIR in MODUS_MODULE_LINE
- Fix TOTAL_STEPS 11→12 to match actual progress calls
- Move 'Launching Modus' to end (stop + start in one block)
- Remove orphaned 'Starting Modus' step from under Matugen
2026-07-12 19:26:29 +05:45
sankalp
3142d70279
refactor(dock): extract DockItem into items.py, remove TYPE_CHECKING
...
DockItem, DockModel, DockHitTest moved to items.py.
layout.py and animator.py now import directly — no circular deps.
2026-07-12 19:25:06 +05:45
sankalp
980734f465
fix(dock): quote TYPE_CHECKING annotations for runtime safety
...
DockItem and DockCanvas are only imported under TYPE_CHECKING.
String-annotate their usage so they aren't evaluated at runtime.
2026-07-12 19:21:58 +05:45
sankalp
07d35d8fdf
fix(dock): restore TYPE_CHECKING guards to break circular imports
...
animator.py and layout.py both circular-import from canvas.py.
Restore the TYPE_CHECKING blocks and suppress TC004 globally.
2026-07-12 19:20:24 +05:45
sankalp
f4281e6aca
fix(install): compile global menu shim from src/globalmenu/ instead of non-existent native/
2026-07-12 19:12:33 +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
15e64df428
refactor: consolidate debounce into utils/debounce.py
...
Move method-specific debounce from functions.py to debounce.py,
keeping both debounce (method) and sync_debounce (general) together.
2026-07-12 19:04:33 +05:45
sankalp
30c02f207d
chore: remove unused conversion.py (CurrencyCache, Units)
2026-07-12 19:02:07 +05:45
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