feat(globalmenu) #43

Merged
S4NKALP merged 28 commits from feat/globalmenu into macos 2026-07-28 15:35:19 +00:00
28 Commits
Author SHA1 Message Date
sankalp 056a8ace89 refactor(spotlight): replace custom SVGs with themed symbolic icons
Remove _ICON_SVG_MAP and _icon_to_svg. Use Gtk themed icons directly
via fabric Image widget with set_from_icon_name instead of loading
custom SVG files. Fixes crash when plugin icon SVG is missing.
2026-07-28 21:14:13 +05:45
sankalp f3bfb4ec12 chore(spotlight): add debug logging to clipboard plugin
Log query, history state, cliphist output stats, and filter results
to aid debugging prefix search issues.
2026-07-28 21:14:04 +05:45
sankalp 36158ffbbb fix(spotlight): return empty for unrelated caffeine queries
Add had_prefix flag so caffeine.search() returns [] for queries
without 'caffeine' or 'caff' prefix instead of always showing help.
Add debug logging.
2026-07-28 21:13:54 +05:45
sankalp 006a9dc97e chore: remove unused dns.svg icon 2026-07-28 13:43:14 +05:45
sankalp abf831e4ae docs: update documentation for reorganized config.toml
- Update configuration.md with new section-based format
- Update architecture.md with new config key paths
- Update faqs_tips.md with new config key paths
- Update README.md to mention config sections
2026-07-28 13:38:38 +05:45
sankalp f4689b8076 refactor(config): reorganize config.toml into sections
- Move all settings into [general], [dock], [panel], [switcher], [notification]
- Remove [desktop_widgets] section, move items to panel/general
- Add dot notation support to config service for nested keys
- Update all config references across codebase
2026-07-28 13:34:23 +05:45
sankalp 1d66b57ad7 feat(wifi): add DNS switcher to WiFi control center panel 2026-07-28 13:03:04 +05:45
sankalp b76ab78415 feat(wifi): add DNS switcher styles 2026-07-28 13:02:31 +05:45
sankalp f887a5c932 feat(wifi): export DNS service from services package 2026-07-28 13:02:22 +05:45
sankalp a6a34f6e69 feat(wifi): add DNS icon 2026-07-28 13:02:17 +05:45
sankalp 260e53aa47 feat(wifi): add DNS service with nmcli backend 2026-07-28 13:02:11 +05:45
sankalp 0a7cd2cf6d refactor(desktop): improve registry API and deduplicate fade animators
- Replace three synced dicts with single WidgetInfo dataclass
- Add type hints, unregister(), is_registered(), keys(), widgets()
- Add DEFAULT_SIZE constant, duplicate-registration warning
- Extract _make_fade_animator() to remove duplicated animator setup
- Use public registry API in main.py instead of accessing _widgets
2026-07-28 10:38:26 +05:45
sankalp 347e15af35 feat: update desktop widgets position 2026-07-28 10:25:35 +05:45
sankalp 34f9f71d62 feat: update date widget 2026-07-28 10:23:04 +05:45
sankalp 98640d82c2 feat: update position of desktop widgets 2026-07-28 10:08:02 +05:45
sankalp 1b4c319fdb style: format app-capture README code examples
Add blank lines between function definitions per PEP 8.
2026-07-28 10:01:18 +05:45
sankalp f0c0e27e82 chore: update dependencies
Downgrade tomlkit to 0.15.0, update certifi to 2026.7.22.
2026-07-28 10:00:55 +05:45
sankalp 88f7f2e125 style: format documentation code examples
Align comments in code examples for readability.
2026-07-28 10:00:41 +05:45
sankalp 3f66c5e55c style: add flat class to imac MenuButton
Ensures consistent styling with other panel buttons.
2026-07-28 10:00:31 +05:45
sankalp 64b4e922d9 docs: add divider option to mods.toml documentation
Document that divider = true can be added before an option to
insert a separator in dropdown menus.
2026-07-28 10:00:12 +05:45
sankalp 3e4bae1a98 perf: cache failed D-Bus introspection paths
Add _dead set to _IntrospectionCache to track paths that timeout.
Failed introspections are skipped on future lookups, reducing
timeout blocks from 300-500ms to near-zero.
2026-07-28 10:00:04 +05:45
sankalp 34de9da0d7 refactor: remove LuaHyprlandWorkspaces monkey patch
Fabric now handles Lua support natively via does_hyprland_support_lua().
Use HyprlandWorkspaces directly.
2026-07-28 10:00:00 +05:45
sankalp d6d736ac7f refactor: use Gtk.MenuButton for custom mods with dropdowns
Use plain Button for simple click-only mods, Gtk.MenuButton only
when dropdown options exist. Adds margin spacing between buttons.
2026-07-28 09:59:56 +05:45
sankalp 925971a258 refactor: rewrite globalmenu with menu factories and GtkMenu
Extract _create_system_menu and _create_title_menu factories.
Use ModusDropdown and dropdown_option for system menu.
Convert _build_gtk_menu_from_children to show_all.
Add _make_click_handler method, remove dead _has_extracted_menu.
Use logger.exception for all error logging.
2026-07-28 09:59:48 +05:45
sankalp 1ddde651dd style: update panel CSS for Gtk.MenuButton
Add #global-menu reset rules, hide indicator, and transparent
:active state for global menu and panel buttons.
2026-07-28 09:59:42 +05:45
sankalp efcf54a6d2 style: update dropdown CSS for native Gtk.Menu approach
Replace ID-based selectors with global menu/menuitem/separator
selectors matching fabric-shell's CSS strategy.
2026-07-28 09:59:38 +05:45
sankalp 8407c9685c refactor: rewrite ModusDropdown to use native Gtk.Menu
Replace layer-shell AppletWindow-based dropdown with Gtk.Menu approach.
Adds hide signal for button state reset, dropdown_option factory,
append/clear methods, and popup_at_widget/popup aliases.
2026-07-28 09:59:31 +05:45
sankalp 7fdeb7beba feat(globalmenu): update 2026-07-28 08:24:53 +05:45