Skip to content

Improve desktop integration and Debian packaging#13

Merged
AghastyGD merged 7 commits into
mainfrom
feat/autostart-on-login
Jun 22, 2026
Merged

Improve desktop integration and Debian packaging#13
AghastyGD merged 7 commits into
mainfrom
feat/autostart-on-login

Conversation

@AghastyGD

@AghastyGD AghastyGD commented Jun 22, 2026

Copy link
Copy Markdown
Owner

Summary

This PR improves Wiretray's desktop integration and prepares the project for Debian-based installation.

The main goal is to make Wiretray behave more like a normal Linux desktop application: install it, open it from the application menu, keep the tray process running in the background, and optionally start it automatically on login.

What's included

Autostart on login

Adds an autostart option to the settings window.

When enabled, Wiretray creates an XDG autostart entry under:

~/.config/autostart/io.github.AghastyGD.Wiretray.desktop

This allows the tray/background process to start automatically after login.

Tray startup from settings

The settings application now starts the tray process automatically when needed.

This means users can open Wiretray from the application menu without manually running wiretray from the terminal.

Expected flow:

Open Wiretray from app menu
→ settings window opens
→ tray process starts if it is not already running

Single tray instance

Adds single-instance protection for the tray process.

This prevents multiple tray icons from being created when Wiretray is started from different places, such as autostart, the settings app, or the terminal.

Debian packaging

Adds Debian package support through cargo-deb.

The package installs the main binaries, desktop launcher, application icon, GSettings schema, README, and maintainer scripts needed to update desktop integration files during installation.

Development workflow

Adds a development script for running the settings application with the local GSettings schema.

The script also builds the tray binary first, avoiding cases where the settings app starts an outdated local tray binary during development.

Validation

Tested:

  • cargo fmt
  • cargo check
  • cargo clippy -- -D warnings
  • cargo deb
  • Local .deb installation
  • Launching Wiretray from the installed application menu entry
  • Starting the tray process from the settings app
  • Preventing duplicate tray instances
  • Enabling autostart from the settings UI
  • Logout/login autostart behavior

Notes

This PR does not add many visible hotspot features, but it improves how Wiretray behaves as a desktop application.

Users can now install it through a .deb, open it from the app menu, keep the tray process managed automatically, and enable startup on login without touching the terminal.

@AghastyGD AghastyGD self-assigned this Jun 22, 2026
@AghastyGD AghastyGD added the enhancement New feature or request label Jun 22, 2026
@AghastyGD AghastyGD changed the title Add autostart settings and Generate first .deb file Improve desktop integration and Debian packaging Jun 22, 2026
@AghastyGD
AghastyGD merged commit 7ca194c into main Jun 22, 2026
1 check passed
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