Skip to content

Rewrite#30

Draft
S4NKALP wants to merge 320 commits into
macosfrom
dev
Draft

Rewrite#30
S4NKALP wants to merge 320 commits into
macosfrom
dev

Conversation

@S4NKALP

@S4NKALP S4NKALP commented Mar 23, 2026

Copy link
Copy Markdown
Owner

This rewrite is still WIP, so things might move a bit slow.

What's included so far:

  • Auto Reload when config.toml file changes without restart
  • move to virtual env instead of global installation
  • new osd components
  • Migrate to a uv managed Python virtual environment
  • hide tray items through config.toml
  • fix about app showing unknown data
  • depreciate the use of glace-git
  • update project folder structure
  • improve the control center's player module
  • fix memory leak
  • remove bloat launcher plugins
  • setting app
  • improve styling
  • dock usign gtk drawing for magnification replicate macos dock
  • screenshot tool
  • moved to toml
  • rewrite launcher with plugins
image

@S4NKALP S4NKALP self-assigned this Mar 24, 2026
S4NKALP added 15 commits April 10, 2026 01:13
…ttons

Enhancements
- Added `:active` variants for panel-button, battery-button, network-button, bt-button, tray-button, and global-menu, mirroring existing hover styling.
- Ensures consistent visual feedback when these components are active.
…binding

Why: Refactor mouse capture logic to use robust input‑region handling, add support for multi‑click events, and align layer usage with the passed layer parameter; update dropdown to use an Escape keybinding instead of a button‑press hide.

New Features:
- Support button‑press, double‑click, and triple‑click events.
- Introduce `_get_child_window_bounds` helper and window‑local coordinate detection for accurate click placement.
- Add cursor‑feedback styling updates on the trigger widget.

Enhancements:
- Make overlay layer configurable via the passed `layer` argument.
- Replace direct `button-press-event` connection with an Escape keybinding in the dropdown.
- Update imports to use `Gdk` and new utilities (`HyprlandWithMonitors`, `modus_service`).

Bug Fixes:
- Resolve race condition that could hide child windows on external clicks.
- Ensure immediate hide when clicking outside the child window to avoid timing issues.
- Correct click‑inside detection logic and properly consume events.
…nter widget assignments

Changed the default layer used by `create_dropdown_with_capture` from `"bottom"` to `"top"` and updated the call site accordingly. Added safety checks to set `_pointing_widget` on indicator windows when they exist, preventing potential errors when the windows are not created.

- Enhancements:
  - Updated default `layer` parameter in `create_dropdown_with_capture` to `"top"`.
- Bug Fixes:
  - Ensured `BluetoothIndicator`, `NetworkIndicator`, and `BatteryIndicator` properly assign `_pointing_widget` to their respective buttons when the associated windows are present.
- Removed redundant checks for "unknown" in title and wmclass
- Streamlined cleanup to treat "unknown" as empty strings
- Always call format_app_name with update=True to sync service state
- Improves readability and reduces edge‑case bugs
Enhancements- Reorder imports for readability
- Expose WaylandWindow alias via explicit import
- Remove unused imports and consolidate utilities
Replace transparent background with theme variable and tidy up CSS.

- New Features
- Enhancements
    - Use `@bg` instead of `alpha(#fff, 0.07)`
    - Remove unused comment blocks
- Bug Fixes
    - Clean up duplicated CSS comments and whitespace
- delete gamemode.sh, hyprpicker.sh, and screen-capture.sh as they are no longer used
- cleanup of dead code simplifies project structure and reduces maintenance overhead
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.
Enhancements
- Deleted legacy Bluetooth icons (bluetooth-clear.svg, bluetooth-off.svg, bluetooth-off-clear.svg)
- Removed Wi‑Fi connecting icon (wifi-connecting.svg)
- Deleted default.png and modus.png placeholders
- Cleaned up unused screenshots and wallpaper images

New Features
- None

Bug Fixes
- None
Introduce helper functions to invoke the primary application and lock entry points, enhancing modularity and testability.

New Features
- run_app(): launches the main application.
- run_lock(): launches the lock module.

Enhancements
- Refactor start.py to isolate command execution logic.
S4NKALP added 13 commits April 10, 2026 17:13
- New Features: None
- Enhancements: None
- Bug Fixes: None
…re to reflect new config locations and removed outdated ignore patterns.

- New Features: Added tracking of config/ files and removed stale asset ignores.
- Enhancements: Regenerated uv.lock with updated dependency versions, including cffi and click.
- Bug Fixes: Eliminated ignore rules that could unintentionally exclude new project files.
- Corrected lock command reference from `uv run lock.py` to `uv run lock` to match the intended executable, fixing documentation error.
- New Features
  - Incremented project version to 0.2.0
- Enhancements
  - Fixed image reference to use src/assets/modus.png
  - Pinned pywayland to exact version 0.4.18
  - Added explicit version constraints for new dependencies
- Bug Fixes
  - None
… `colors.css` file that defined unused theme variables, reducing bundle size and eliminating stale style references.

- New Features: —
- Enhancements: removed unused color definitions
- Bug Fixes: —
…ring results

- Show applications when query is empty
- Schedule search via GLib timeout
- Improves UI responsiveness and correctness
…arsing

The updated regex now matches non‑numeric unit prefixes, and units are normalized before conversion, improving accuracy and preventing mismatches.

- Bug Fixes: Fixed incorrect unit detection that caused failed conversions.
- Enhancements: Added unit cleaning (`converter.clean_type`) to standardize input.
- New Features: None.
S4NKALP added 30 commits July 6, 2026 19:49
…ling, 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
…s and integrate into Notch

Add MicrophoneIndicator to monitor microphone presence and mute state, updating UI via show/hide callbacks.
…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.
Update TOTAL_STEPS to reflect new steps and add progress indicators for configuring global environment and .pam_environment.
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.
Add handler for fullscreen changes to automatically toggle panel visibility, improving user experience.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant