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" |
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 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" |
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) 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 |
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 |
Conclusion
plainControlCenter lets you edit all of this properties, but now you can edit config.json manually if you want.