= KeePassXC – Database Operations
include::.sharedheader[]
:imagesdir: ../images

// tag::content[]
== Interface Overview
=== Application Layout
The KeePassXC interface is designed for simplicity and easy access to your information. The main database view is split into four main partitions detailed below. You can open multiple databases at the same time, they will appear in tabs.

.Main database interface
image::main_interface.png[]

*(A) Groups* – Organize your entries into discrete groups to bring order to all of your sensitive information. Groups can be nested under each other to create a hierarchy. Settings from parent groups get applied to their children. You can hide this panel on the View menu.

*(B) Searches and Tags* – Dynamic groups of entries that can be quickly displayed with one click. Any number of custom tags can be added when editing an entry. This panel also includes useful pre-defined and custom saved searches, such as finding expired and weak passwords.

*\(C) Entries* – Entries contain all the information for a website or application you are storing in KeePassXC. This view shows all the entries in the selected group. Each column can be resized, reordered, and shown or hidden based on your preference. Right-click the header row to see all available options.

*(D) Preview* – Shows a preview of the selected group or entry. You can interact with most information stored in an entry from here without opening the entry for editing. You can temporarily hide this preview using the down-arrow button on the right hand side or completely disable it from the View menu.

[TIP]
====
Starting with version 2.7.0, double-click copying of entry usernames and passwords is disabled by default.

To enable it:

. Open *KeePassXC*, and navigate to *Tools* → *Settings*.
. In the left sidebar, select *General*.
. Under *Entry Management*, check the box for _"Copy data on double clicking field in entry view"_.
====

=== Toolbar
The toolbar provides a quick way to perform common tasks with your database. Some entries in the toolbar are dynamically disabled based on the information contained in the selected entry. Every common action in KeePassXC can be controlled with a keyboard shortcut as well.

.Toolbar overview
image::toolbar.png[]

*(A) Database* – Open Database, Save Database, Lock Database +
*(B) Entries* – Create Entry, Edit Entry, Delete Selected Entries +
*\(C) Entry Data* – Copy Username, Copy Password, Copy URL, Perform Auto-Type +
*(D) Tools* – Database Settings, Reports, Password Generator, Application Settings +
*(E) Search*

=== Screenshot Security
By default, KeePassXC prevents recordings and screenshots of the application window on Windows and macOS. This prevents inadvertent spillage of information during meetings and disallows other applications to capture the window contents. If you would like to enable screen capture temporarily, navigate to _View_ menu and select _Allow Screen Capture_. Alternatively, you can start the application with the `--allow-screencapture` command line flag.


=== View Options
You can customize the appearance of KeePassXC to your liking. The following options are available in the _View_ menu:

==== Themes
KeePassXC ships with light and dark themes specifically designed to meet accessibility standards. In most cases, the appropriate theme for your system will be determined automatically, but you can always set a specific theme by using the _View_ menu. When a new theme is selected you will be prompted to restart KeePassXC to apply the theme immediately.

.Setting the theme
image::theme_selection.png[]

==== Compact Mode
For users with smaller screens or those who desire seeing more entries at once, KeePassXC offers a compact view mode. This mode shows smaller toolbar, group, and entry icons. The effect of compact mode (left side) can be seen below.

.Compact mode comparison
image::compact_mode_comparison.png[]

=== Application Settings
Users can configure KeePassXC to their personal tastes with a wide variety of general and security settings that apply to the whole application. These settings are accessible from _Tools_ -> _Settings_ or the cog wheel icon from the toolbar. Settings include: startup options, file management, entry management, user interface, language, security controls, and integration settings (Auto-Type, Browser, etc).

=== 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
  --lock                       lock all open databases
  --keyfile <keyfile>          key file of the database
  --pw-stdin                   read password of the database from stdin
  --debug-info                 Displays debugging information.
  --allow-screencapture        Allow screen recording and screenshots

Arguments:
  filename(s)                  filenames of the password databases to open (*.kdbx)
----

=== Environment Variables
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
|KPXC_INITIAL_DIR               | Override initial location picking for databases
|SSH_AUTH_SOCK                  | 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
|===

=== Installer Options
The following options can be set when running the Windows Installer MSI in an unattended installation:

* *LAUNCHAPPONEXIT* – Launch KeePassXC after install (default ON)
* *AUTOSTARTPROGRAM* – KeePassXC will auto-start on login (default ON)
* *INSTALLDESKTOPSHORTCUT* – A desktop icon will be installed (default OFF)

Example: `msiexec.exe /q /i KeePassXC-Y.Y.Y-WinZZ.msi AUTOSTARTPROGRAM=0`

== Command Line Tool
KeePassXC comes with the command line tool *keepassxc-cli* to access, view, and manipulate your database directly from a terminal window. The tool is documented through a separate man page, which can be shown using `man keepassxc-cli`, or through the on-demand help using `keepassxc-cli [command] -h`. An online version of the man page is https://github.com/keepassxreboot/keepassxc/blob/latest/docs/man/keepassxc-cli.1.adoc[available on GitHub].
// end::advanced[]
// end::content[]
