Cleanup config initialization, add local config options

* Fix #5313, allow specifying local config path using environment variable and command line flag
* Add command line flag `--localconfig <path>` to specify a file path to use for the local configuration settings.
* Add environment variable support to set config files paths: `KPXC_CONFIG` and `KPXC_CONFIG_LOCAL` to override default locations.
* Reorder startup sequence to load specified config files earlier to allow for theme settings and other early options to be picked up.
* Removed old command line option `--pw`, no longer used.

* Attempt a fix of application not closing when last window is gone. Only set `QApplication::setQuitOnLastWindowClosed(true)` when tray icon is enabled instead of always.
This commit is contained in:
Jonathan White 2020-09-20 09:39:59 -04:00
parent 122051c91c
commit 9886b1075f
7 changed files with 125 additions and 69 deletions

View file

@ -48,4 +48,41 @@ image::compact_mode_comparison.png[]
=== Keyboard Shortcuts
include::KeyboardShortcuts.adoc[tag=content, leveloffset=+1]
// tag::advanced[]
=== Command-Line Options
You can use the following command line options to tailor the application to your preferences:
----
Usage: keepassxc.exe [options] [filename(s)]
KeePassXC - cross-platform password manager
Options:
-?, -h, --help Displays help on commandline options.
--help-all Displays help including Qt specific options.
-v, --version Displays version information.
--config <config> path to a custom config file
--localconfig <localconfig> path to a custom local config file
--keyfile <keyfile> key file of the database
--pw-stdin read password of the database from stdin
--debug-info Displays debugging information.
Arguments:
filename(s) filenames of the password databases to open (*.kdbx)
----
Additionally, the following environment variables may be useful when running the application:
[grid=rows, frame=none, width=75%]
|===
|Env Var | Description
|KPXC_CONFIG | Override default path to roaming configuration file
|KPXC_CONFIG_LOCAL | Override default path to local configuration file
|SSH_AUTH_SOCKET | Path of the unix file socket that the agent uses for communication with other processes (SSH Agent)
|QT_SCALE_FACTOR [numeric] | Defines a global scale factor for the whole application, including point-sized fonts.
|QT_SCREEN_SCALE_FACTORS [list] | Specifies scale factors for each screen. See https://doc.qt.io/qt-5/highdpi.html#high-dpi-support-in-qt
|QT_SCALE_FACTOR_ROUNDING_POLICY | Control device pixel ratio rounding to the nearest integer. See https://doc.qt.io/qt-5/highdpi.html#high-dpi-support-in-qt
|===
// end::advanced[]
// end::content[]