Skip to content

Rewrite#30

Draft
S4NKALP wants to merge 462 commits into
macosfrom
dev
Draft

Rewrite#30
S4NKALP wants to merge 462 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
  • switcher with live preview
  • rewrite launcher with few builtin plugins(wallpaper switcher, application, emoji selector, clipboard and support user's own plugins
image

@S4NKALP

S4NKALP commented Jul 3, 2026

Copy link
Copy Markdown
Owner Author

rewrite launcher with this builtin plugins
wallpaper,applauncher,calculator,otp,clipboard,screencapture,googlelens plugins will add other too which will be usefu

S4NKALP added 11 commits July 4, 2026 06:21
Migrate launcher configuration from JSON to TOML format, add new `launcher.toml` and `mods.toml` files, remove `launcher.json`, and update project metadata in `pyproject.toml` to version 0.2.0.
…d Terminal

Add SVG assets for Google Lens, Color Picker, and Terminal icons to enhance UI.
… 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.
@S4NKALP

S4NKALP commented Jul 4, 2026

Copy link
Copy Markdown
Owner Author

moved to toml from json
now user can add their button on panel through mods example config/mods.toml

S4NKALP added 15 commits July 4, 2026 06:55
Add detailed configuration documentation in README, describing TOML files, their purpose, and usage. Update the TODO checklist to reflect completed items and remove outdated entries.
…acOS layout and remove legacy Apple seek bar
…Service stop function

Remove redundant import duplication, replace uuid with os.urandom, rename completion_rate to active, update property decorator, and clean up callback handling. Also removed unused stop_config_service function.
Add Mods.terminal configuration for terminal icons and actions, bump version in pyproject.toml, and update dependencies including fabric from a specific commit.
…r-box-c

Add semi-transparent background and outline styling to the outer player box
… implementations

These methods were relocated to central handling via _get_all_buttons and manage_button_style_classes, simplifying the class.
S4NKALP added 2 commits July 15, 2026 10:01
- Add ManagedTimer to replace repeated source_remove/timeout_add boilerplate
- Add EvdevLockService base class for numlock/capslock (cut 154→28 lines)
- Add BaseNotchIndicator for 5 near-identical indicator classes (cut 404→171 lines)
- Add load_pixbuf_thumbnail and resolve_monitor to utils
- Delete screencapture.py facade; callers use Screenshot/ScreenRecorder directly
…nu settings

- wallpapers_dir: read from config, fallback ~/Pictures/Wallpapers
- osd: skip show_audio_osd/show_brightness_osd when disabled
- window_switcher: skip show_switcher when disabled
- global_menu_cache_enabled: bypass GTK class cache when false
- global_menu_method: control discovery strategies (auto/hyprland/dbus)

All keys added to constants.py defaults, settings UI, and config.toml
@S4NKALP S4NKALP added enhancement New feature or request python Pull requests that update python code labels Jul 15, 2026
S4NKALP added 26 commits July 15, 2026 10:49
_on_entry_accept checked _active_plugin_entry before _current_results.
Keyword plugins (emoji, clipboard) are always active when prefix typed,
so on_submit (no-op base) swallowed Enter before result.action() fired.

Now results are checked first. on_submit only as fallback when no results.
…empty

on_entry_changed uses @debounce(300). When user presses Enter before
debounce fires, _current_results is empty so nothing activates.

Now on_entry_accept triggers an immediate search_single when active
plugin has no results, and activates the first result on callback.
Prevent crashes when result.action() raises exceptions and log warnings.
Removed three SettingsRow widgets that were no longer needed, cleaning up the UI configuration.
When control center hides, PlayerBox.suspend() blocks all signal
handlers. On resume(), clearing the flag wasn't enough — stale
state lingered until next fabricator poll (up to 5s). Now resume()
immediately syncs play/pause icon, metadata, and artwork.
… debug mode

- Remove transient NEED_AUTH/DISCONNECTED error paths from wifi connect
- Guard double-callback in connect_wifi_bssid/connect_wifi_with_password
- Shell-quote user paths in wallpaper, screenshot, screenrecorder services
- Fix OSD hide-timer use-after-free and applet_window stale source ID
- Fix brightness poll timer leak on read failure
- Fix spotlight search stale idle source removal
- Lock dbusmenu _cache mutation under _registry_lock
- Fix entry.revision written outside _registry_lock scope
- Add fabric-cli exec wrapper for lock screen (lock_screen.lock())
- Replace hyprlock with lock screen in power menu and dropdown
- Add debug mode toggle in settings (controls log verbosity)
- Add diagnostic logging to globalmenu click chain
…estroyed

The callback may execute after _on_notification_finished has fired, causing errors.
Add libcairo2-dev and pkg-config to the dependency-audit.yml workflow so that pycairo can be installed correctly on CI runners. This prevents the build error when installing Python packages that require the Cairo library.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant