Skip to main content Link Menu Expand (external link) Document Search Copy Copied


Introduction to config.json

config.json file is located at ~/.config/plainDE/config.json. This file creates automatically with first start of plainPanel by this script. It contains default configuration. config.json can be either edited manually, or by plainControlCenter. Next we will review all properties of config.json.

Property description

Name of property Type of value Acceptable value Description Default value
accent String HEX color starting with # Sets accent color. This is the color of QListWidget selected items, QPushButtons, etc "#376594"
useTriangularTabs Bool true/false Sets if App Menu tabs should have triangular form. true
autostart Array of string Array of desktop files (/usr/share/applications/*.desktop; ~/.local/share/applications/*.desktop) Sets list of apps that should start with plainPanel automatically Empty
background String Path to the background image Currently unused property Empty
configVersion String Version of plainDE Sets version to make possible updating config automatically if needed in newer versions. Should not be changed by user. Installed version of plainDE
countPanels Int 1 ~ 4 Says panel and control center how many panels should be processed. Should not be changed by user (deleted panels are null'ed, so there's no need to change this property). 4
dateFormat String d (1~31)
dd (01~31)
ddd (Mon~Sun)
M (1~12)
MM (01~12)
MMM (Jan~Dec)
yy (00~99)
yyyy (1970~9999)
Sets format of the date in datetime applet (if date is not hidden) "MMM d"
enableAnimation Bool true/false Sets if panel slide animation is required true
favApps Array of string Array of desktop files (/usr/share/applications/*.desktop; ~/.local/share/applications/*.desktop) Sets list of apps showed in 'Favorites' tab of App Menu applet Empty array
firstDayOfWeek Int 1 ~ 7 Sets first day of week in Calendar applet. See Qt::DayOfWeek. 1
fontFamily String Name of the preferred font Sets font family in plainPanel, plainControlCenter, plainAbout "Open Sans"
fontSize Int Point size of font Sets font size in plainPanel, plainControlCenter, plainAbout 10
iconTheme String Name of preferred icon pack Sets icons in plainPanel, plainControlCenter. Currently Mint-Y theme is recommended. We use some icons that present only there. Previously we used Adwaita as default, but with GNOME 42 update Adwaita completely stopped following specifications. Empty. This property needs to be set after plainDE installation.
ipIfname String Network interface name Sets network interface for using with Local IPv4 applet Empty
ipColor String HEX color starting with # Sets color that should be used for showing Local IPv4 address. It is separate from QSS because we use QGraphicsView for showing IP (lets us rotate applet - we use it in vertical panels). It does not support QSS text customization. #ffffff
kbLayoutToggle String Method that will be used for switching keyboard layouts Sets keyboard layout toggle method for setxkbmap. See all methods in /usr/share/plainDE/layoutSwitchMethods.json grp:win_space_toggle
kbLayouts String Keyboard layouts ISO codes separated by commas (,) Sets keyboard layouts list for setxkbmap. See all keyboard layouts in /usr/share/plainDE/layouts.json "us"
menuIcon String Path to preferrable PNG menu icon Sets custom icon for App Menu applet "/usr/share/plainDE/menuIcon.png"
menuText String Any string or empty string Sets custom text for App Menu applet. "Apps"
showDate Bool true/false Sets if date should be shown next to time true
theme String Preferred theme name (QSS) Sets preferred QSS theme name (see available themes at /usr/share/plainDE/styles/) "gradient-dark.qss"
timeFormat String h (0~23, 1~12)
hh (00~23, 01~12)
m (0~59)
mm (00~59)
s (0~59)
ss (00~59)
t (timezone)
Sets time format in datetime applet "h:mm AP"
useCountryFlag Bool true/false Sets is country flag should be shown instead of kayboard layout ISO code true

Panel property description

These properties should be inside of ‘panel1’ or ‘panel2’ property in config.json.

applets Array of string Array of applets (appmenu, datetime, kblayout, localipv4, battery, snitray, mpris, usermenu, volume, windowlist, workspaces, spacer, splitter, launcher:app.desktop)
// follow these links to view source code of every applet
Sets list of applets and their position Panel 1: ["appmenu", "spacer", "sni", "battery", "mpris", "volume", "kblayout", "datetime", "splitter", "usermenu"]

Panel 2: ["windowlist", "spacer", "localipv4", "workspaces"]
expand Bool true/false Sets if panel should be full width (using all width of screen) true
thickness Int 0 ~ 256 Sets thickness of panel (height for horizontal one, width for vertical one) in pixels 28
launcherIconSize Int 0 ~ 256 Sets size of launchers icons (height and width) in pixels 22
location String "top", "bottom", "left" or "right" Sets location of panel to top or bottom Panel 1: "top"

Panel 2: "bottom"
opacity Float 0.0 ~ 1.0 Sets opacity for panel and applets (you must have compositor for this to work!) 0.85
shift Int 0 ~ (screen width - panel width) Sets how many pixels the panel should be shifted. `expand` disables this option. 0


plainControlCenter lets you edit all of this properties, but now you can edit config.json manually if you want.