Skip to content

Config reference

ffwff edited this page Feb 13, 2019 · 8 revisions

By default Q::Shell will look for a qshellrc config file in ~/.config.

Global

Q::Shell

  • Panels: a comma separated list of the Panels you defined
  • Stylesheet: relative path to stylesheet to load
  • WmManagePanels (default: true): the window manager should not handle panels (workaround for i3)
  • WmManageDialogs (default: true): the window manager should not handle dialogs (workaround for i3)

Q::Desktop

  • Background: absolute path to background to set
  • Visible (default: true): whether the desktop should be shown (workaround for i3)

Q::Dash

  • Width, Height: dimensions of Dash in percentage of screen width and height respectively.
  • SlidePosition: how the Dash should slide in (KWin only), specified in integer.
  • SearchBelow (default: false): whether the search box should appear below applications.
  • OffsetTop, OffsetLeft: absolute offset of Dash in pixels (subject to change).
  • WmManage: whether the window manager should manage the Dash (workaround for i3).

Panel

  • Type: must be Panel
  • Width, Height: dimensions of panel in percentage of screen dimensions (add px suffix to specify dimensions in pixels)
  • Position: position of layout in screen, specified in integer:
    • 0: Left
    • 1: Top
    • 2: Right
    • 3: Bottom
  • Direction: direction of panel layout, specified in integer:
    • 0: LeftToRight (default)
    • 1: RightToLeft
    • 2: TopToBottom
    • 3: BottomToTop
  • Transparent (default: false): whether panel should be transparent
  • DisplayShadow (default: true): whether panel should display shadow. (Displays below the panel and windows)
  • OffsetTop, OffsetLeft, OffsetRight, OffsetBottom: offset in screen in percentages (add px suffix to specify dimensions in pixels)
  • BorderRadius: rounds the corners of the panel by specified pixels.
  • Struts (default: true): whether the panel should be sticky when in contact with a window.
  • Widgets: comma separated list of widget names
    • stretch will always add a dynamically sized stretch widget to the panel
    • stretch=n will always add a dynamically sized stretch widget with ratio n to the panel
  • AlwaysTop (default: false): the panel should always be on top
  • AlwaysBottom (default: false): the panel should always be on bottom
  • StretchMask (default: false): mask out stretch widgets (NOTE: doesn't work with BorderRadius)

Widgets

A widget is defined in a section in your config file. All widgets must have a Type property and their names must be specified in the sections' header.

An icon can either be a native theme icon (by default) or a custom icon specified by absolute path.

WindowControl

A macOS/Unity-style window controls widget. Button controls will only be shown if windows is maximized.

  • Type: must be WindowControl
  • Controls (default: XMmt): button layout
    • X: close
    • M: maximize
    • m: minimize
    • t: name of window

Battery

Battery percentage (not tested).

  • Type: must be Battery

Systray

Systray implementation for StatusNotification standard (use xembedsniproxy to embed old xembed-style systray icons).

  • Type: must be Systray
  • Size: size of icons in pixels

Network

NetworkManager controls.

  • Type: must be Network
  • IconConnected, IconDisconnected: icon of button to display in specified network states.
  • Size: size of icon pin pixels

Volume

Pulseaudio volume controls.

  • Type: must be Volume
  • IconHigh, IconMedium, IconLow, IconMuted: icon of button to display in specified volume states.
  • Size: size of icon in pixels
  • ShowLabel: shows the current volume next to the icon

Date

  • Type: must be Volume
  • Format (default: hh:mm AP): datetime format (see QTime reference)

Logout

A button which shows you KDE's logout screen upon click.

  • Type: must be Systray
  • Size: size of icons in pixels
  • Icon: icon of button

DashButton

A button which activates the dash.

  • Type: must be DashButton
  • Icon: icon of button
  • Size: size of icons in pixels

Button

A user specified button.

  • Type: must be Button
  • Icon
  • Size: size of icon in pixels
  • Label: button's text
  • LabelScript (mutually exclusive with Label): path of script to run, the script's stdout will be used as button's text.
  • Interval: refresh rate for button's script.

Label

A user specified label

  • Type: must be Label
  • Fifo (default: false): Enables FiFo mode for label script. The label's script should write to stdout and flush the output by writing [flush] to stderr.
  • (see Button for more configuration values)

Label's text can also be specified in a subset of HTML. (See Qt's reference)

Tasks

A widget containing tasks.

  • Type: must be Tasks
  • Size: size of Task in pixels.
  • ByDesktop (default: false): whether to filter tasks by desktop
  • Direction: direction of tasks layout, specified in integer:
    • 0: LeftToRight (default)
    • 1: RightToLeft
    • 2: TopToBottom
    • 3: BottomToTop
  • Pinned: comma separated list of pinned tasks

Task

A task which belongs to a Tasks widget.

  • Type: must be Task
  • Command: command to run
  • Class: the X11 window class for the task (see the class part of the window's WM_CLASS property)
  • Icon
  • Size: size of icon in pixels

Trash

Dragging and dropping items onto the widget will move it to the trash.

Upon right click, the widget will open the trash (stored in ~/.local/share/Trash/files/)

Upon left click, the widget will reveal a context menu allowing the user to open or empty the trash.

  • Type: must be Trash
  • IconFull, IconEmpty: icon of button based on trash's states

Clone this wiki locally