Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add option to launch KeePassXC at system startup #4675

Merged
merged 2 commits into from
May 6, 2020

Conversation

phoerious
Copy link
Member

@phoerious phoerious commented Apr 29, 2020

Adds autostart option on all platforms.

Works on all platforms, but macOS is a bit special. It doesn't show up in the user's login items, since we'd have to write a separate helper app for that whose only responsibility is to launch KeePassXC.

Fixes #1218

Testing strategy

.desktop file is created at correct location and settings widget responds to its presence. Windows works perfectly, macOS works okay-ish (not user editable, because we are not using the overly complicated Service Management Framework or the equally complicated and deprecated shared file list API).

Type of change

  • ✅ New feature (change that adds functionality)

@phoerious phoerious added this to the v2.6.0 milestone Apr 29, 2020
@phoerious phoerious requested a review from droidmonkey April 29, 2020 15:51
@phoerious phoerious marked this pull request as draft April 29, 2020 15:51
@phoerious phoerious force-pushed the feature/autostart branch 6 times, most recently from d14c9a9 to 1f9384b Compare April 29, 2020 18:38
@phoerious phoerious marked this pull request as ready for review April 29, 2020 18:39
@phoerious
Copy link
Member Author

Actually, now that I think about it, I should probably move all the helper functions to OSUtils and then we could also add the more complicated logic to add KeePassXC to the user's login items on macOS.

@droidmonkey
Copy link
Member

Good idea!

@phoerious phoerious force-pushed the feature/autostart branch 2 times, most recently from e65270f to c37f2dc Compare April 29, 2020 21:49
@phoerious
Copy link
Member Author

phoerious commented Apr 29, 2020

Done. Ready for re-review. There is a bug on macOS in the interaction between GUI state restoration and minimise on startup, but that is not connected to the changes in this PR.

When minimise at startup and minimise to tray are enabled, Qt will ignore the former if it was shut down with the window visible. In either case, the window geometry is not restored and the window appears at its default size (which is slightly too small to show the search bar).

@droidmonkey
Copy link
Member

Would be nice to be able to enable this on the windows installer. I'll take a look at that possibility.

@phoerious
Copy link
Member Author

Do you want to make a separate PR or do you want to add it to this one?

@droidmonkey
Copy link
Member

I'll add to this one

@phoerious phoerious force-pushed the feature/autostart branch from c37f2dc to 8154706 Compare May 2, 2020 20:40
@phoerious phoerious force-pushed the feature/autostart branch from 8154706 to 3b8c3c6 Compare May 3, 2020 11:38
* Include checkboxes to install a desktop shortcut (default no) and start on login (default yes)
* Fix closing KeePassXC.exe and keepassxc-proxy.exe before installation starts
* Improve styling of launch after exit checkbox
@droidmonkey
Copy link
Member

After much toiling I added this to the WiX installer as well!

image

Also fixed the visuals on the launch after exit checkbox

image

@phoerious phoerious merged commit 071cc85 into develop May 6, 2020
@phoerious phoerious deleted the feature/autostart branch May 6, 2020 08:44
droidmonkey added a commit that referenced this pull request Jul 7, 2020
Added

- Custom Light and Dark themes [#4110, #4769, #4791, #4796, #4892, #4915]
- Compact mode to use classic Group and Entry line height [#4910]
- View menu to quickly switch themes, compact mode, and toggle UI elements [#4910]
- Search for groups and scope search to matched groups [#4705]
- Save Database Backup feature [#4550]
- Sort entries by "natural order" and move lines up/down [#4357]
- Option to launch KeePassXC on system startup/login [#4675]
- Caps Lock warning on password input fields [#3646]
- Add "Size" column to entry view [#4588]
- Browser-like tab experience using Ctrl+[Num] (Alt+[Num] on Linux) [#4063, #4305]
- Password Generator: Define additional characters to choose from [#3876]
- Reports: Database password health check (offline) [#3993]
- Reports: HIBP online service to check for breached passwords [#4438]
- Auto-Type: DateTime placeholders [#4409]
- Browser: Show group name in results sent to browser extension [#4111]
- Browser: Ability to define a custom browser location (macOS and Linux only) [#4148]
- Browser: Ability to change root group UUID and inline edit connection ID [#4315, #4591]
- CLI: `db-info` command [#4231]
- CLI: Use wl-clipboard if xclip is not available (Linux) [#4323]
- CLI: Incorporate xclip into snap builds [#4697]
- SSH Agent: Key file path env substitution, SSH_AUTH_SOCK override, and connection test [#3769, #3801, #4545]
- SSH Agent: Context menu actions to add/remove keys [#4290]

Changed

- Complete replacement of default database icons [#4699]
- Complete replacement of application icons [#4066, #4161, #4203, #4411]
- Complete rewrite of documentation and manpages using Asciidoctor [#4937]
- Complete refactor of config files; separate between local and roaming [#4665]
- Complete refactor of browser integration and proxy code [#4680]
- Complete refactor of hardware key integration (YubiKey and OnlyKey) [#4584, #4843]
- Significantly improve performance when saving and opening databases [#4309, #4833]
- Remove read-only detection for database files [#4508]
- Overhaul of password fields and password generator [#4367]
- Replace instances of "Master Key" with "Database Credentials" [#4929]
- Change settings checkboxes to positive phrasing for consistency [#4715]
- Improve UX of using entry actions (focus fix) [#3893]
- Set expiration time to Now when enabling entry expiration [#4406]
- Always show "New Entry" in context menu [#4617]
- Issue warning before adding large attachments [#4651]
- Improve importing OPVault [#4630]
- Improve AutoOpen capability [#3901, #4752]
- Check for updates every 7 days even while still running [#4752]
- Improve Windows installer UI/UX [#4675]
- Improve config file handling of portable distribution [#4131, #4752]
- macOS: Hide dock icon when application is hidden to tray [#4782]
- Browser: Use unlock dialog to improve UX of opening a locked database [#3698]
- Browser: Improve database and entry settings experience [#4392, #4591]
- Browser: Improve confirm access dialog [#2143, #4660]
- KeeShare: Improve monitoring file changes of shares [#4720]
- CLI: Rename `create` command to `db-create` [#4231]
- CLI: Cleanup `db-create` options (`--set-key-file` and `--set-password`) [#4313]
- CLI: Use stderr for help text and password prompts [#4086, #4623]
- FdoSecrets: Display existing secret service process [#4128]

Fixed

- Fix changing focus around the main window using tab key [#4641]
- Fix search field clearing while still using the application [#4368]
- Improve search help widget displaying on macOS and Linux [#4236]
- Return keyboard focus after editing an entry [#4287]
- Reset database path after failed "Save As" [#4526]
- Use SHA256 Digest for Windows code signing [#4129]
- Improve handling of ccache when building [#4104, #4335]
- macOS: Properly re-hide application window after browser integration and Auto-Type usage [#4909]
- Auto-Type: Fix crash when performing on new entry [#4132]
- Browser: Send legacy HTTP settings to recycle bin [#4589]
- Browser: Fix merging browser keys [#4685]
- CLI: Fix encoding when exporting database [#3921]
- SSH Agent: Improve reliability and underlying code [#3833, #4256, #4549, #4595]
- FdoSecrets: Fix crash when editing settings before service is enabled [#4332]
@phoerious phoerious added pr: new feature Pull request that adds a new feature and removed new feature labels Nov 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add setting to start on login
2 participants