config.json

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"
avatar String Path to an image Sets a picture next to your username. If an option is empty, we use 'computer' icon. Empty
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
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
enableOveramplification Bool true/false Lets you increase volume over 100% (max is 150%). Note. Works only with PulseAudio adjustVolumeMethod. false
defaultVolume Int 0 ~ 150 Sets initial volume set after plainPanel startup. 40
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 freedesktop.org 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"
logInSound String Path to an audio file Sets path to an audio file that plays after logging in ""
logOutSound String Path to an audio file Sets path to an audio file that plays before logging out ""
menuIcon String Path to preferrable PNG menu icon Sets custom icon for App Menu applet "/usr/share/plainDE/menuIcon.png"
menuIconSize Int 0 ~ 256 Size of App Menu icon 16
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
winListIconSize Int 0 ~ 256 Sets size of icons in Window List applet 22
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)
AP (AM/PM)
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
volumeAdjustMethod String "ALSA" / "PulseAudio" Sets which method panel should use for adjusting volume "ALSA"
winListShowTitles Bool true/false Sets if window titles should be shown. true
showWeekNumbers Bool true/false Sets if week numbers should be shown in QCalendarWidget true
showDesktopNames Bool true/false Sets if workspace names should be shown instead of numbers false
secondsUntilPowerOff Int -1 ~ INT_MAX Sets timeout for shutdown, reboot and log out procedures. Value of -1 disables it (only manual confirmation) 30

Panel property description

These properties should be inside of panel1, panel2, panel3 or panel4 property in config.json.

applets Array of string Array of applets (appmenu, datetime, kblayout, localipv4, battery, snitray, mpris, usermenu, volume, windowlist, workspaces, spacer, launcher:app.desktop / launcher:/path/to/script:/path/to/icon:, clioutput:appletname splitter)
// 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"]
backgroundImage String Path to background image Sets background image of panel Empty
expand Bool true/false Sets if panel should be full width (using all width of screen) true
setOnCenter Bool true/false Sets if panel should be centered relatively screen. Works only if `expand` is turned off. false
thickness Int >= 0 Sets thickness of panel (height for horizontal one, width for vertical one) in pixels 28
enableAutoHide Bool true/false Sets if panel should automatically hide when mouse not in its area false
autoHideInterval Int 100 ~ 32000 Sets interval in ms for Auto-Hide feature. 100
launcherIconSize Int >= 0 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 Sets how many pixels the panel should be shifted. 0
spacing Int >= 0 Sets how many pixels should there be between applets. 0
margin Int >= 0 Sets how many pixels should be left on left and right sides (horizontal panel) or on top and bottom (vertical panel) 5
screen String Name of one of the screens Sets which monitor will be used for a panel Empty

Conclusion

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