*********************
*   Configuration   *
*********************

A PDF version of this document is also included for easier reading.

The configuration of the default Kvantum theme can be easily copied by using Kvantum Manager (click Save button on its third page) or, manually and if the source of Kvantum is available, by following these steps:

(1) Create the folder "~/.config/Kvantum/" (~ is your home);

(2) Create the file "kvantum.kvconfig" in the above folder with this line in it:

theme=DefaultCopy

Here, DefaultCopy could be any name you choose for the new configuration;

(3) Create the folder "~/.config/Kvantum/DefaultCopy/" and the file "DefaultCopy.kvconfig" inside it;

(4) Copy/paste the contents of "style/themeconfig/default.kvconfig" (from the source) to "DefaultCopy.kvconfig".

Now, you can change the values of variables (keys). Please note that deleting a variable often means that its value will be taken from the default configuration, so that you could keep only those sections or variables you want to change. See below for a more accurate explanation.

There are many sections and variables in the config file. That's intentional: unlike most theme engines, Kvantum is supposed to be able to control virtually all aspects of widgets. Here are the meanings of various sections:

=====================================================
Section                                      Meaning
=====================================================
[%General]                                   General info on the theme and
                                             some general variables. ("%" IS
                                             REQUIRED because Qt uses [General]
                                             for another purpose.)

[GeneralColors]                              The most important colors used
                                             by the theme.

[Hacks]                                      Hacks for specific apps or widgets.

[PanelButtonCommand]                         Panel for a button used to
                                             initiate an action, for
                                             example, a push button.

[PanelButtonTool]                            Panel for a tool button.


[Dock]                                       A dock widget.

[DockTitle]                                  The title of a dock widget.

[IndicatorSpinBox]                           Indicators of a spin widget.

[RadioButton]                                A radio button.

[CheckBox]                                   A check box.

[Focus]                                      Generic focus frame/rectangle.

[GenericFrame]                               Generic frame.

[LineEdit]                                   A line edit (one-line text editor).


[DropDownButton]                             Indicator for a drop down button,
                                             for example, a tool button that
                                             displays a menu

[ToolboxTab]                                 Just text colors for tab labels of
                                             a toolbox.


[Tab]                                        The tab shape within a tab bar.
                                             Also the tear indicator of a
                                             tab bar and the close button
                                             of a tab.

[TabFrame]                                   The frame for tab widgets.

[TabBarFrame]                                The frame that is drawn for a
                                             tab bar, ususally for a tab bar
                                             that isn't part of a tab widget.

[TreeExpander]                               Indicators used to represent the
                                             branch of a tree in a tree view.

[HeaderSection]                              A header section. Also its label
                                             and arrow.

[SizeGrip]                                   Window resize handle if it exists.

[Toolbar]                                    A toolbar. Also its handle and
                                             separator.

[ToolbarButton]                              Panel for a tool button on a toolbar.
                                             This section is optional and can be
                                             omitted. If present, it will take all
                                             of its variables from PanelButtonTool,
                                             except for its text colors, text
                                             shadow, and (indicator, frame and
                                             interior) elements.

[Scrollbar]                                  Scrollbar increase/decrease
                                             indicators (arrows).

[ScrollbarGroove]                            The groove of a scrollbar.

[ScrollbarSlider]                            A scrollbar slider.

[Slider]                                     A slider (a classic widget for
                                             controlling a bounded value).

[SliderCursor]                               The handle of a slider.

[Progressbar]                                The groove and label of a progressbar.

[ProgressbarContents]                        The progress indicator.

[ItemView]                                   An item in an item view.

[Splitter]                                   A splitter handle.

[Menu]                                       The panel and frame of a menu.
                                             Also its frame shadow.

[MenuItem]                                   A menu item in a menu. Also the
                                             tear-off section of a menu

[MenuBar]                                    The empty area of a menu bar.

[MenuBarItem]                                A menu bar item, like the buttons in
                                             a menubar.

[TitleBar]                                   A title bar, like those used in
                                             QMdiSubWindow.

[ComboBox]                                   A combo box and its label.

[GroupBox]                                   A group box and the frame around it.

[ToolTip]                                    The panel for a tooltip label.

[Window]                                     A window or dialog.

[WindowTranslucent]                          This is used when a distinction is
                                             needed to be made between (backgrounds
                                             of) opaque and translucent windows. If
                                             it is omitted, the above section will
                                             be used for all windows.

[Dialog]                                     This is used when a distinction is
                                             needed to be made between (backgrounds
                                             of) dialogs and windows. If it is
                                             omitted, the section "Window" will be
                                             used for both windows and dialogs.

                                             Here, "dialog" means any window without
                                             menubar and toolbar and not necessarily
                                             a QDialog.

[DialogTranslucent]                          Like "WindowTranslucent" but for dialogs.
=====================================================


The following table shows the variables (keys) you could change to configure the current theme -- without necessarily making a new one -- with the default values of some of them. These are the rules for the value inheritance:

(1) If a section (group) is not present in your configuration, its variables and their values will be taken from the default config file.

(2) If a variable is not present in a section of your configuration:
      (2a) First the "inherits" section will be searched for it and then, if nothing is found,
      (2b) its value will be taken from the same section of the default config file.

There are three exceptions to these rules:

Exception No.1: The "inherits" variable will not be taken from the default config file if it is not present in a section.

Exception No.2: If colors are omitted or not valid or if a section they could belong to is not present, they will be taken from the currently used color scheme. Also font boldness/italicity will be ignored if omitted.

Exception No.3: Any variable related to compositing or hacking and also "frame.expandedElement" will be ignored if omitted.


==============================================================
Variable                          Value               Meaning
==============================================================

                       ****************************
                       *** The %General Section ***
                       ****************************

author                            string              Obvious.

comment                           string              Obvious.

respect_DE                        true/false          Should some settings of the current
                                                      DE be respected? True by default.

                                                      KDE, Unity, Gnome and Pantheon are
                                                      supported. Under KDE, the keys
                                                      "small_icon_size", "large_icon_size" and
                                                      "double_click" are overridden by KDE
                                                      settings. Under Unity, Gnome and Pantheon,
                                                      "iconless_pushbutton" and "iconless_menu"
                                                      are set to true, "composite" is set to
                                                      false, and "x11drag" is set to
                                                      "menubar_and_primary_toolbar".

x11drag                           string              Drag windows from contents? Values:
                                                        none
                                                        menubar
                                                        menubar_and_primary_toolbar
                                                        all (default)

                                                      Boolean values are also supported:
                                                        true (the same as "all" -- default)
                                                        false (the same as "none")

                                                      "x11drag" is independent of X11 on wayland.

alt_mnemonic                      true/false          Show underlines when Alt is pressed?
                                                      True by default.

double_click                      true/false          Activate view items on double
                                                      clicking? They are activated on
                                                      single clicking by default but
                                                      the KDE setting has priority
                                                      over the default.

inline_spin_indicators            true/false          Draw spin indicators inside the spin
                                                      line-edit? By default, they are drawn
                                                      as buttons.

vertical_spin_indicators          true/false          Draw spin indicators vertically
                                                      and inside the spin line-edit?
                                                      By default, they are drawn on
                                                      adjacent buttons.

spin_button_width                integer              The width of horizontal spin buttons.
                                                      It is 16px by default and is always
                                                      between 16 and 32px.

combo_as_lineedit                true/false           Draw an editable combo box as a
                                                      line-edit with an arrow (and an icon
                                                      if any)? By default, editable combo
                                                      boxes consist of combo, line-edit and
                                                      drop down elements.

combo_menu                        true/false          Should the popup of combo boxes be
                                                      styled as per popup menus (i.e. like
                                                      Gtk)? By default, they are shown below
                                                      the combo box.

combo_focus_rect                  true/false          Should combo boxes have focus rectangles?
                                                      The default is false because combo boxes
                                                      are drawn by the "pressed" SVG elements
                                                      when they have the keyboard focus but, if
                                                      set to true, this key draws them with the
                                                      "normal" SVG elements and adds a focus
                                                      rectangle to them in that state. (The
                                                      focus rectangle is defined under the
                                                      "Focus" section.)

square_combo_button               true/false          Should the combo arrow buttons be square
                                                      as far as possible? The default is false
                                                      but if this key has a true value, editable
                                                      combo boxes will be drawn as line-edits
                                                      attached to square arrow buttons.

                                                      Note that this key will have no effect if
                                                      "combo_as_lineedit" is true because, in
                                                      that case, the whole editable combo box
                                                      will be drawn as a line-edit.

left_tabs                         true/false          Align tabs to the left edge?
                                                      Tabs are centered by default.

center_doc_tabs                   true/false          Always center tabs if the tab widget is
                                                      in the document mode and even when the
                                                      key "left_tabs" is true? False by default,
                                                      which means that tabs are aligned in the
                                                      document mode as in the usual mode.

attach_active_tab                 true/false          Attach the active tab to the tab widget
                                                      or the tab-bar base? It is detached
                                                      by default.

embedded_tabs                     true/false          If "attach_active_tab" is false, should
                                                      tabs be half embedded in their widgets
                                                      (provided that it is not in the document
                                                      mode)? This is false by default.

joined_inactive_tabs              true/false          Join inactive tabs together? They are
                                                      joined by default. Also, see
                                                      "Theme-Making.pdf" for tab separators.

mirror_doc_tabs                   true/false          By default, bottom and right tab shapes
                                                      are mirror images of top and left ones,
                                                      respectively. Setting this key to false
                                                      will change that behavior if the tab
                                                      widget is in the document mode or if
                                                      the active tab is detached (i.e. the
                                                      value of the key "attach_active_tab"
                                                      is false), so that the top/left and
                                                      bottom/right tab shapes will be identical.
                                                      The default value is true.

no_active_tab_separator           true/false          Do not draw tab separator for the active
                                                      tab? False by default, which means that,
                                                      if tab separators exist in the SVG image,
                                                      they will be drawn for all tabs.

                                                      See "Theme-Making.pdf" for an explanation
                                                      of tab separators.

active_tab_overlap                integer             Number of pixels inactive tabs overlap
                                  or                  the active one. It is zero by default.
                                  DECIMALfont         The active tab is drawn in front of its
                                                      adjacent inactive tabs when the value of
                                                      this key is positive.

                                                      It is safe to set a great value here.

                                                      The string "font" can be appended to the
                                                      value (without quotes and space), in
                                                      which case, the value will be multiplied
                                                      by the height of the app font (in px) and
                                                      could also be a decimal (as in
                                                      "active_tab_overlap=2.5font").

no_inactive_tab_expansion         true/false          If tabs have frame expansion, setting
                                                      this key to true will disable frame
                                                      expansion for inactive tabs.

tab_button_extra_margin           integer             The extra margin between the tab frame and
                                                      tab buttons (the close button, for example).
                                                      It is zero by default and its maximum is
                                                      the font height (because some apps may not
                                                      respect a greater value). Note that there is
                                                      a default minimum margin without this key.

                                                      The string "font" can be appended to the
                                                      value (without quotes and space), in
                                                      which case, the value will be multiplied
                                                      by the height of the app font (in px)
                                                      and could also be a decimal (as in
                                                      "min_height=0.25font").

bold_active_tab                   true/false          Should the active tab text be bold? By
                                                      default, the active tab text is like the
                                                      inactive one.

group_toolbar_buttons             true/false          Raise and group neighbor toolbar buttons?
                                                      By default, they are not raised.

toolbar_item_spacing              integer             The space between toolbar buttons. Zero
                                                      by default. It is also zero if the key
                                                      group_toolbar_buttons is set to true.

toolbar_interior_spacing          integer             The space around the interior of toolbars.
                                                      Zero by default.

center_toolbar_handle             true/false          If true, the SVG element for the
                                                      toolbar handle will be centered
                                                      and its size will be that of the
                                                      toolbar indicator. Otherwise, it
                                                      will be scaled vertically with an
                                                      8-px width. False by default.

slim_toolbars                     true/false          When true, the size of toolbar
                                                      icons will be 16px if it is not
                                                      set in the app. If false, the size
                                                      will be determined by the DE or
                                                      the app. False by default.
                                                      You could use "toolbar_icon_size"
                                                      instead of this key (see below).

toolbutton_style                  integer             Sets the toolbutton style when it
                                                      is not set by the app. 0: follow,
                                                      1: icon only, 2: text only,
                                                      3: text beside icon, and
                                                      4: text under icon. The toolbutton
                                                      style is 0 by default.

spread_progressbar                true/false          Spread progressbar's indicator
                                                      across its whole groove and not
                                                      just its interior? By default,
                                                      the indicator is drawn inside
                                                      progressbar's frame.

progressbar_thickness             integer             If positive, it sets the (maximum)
                                  or                  progressbar thickness as far as
                                  DECIMALfont         possible. It is zero by default,
                                                      which means there is no limit to
                                                      progressbar thickness.

                                                      Note 1: If it is positive but less
                                                      than the height of the progressbar
                                                      text, the text will be put above the
                                                      bar or, when there is not enough space
                                                      above the bar, in front of it.

                                                      Note 2: The string "font" can be appended
                                                      to the value (without quotes and space),
                                                      in which case, the value will be
                                                      multiplied by the height of the app font
                                                      (in px) and could also be a decimal (as
                                                      in "progressbar_thickness=2.5font").

menubar_mouse_tracking            true/false          Enable mouse tracking in menubars?
                                                      It is enabled by default.

merge_menubar_with_toolbar        true/false          Draw adjacent menu and tool bars
                                                      as a whole? If true, the toolbar
                                                      SVG interior and frame will be used
                                                      for drawing them.

composite                         true/false          Use compositing to have
                                                      translucent menus or tooltips?
                                                      It is automatically set to false
                                                      if no compositing is available.
                                                      Its absence also means false.

scrollable_menu                   true/false          Should (big) menus be scrollable and
                                                      have scroll arrows on their top and/or
                                                      bottom? False by default, which means
                                                      all menu-items are shown.

submenu_overlap                   integer             The horizontal overlap between a
                                                      submenu and its parent menu. The
                                                      default is 0. It cannot be greater than
                                                      16px.

menu_shadow_depth                 integer             The depth of the shadow menus cast.
                                                      A value of zero, its absence or a false
                                                      value for "composite" means no shadow.

                                                      Also, see "Theme-Making.pdf" ->
                                                      Translucency and Shadow for Menus and
                                                      Tooltips

tooltip_shadow_depth              integer             The depth of the shadow tooltips cast.
                                                      A value of zero, its absence or a false
                                                      value for "composite" means no shadow.

translucent_windows               true/false          Translucent windows and dialogs?
                                                      This requires a translucent SVG
                                                      element for windows or a positive value
                                                      for "reduce_window_opacity". A false
                                                      value, its absence or a false value for
                                                      "composite" means no translucency.

                                                      Window translucency is also disabled
                                                      automatically when there is neither a
                                                      "Window" nor a "WindowTranslucent"
                                                      section or the value of "interior" is
                                                      false for them and, at the same time,
                                                      "reduce_window_opacity" is zero.

reduce_window_opacity             integer             If "translucent_windows" is set to true,
                                                      this key will reduce the window opacity
                                                      by the percentage of its value regardless
                                                      of whether a translucent element for
                                                      window background exists in the SVG image
                                                      or not. The default value is 0 and the
                                                      maximum is 90.

opaque                            string list         A comma-separated list of
                                                      executables, whose apps should not
                                                      have window translucency. It has
                                                      meaning only if translucent_windows
                                                      is set to true.

blurring                          true/false          Blur the screen area behind
                                                      translucent windows in KDE? This
                                                      needs KDE blur effect and also a
                                                      graphic card that supports it. It
                                                      has no effect when "composite" or
                                                      "translucent_windows" is false.

popup_blurring                    true/false          Blur the regions behind translucent
                                                      menus and tooltips? This needs KDE
                                                      blur effect and a graphic card that
                                                      supports it. It will automatically
                                                      be set to true if blurring is true.

animate_states                    true/false          Animate the state change in some
                                                      widgets, especially when they are under
                                                      the mouse cursor? Widgets like buttons
                                                      may have normal, focused (hover),
                                                      pressed and toggled states. If this key
                                                      is set to true, there will be a 200-ms
                                                      fading animation on state change for
                                                      some widgets.

                                                      The default value is false. These
                                                      widgets are supported: all kinds of
                                                      buttons, combo boxes, line-edits and
                                                      scroll views. For buttons, the animation
                                                      happens only under the mouse cursor.

no_window_pattern                 true/false          Do not draw window/dialog tiling
                                                      patterns? The purpose of this key is
                                                      more flexibility with themes that
                                                      include tiling patterns for windows
                                                      and/or dialogs.

splitter_width                    integer             The width of splitter handles. It
                                                      cannot be greater than 32px and is
                                                      7px by default.

scroll_width                      integer             The thickness of scrollbars. It
                                                      cannot be greater than 32px. The
                                                      default value is 12px.

scroll_min_extent                 integer             The minimum height of a vertical
                                                      scrollbar slider and the minimum
                                                      width of a horizontal one. It cannot
                                                      be greater that 100px or less than
                                                      16px. The default value is 36px.

scroll_arrows                     true/false          Draw scrollbar add-line and sub-line
                                                      arrows? True by default. If set to
                                                      false, it will remove scroll arrows
                                                      as far as possible but some apps might
                                                      still force scroll arrows.

scrollbar_in_view                 true/false          Should scrollbars be inside the view
                                                      frame? It is false (outside) by default.

transient_scrollbar               true/false          Should scrollbars appear only when
                                                      needed and disappear when not needed?
                                                      False by default.

                                                      If this key is true, "scroll_arrows"
                                                      and "scrollbar_in_view" are considered
                                                      false, the SVG groove is not drawn,
                                                      scrollbars fade out when not needed,
                                                      and they usually take no extra space.

transient_groove                  true/false          Should transient scrollbars have
                                                      translucent backgrounds when needed?
                                                      False by default but if true, the base
                                                      color willbe used for painting the
                                                      background with 25% translucency.

tree_branch_line                  true/false          Draw tree branch lines? Ther are not
                                                      drawn by default.

groupbox_top_label                true/false          Draw the group-box label above the top
                                                      frame? It is false by default, which
                                                      means that the label is drawn ON the
                                                      top frame.

                                                      If the value of this key is false,
                                                      group boxes will not have interior or
                                                      frame expansion.

button_contents_shift             true/false          Shift the contents of push-buttons when
                                                      they are down? It is true by default.

slider_width                      integer             The width of sliders. It cannot be
                                                      greater than 48px and is 8px by default.

slider_handle_width
slider_handle_length              integer             The width and the height of slider
                                                      handles. They cannot be greater than
                                                      48px. The default values are 16px.


tickless_slider_handle_size       integer             The size (width and height) of the
                                                      special slider handle used for sliders
                                                      without tick marks, if the interior
                                                      element of such a handle exists in the
                                                      SVG file (with "-tickless" appended to
                                                      its element name; See "Theme-Making.pdf"
                                                       -> Indicators). Its value is never
                                                      greater than "slider_handle_width",
                                                      which is also its default value.

check_size                        integer             The width and height of checkboxes
                                                      and radio buttons. The default
                                                      value is 13px.

tooltip_delay                     integer             The delay, in milliseconds, before
                                                      a tooltip is shown. If set to zero,
                                                      tooltips will be shown instantly. If
                                                      missing or set to any negative integer,
                                                      the default behavior of Qt is used for
                                                      showing tooltips. (This key has NO
                                                      effect on Qt4 applications!)

submenu_delay                     integer             The delay, in milliseconds, before
                                                      opening a submenu. 250 by default.
                                                      -1 means opening submens only by
                                                      clicking, while 0 means showing them
                                                      immediately.

layout_spacing                    integer             Obvious. Its value is between 2 and 16
                                                      (px), and will have no effect if set in
                                                      the code of an app. It is 2 by default.

layout_margin                     integer             Obvious. Its value is between 2 and 16
                                                      (px), and will have no effect if set in
                                                      the code of an app. It is 4 by default.

small_icon_size
large_icon_size
button_icon_size
toolbar_icon_size                 integer             These affect menu-items/headers,
                                                      icon-views, buttons/tabbars/listviews
                                                      and toolbars respectively. KDE setting
                                                      will have priority over these values
                                                      if it exists.

fill_rubberband                   true/false          Always fill the rubber-band rectangle
                                                      with the highlight color? By default,
                                                      drop rectangles for movable toolbars
                                                      and dock widgets are hollow.

dark_titlebar                     true/false          Should a dark titlebar be requested
                                                      under Gtk desktops like Gnome? Although
                                                      the default is "false", it is good to
                                                      set this key to "true" for dark themes.

                       *********************************
                       *** The GeneralColors Section ***
                       *********************************

window.color                      string (#RRGGBBAA)  A general background color as
                                                      #RRGGBB or #RRGGBBAA or with a valid
                                                      name like white, black, red, etc.

inactive.window.color            string (#RRGGBBAA)   Background color of inactive windows.
                                                      If missing, it falls backs to
                                                      "window.color".

base.color                        string (#RRGGBBAA)  Used mostly as the background
                                                      color for text entry widgets.

inactive.base.color               string (#RRGGBBAA)  Background color of inactive
                                                      text entry widgets. If missing,
                                                      it falls backs to "base.color".

alt.base.color                    string (#RRGGBBAA)  Used as the alternate background
                                                      color in views with alternating
                                                      row colors.

button.color                      string (#RRGGBBAA)  The general button background
                                                      color.

light.color                       string (#RRGGBBAA)  Lighter than "button.color"
                                                      (used mostly for 3D bevels).

mid.light.color                   string (#RRGGBBAA)  Between "button.color" and
                                                      "light.color" (used mostly
                                                      for 3D bevels).

dark.color                        string (#RRGGBBAA)  Darker than "button.color"
                                                      (used mostly for 3D bevels).

mid.color                         string (#RRGGBBAA)  Between "button.color" and
                                                      "dark.color" (used mostly
                                                      for 3D bevels).

shadow.color                      string (#RRGGBBAA)  A very dark color. By default,
                                                      it is black. (used mostly for
                                                      3D bevels).

highlight.color                   string (#RRGGBBAA)  A color for text selection.

inactive.highlight.color          string (#RRGGBBAA)  Like "highlight.color" but when
                                                      the text widget does not have focus.

tooltip.base.color                string (#RRGGBBAA)  Tooltip background color (used in
                                                      "WhatsThis" tooltips).

text.color                        string (#RRGGBBAA)  The foreground color used with
                                                      "base.color".

inactive.text.color               string (#RRGGBBAA)  The inactive foreground color used
                                                      with "base.color". It falls back to
                                                      "text.color" if missing.

window.text.color                 string (#RRGGBBAA)  A general foreground color.

inactive.window.text.color        string (#RRGGBBAA)  A general foreground color for
                                                      inactive windows. It falls back
                                                      to "window.text.color" if missing.

button.text.color                 string (#RRGGBBAA)  Obvious.

disabled.text.color               string (#RRGGBBAA)  Obvious.

tooltip.text.color                string (#RRGGBBAA)  Obvious.

highlight.text.color              string (#RRGGBBAA)  The color of selected text.

inactive.highlight.text.color     string (#RRGGBBAA)  The color of inactive selected text.
                                                      If missing, it falls back to
                                                      "highlight.text.color".

link.color                        string (#RRGGBBAA)  Obvious.

link.visited.color                string (#RRGGBBAA)  Obvious.

progress.indicator.text.color     string (#RRGGBBAA)  The color of that part of the progress
                                                      text, which is inside the progress
                                                      indicator. Useful when the progress
                                                      text does not have enough contrast
                                                      with the progress indicator.

progress.inactive.indicator.text.color
                                  string (#RRGGBBAA)  like "progress.indicator.text.color"
                                                      but for inactive progress bars.

                          *************************
                          *** The Hacks Section ***
                          *************************

transparent_dolphin_view          true/false          No background or frame for
                                                      Dolphin's view (Dolphin is the
                                                      file manager of KDE)?

transparent_pcmanfm_sidepane      true/false          No background or frame for
                                                      PCManFM-Qt's side-pane (PCManFM-Qt
                                                      is the file manager of LXQt)?

transparent_pcmanfm_view          true/false          No background or frame for
                                                      PCManFM-Qt's folder-view?

blur_konsole                      true/false          Blur the region behind Konsole's
                                                      transparent background if possible?

transparent_ktitle_label          true/false          No background for the label of
                                                      KtitleWidget (a KDE widget with
                                                      a heading label)?

transparent_menutitle             true/false          No background for (KDE) menu titles?

kcapacitybar_as_progressbar       true/false          Draw KCapacityBar as progressbar?
                                                      KCapacityBar has its hard-coded
                                                      style by default.

respect_darkness                  true/false          Some apps don't respect dark themes.
                                                      Fix that as far as possible?

force_size_grip                   true/false          Show the size grips of dialogs and
                                                      statusbars as far as possible?

tint_on_mouseover                 integer             Tint the label icons with the highlight
                                                      color on mouseover by this percentage?
                                                      This will not work if the containing
                                                      widget is not styled by Kvantum.

no_selection_tint                 true/false          Do not tint selected label icons with
                                                      the highlight color! False by default.

disabled_icon_opacity             integer             Set the opacity of disabled icons by
                                                      this percentage? It is useful with
                                                      monochrome icons and when the opacity
                                                      of disabled icons is not reduced by
                                                      other means.

normal_default_pushbutton         true/false          No bold font for default push buttons?

iconless_pushbutton               true/false          No icon for push buttons that have text?

transparent_arrow_button          true/false          Should tool buttons be transparent
                                                      (without a panel) when they contain only
                                                      an arrow?

iconless_menu                     true/false          No icon for menus?

single_top_toolbar                true/false          Style only the top toolbar? If true,
                                                      only the top horizontal toolbar, which
                                                      is immediately below the menubar or at
                                                      the top of the main window, will be
                                                      styled. By default, all toolbars are
                                                      styled, of course.

middle_click_scroll               true/false          Should the scroll slider jump to a
                                                      position when the scrollbar is middle
                                                      clicked? The default is false and the
                                                      jump is done by a left click.

                           **********************
                           *** Other Sections ***
                           **********************

inherits                          string              The name of a secion (in the same config
                                                      file and without brackets) whose
                                                      configuration is also used for this one.

frame                             true/false          Draw a frame around the widget?

frame.top
frame.bottom
frame.left
frame.right                       integer             The height or width of the corresponding
                                                      frame part if there is any.

                                                      These values are mostly respected but
                                                      there are two exceptions: (1) Where there
                                                      is not enough space (because of a bad GUI
                                                      design); and (2) A few widgets may not
                                                      accept the exact values -- for example,
                                                      toolbars use the maximum value in all
                                                      directions.

frame.expanded.top
frame.expanded.bottom
frame.expanded.left
frame.expanded.right              integer             The same as above but for expanded frames
                                                      (see "frame.expansion" below).
                                                      If they are set to zero, missing or
                                                      greater than their corresponding ordinary
                                                      frame sizes, the ordinary frame sizes
                                                      will be used for expanded frames.

frame.expansion                   integer             A positive value (in px) will expand the
                                  or                  frames until the corner frames meet
                                  DECIMALfont         each other either vertically or
                                                      horizontally, provided that at least
                                                      the height or the width of the widget
                                                      is not greater than it. With appropriate
                                                      SVG images, this key can be used for
                                                      making corners completely rounded. Its
                                                      value is zero by default. Read the file
                                                      "Theme-Making.pdf" for more explanation.

                                                      The string "font" can be appended to the
                                                      value (without quotes and space), in
                                                      which case, the value will be multiplied
                                                      by the height of the app font (in px) and
                                                      could also be a decimal (as in
                                                      "frame.expansion=2.8font").

frame.patternsize                 integer             The frame pattern size. Used for tiling
                                                      the frame of a widget with a pattern. A
                                                      value of zero means no pattern (default).
                                                      Mostly useful for making dotted frames.

focusFrame                       true/false           Draw a focus frame when the widget has
                                                      the keyboard focus? This replaces the
                                                      generic focus frame/rectangle (see Focus
                                                      section) for button like widgets, tabs,
                                                      group boxes and sliders. If it is true,
                                                      the element name that is used for drawing
                                                      the focus frame will be "frame.element"
                                                      (see below) plus the string "-focus". All
                                                      sizes will be those of the usual frame.

                                                      This key will be ignored if there is no
                                                      frame and is false by default. Also, note
                                                      that a focus frame can be expanded like
                                                      an ordinary frame when "frame.expansion"
                                                      is positive.

interior                          true/false          Draw an interior for the widget?

interior.x.patternsize
interior.y.patternsize            integer             The interior pattern sizes. Used for
                                                      tiling the interior of a widget with
                                                      a pattern. A value of zero means no
                                                      tiling in the corresponding direction.
                                                      Their absence also means no pattern.
                                                      Some widget types may never accept
                                                      patterns.

focusInterior                     true/false          Draw a focus interior when the widget
                                                      has the keyboard focus? If it is true,
                                                      the element name that is used for
                                                      drawing the focus interior will be
                                                      "interior.element" (see below) plus
                                                      the string "-focus".

                                                      This key will be ignored if "focusFrame"
                                                      is false or there is no interior or frame
                                                      and is false by default.

indicator.size                    integer             Some widgets, like scrollbar arrows,
                                                      have indicators. This is their size.

text.margin                       true/false          Put a margin around the text
                                                      for widgets that have text?

text.margin.top
text.margin.bottom
text.margin.left
text.margin.right                 integer             The sizes of the text margins
                                                      if there is any.

                                                      These values are mostly respected but
                                                      not if there is a lack of space because
                                                      of a bad GUI design.

text.normal.color                 string (#RRGGBBAA)  The color of the normal text as
                                                      #RRGGBB or #RRGGBBAA or with a valid
                                                      name like white, black, red, etc. It may
                                                      override the text colors defined under
                                                      the section "GeneralColors".

                                                      Note 1: "MenuBarItem" always gets its normal
                                                      text color from the "MenuBar" section or, if
                                                      menubar and toolbar are merged (see the key
                                                      "merge_menubar_with_toolbar"), from the
                                                      "Toolbar" section.

                                                      Note 2: State-specific text colors do not
                                                      have meaning for Window, Dialog, Dock,
                                                      LineEdit and frame widgets (namely
                                                      GenericFrame, TabFrame and TabBarFrame).

text.focus.color                  string (#RRGGBBAA)  The color of the focused/hover text.

                                                      Note: For "MenuBarItem", it serves as a
                                                      fallback color in case the press or toggle
                                                      text colors are not set.

text.press.color                  string (#RRGGBBAA)  The color of the pressed text.

text.toggle.color                 string (#RRGGBBAA)  The color of the toggled text.

text.normal.inactive.color
text.focus.inactive.color
text.press.inactive.color
text.toggle.inactive.color        string (#RRGGBBAA)  These keys are for text colors of inactive
                                                      widgets and fall back to their
                                                      corresponding ordinary keys if missing.

text.bold                         true/false          Bold font for text? The font
                                                      is not bold by default.

text.boldness                     integer             The weight of bold texts (if any). Its value
                                                      is from 1 to 5, with 3 (normally bold) as
                                                      default.

                                                      Note that some fonts may have only one
                                                      degree of boldness.

text.italic                       true/false          Italic font for text? The font
                                                      is not italic by default.

text.shadow                       true/false          Draw a shadow for the text?

text.shadow.xshift
text.shadow.yshift                integer             The vertical/horizontal shifts
                                                      of the text shadow if it exists.

text.shadow.color                 string (#RRGGBBAA)  The color of the text shadow as
                                                      #RRGGBB or #RRGGBBAA or with a valid
                                                      name like white, black, red, etc.

text.inactive.shadow.color        string (#RRGGBBAA)  Like "text.shadow.color" and falling back
                                                      to it if missing but for inactive widgets.

text.shadow.alpha                 integer (0-255)     The opacity of the text shadow. 255
                                                      means completely opaque. If the alpha
                                                      is set in #RRGGBBAA as the shadow color
                                                      name, this key can be left to 255 (its
                                                      default value).

text.shadow.depth                 integer             The text shadow depth.

min_width
min_height                        integer             Minimum width or height (in px). They
                                  or                  have meaning only for menuitems, menubar
                                  DECIMALfont         items, push and tool buttons, tabs,
                                                      line-edits, combo boxes, spin boxes
                                                      (only for their height) and, sometimes,
                                                      view items (only for their height).

                                                      The string "font" can be appended to the
                                                      value (without quotes and space), in
                                                      which case, the value will be multiplied
                                                      by the height of the app font (in px)
                                                      and could also be a decimal (as in
                                                      "min_height=2.3font").

                                                      If "+" is prepended to the value (without
                                                      quotes and space), the value will be
                                                      added to the width/height of the widget,
                                                      instead of being considered as the
                                                      minimum. For example, "min_width=+0.5font"
                                                      adds half the font height to the widget
                                                      width. Please do not mistake "+" for a
                                                      positive value here; the values are
                                                      always considered to be nonnegative.
=============================================================


If you want to make your own theme (see the file "Theme-Making"), you'll also need to know the meanings of these variables:


=============================================================
Variable                Value                Meaning
=============================================================
interior.element               string                The SVG element to be used for
                                                     drawing the interior of a widget.

frame.element                  string                The SVG element to be used for
                                                     drawing the frame of a widget.

frame.expandedElement          string                The optional SVG element to be used
                                                     only for drawing the expanded frame.
                                                     If not present, "frame.element"
                                                     will be used for expanded frames too.
                                                     See "frame.expansion"!

indicator.element              string                The SVG element to be used for
                                                     drawing the indicator of a widget.
=============================================================


Application Themes
==================
Specific Themes can be assigned to applications, so that those applications use their corresponding themes instead of the active theme. This can be done easily by using the last page of Kvantum Manager (Application Themes) or manually, by adding app lists (executable names) to '~/.config/Kvantum/kvantum.kvconfig' with the following format:

[General]
theme=ACTIVE_THEME

[Applications]
THEME1=app1, app2
THEME2=app3
...


Some Examples
=============

If you don’t want menus and tooltips to be translucent or cast shadow and want the color scheme to be used for all texts, you could use a blank configuration or a very basic one with just this in it:

[%General]

You could also be more explicit:

[%General]
composite=false

[PanelButtonCommand]
text.normal.color=none
text.focus.color=none
text.press.color=none
text.toggle.color=none

Here "none" is not a valid color, so text colors will be taken from the currently used color scheme.

If you want to have bigger buttons without increasing your font sizes, you could use this:

[%General]
composite=true
menu_shadow_depth=6
tooltip_shadow_depth=6

[PanelButtonCommand]
text.normal.color=white
text.focus.color=#80C0FF
text.press.color=#white
text.toggle.color=#white
text.margin.top=4
text.margin.bottom=4
text.margin.left=5
text.margin.right=5

[PanelButtonTool]
inherits=PanelButtonCommand

To have black text shadows with light green focused text, use this (black text shadows are already defined but disabled in the default config file):

[%General]
composite=true
menu_shadow_depth=6
tooltip_shadow_depth=6

[PanelButtonCommand]
text.normal.color=white
text.focus.color=lightgreen
text.press.color=white
text.toggle.color=white
text.shadow=true

Note that, in the two examples above, the compositing values and normal/focused text colors are also added because otherwise, they would be disabled (see the exceptions above). In the previous example, customized text colors were disabled for all widgets other than push-buttons because there were no sections for them. If you want them back, you could add sections like these:

[PanelButtonTool]
inherits=PanelButtonCommand

[Tab]
inherits=PanelButtonCommand

[MenuItem]
inherits=PanelButtonCommand

And so on.
