Skip to content

Migrate tray integration to ksni and improve hotspot configuration#9

Merged
AghastyGD merged 3 commits into
mainfrom
refactor/migrate-tray-to-ksni
Jun 5, 2026
Merged

Migrate tray integration to ksni and improve hotspot configuration#9
AghastyGD merged 3 commits into
mainfrom
refactor/migrate-tray-to-ksni

Conversation

@AghastyGD

Copy link
Copy Markdown
Owner

Summary

This PR refactors a large part of the tray and configuration infrastructure.

The main goal is to improve desktop integration, simplify the async startup flow, and establish a more flexible foundation for user-configurable hotspot settings.

What's included

  • Migrate tray integration from tray-icon to ksni.
  • Remove the dependency on GTK and switch to gio for settings management.
  • Refactor tray event handling around async/await.
  • Replace HotspotStartRequest with the more general HotspotConfig model.
  • Load hotspot configuration from user settings instead of relying on hardcoded values.
  • Rename password to passphrase throughout the settings layer for consistency.
  • Simplify application startup by moving to #[tokio::main].

Notes

This is primarily an infrastructure and architecture PR.

While there are no major user-facing features, it lays the groundwork for upcoming work around hotspot configuration, settings management, and improved desktop integration.

The move to ksni also improves compatibility with Linux desktop environments that support the StatusNotifierItem specification.

- Replace tray-icon and gtk crates with ksni (StatusNotifierItem via D-Bus)
- Remove GTK event loop; use tokio::main directly
- Rename password to passphrase throughout (settings, schema, models)
- Unify HotspotStartRequest into HotspotConfig
@AghastyGD AghastyGD self-assigned this Jun 5, 2026
@AghastyGD AghastyGD added the enhancement New feature or request label Jun 5, 2026
@AghastyGD AghastyGD changed the title refactor: migrate tray from tray-icon/GTK3 to ksni Migrate tray integration to ksni and improve hotspot configuration Jun 5, 2026
AghastyGD added 2 commits June 5, 2026 12:48
- Replace tray-icon and gtk crates with ksni (StatusNotifierItem via D-Bus)
- Remove GTK event loop; use tokio::main directly
- Rename password to passphrase throughout (settings, schema, models)
- Unify HotspotStartRequest into HotspotConfig
@AghastyGD
AghastyGD merged commit b28e578 into main Jun 5, 2026
1 check passed
@AghastyGD
AghastyGD deleted the refactor/migrate-tray-to-ksni branch June 6, 2026 19:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant