140 lines
7.0 KiB
XML
140 lines
7.0 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
Plasma Gnome Pager — configuration schema (KConfigXT)
|
|
|
|
SPDX-FileCopyrightText: 2026 Kenan Salar
|
|
SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
Each <entry name="X"> becomes plasmoid.configuration.X, read live in main.qml (with a `?? <default>`
|
|
guard) and passed down as a plain value. Three keys use a `0 = auto` sentinel — their natural default is
|
|
theme/HiDPI-derived, which a fixed KConfigXT literal can't hold, so it's resolved in the widget: dotSize,
|
|
pillSize (→ match the dots), animationDuration (→ Kirigami.Units.longDuration). See CLAUDE.md "Config flow".
|
|
-->
|
|
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
|
|
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
|
|
<kcfgfile name=""/>
|
|
|
|
<group name="General">
|
|
<!-- Scroll over the strip to switch desktops. -->
|
|
<entry name="enableScroll" type="Bool">
|
|
<default>true</default>
|
|
</entry>
|
|
<!-- When scrolling past the first/last desktop, wrap around (else clamp). -->
|
|
<entry name="scrollWrap" type="Bool">
|
|
<default>false</default>
|
|
</entry>
|
|
<!-- Invert the scroll direction (wheel up → next desktop instead of previous). -->
|
|
<entry name="invertScroll" type="Bool">
|
|
<default>false</default>
|
|
</entry>
|
|
<!-- What clicking the ALREADY-CURRENT desktop does. Index mirrors Logic.PILL_CLICK_ACTION + the combo
|
|
order: 0 = None, 1 = Show Desktop, 2 = Overview, 3 = Grid. Clicking an inactive dot still switches. -->
|
|
<entry name="pillClickAction" type="Int">
|
|
<default>0</default>
|
|
</entry>
|
|
<!-- Show the desktop name in a tooltip on hover. -->
|
|
<entry name="showTooltips" type="Bool">
|
|
<default>true</default>
|
|
</entry>
|
|
<!-- Also list the windows open on a desktop in its tooltip (needs showTooltips). -->
|
|
<entry name="showWindowList" type="Bool">
|
|
<default>true</default>
|
|
</entry>
|
|
<!-- Offer Add/Remove desktop entries in the right-click menu. -->
|
|
<entry name="enableAddRemove" type="Bool">
|
|
<default>true</default>
|
|
</entry>
|
|
<!-- Offer a "Rename Current Desktop…" entry in the right-click menu. -->
|
|
<entry name="enableRename" type="Bool">
|
|
<default>true</default>
|
|
</entry>
|
|
<!-- GNOME-style dynamic workspaces: auto-keep exactly one empty trailing desktop. -->
|
|
<entry name="dynamicWorkspaces" type="Bool">
|
|
<default>false</default>
|
|
</entry>
|
|
<!-- Base name for auto-created desktops ("<prefix> N"); empty = the localized default "Desktop". -->
|
|
<entry name="dynamicNamePrefix" type="String">
|
|
<default></default>
|
|
</entry>
|
|
<!-- Morph animation length in ms; 0 = follow the theme (Kirigami.Units.longDuration). -->
|
|
<entry name="animationDuration" type="Int">
|
|
<default>0</default>
|
|
</entry>
|
|
</group>
|
|
|
|
<group name="Appearance">
|
|
<!-- Overall pager look. Index mirrors Logic.DOT_STYLE + the combo order:
|
|
0 = Sliding pill (GNOME reflow), 1 = Filled & ring (no pill; current = filled dot, others = hollow rings). -->
|
|
<entry name="dotStyle" type="Int">
|
|
<default>0</default>
|
|
</entry>
|
|
<!-- Ignore KWin's virtual-desktop grid rows and lay every desktop out in ONE line. Off = honour the grid
|
|
(mirror "Rows" from System Settings). Orthogonal to matchDesktopGrid (which sets the direction): single
|
|
line alone is a vertical strip on a vertical panel; single line + matchDesktopGrid is one horizontal row. -->
|
|
<entry name="singleLine" type="Bool">
|
|
<default>false</default>
|
|
</entry>
|
|
<!-- Vertical panels: run the layout ACROSS the panel instead of down it — for a multi-row grid this mirrors
|
|
KWin's orientation (rows top-to-bottom); with singleLine it makes the one line horizontal. Off = the
|
|
GNOME-reflow look (run down the panel). No effect on a horizontal panel (already runs across). -->
|
|
<entry name="matchDesktopGrid" type="Bool">
|
|
<default>false</default>
|
|
</entry>
|
|
<!-- Inactive-dot diameter in px; 0 = auto (Kirigami.Units.iconSizes.small / 2, HiDPI-aware). -->
|
|
<entry name="dotSize" type="Int">
|
|
<default>0</default>
|
|
</entry>
|
|
<!-- Active-pill thickness in px; 0 = auto (match the dot size). Sized independently of the dots. -->
|
|
<entry name="pillSize" type="Int">
|
|
<default>0</default>
|
|
</entry>
|
|
<!-- Uniform gap between elements, as a multiple of the dot size (GNOME-tight at 0.5). -->
|
|
<entry name="spacingFactor" type="Double">
|
|
<default>0.5</default>
|
|
</entry>
|
|
<!-- Active-capsule length, as a multiple of the pill thickness (its aspect ratio). -->
|
|
<entry name="pillWidthFactor" type="Double">
|
|
<default>3.5</default>
|
|
</entry>
|
|
<!-- Opacity of an inactive (dim) dot. -->
|
|
<entry name="inactiveOpacity" type="Double">
|
|
<default>0.45</default>
|
|
</entry>
|
|
<!-- Opacity an inactive dot brightens to on hover. -->
|
|
<entry name="hoverOpacity" type="Double">
|
|
<default>0.8</default>
|
|
</entry>
|
|
<!-- Brighten the dots of desktops that hold windows (occupied), so they stand out from empty ones. -->
|
|
<entry name="showOccupancy" type="Bool">
|
|
<default>false</default>
|
|
</entry>
|
|
<!-- Opacity of the occupied marker (every occupancyStyle uses it; only when showOccupancy is on). -->
|
|
<entry name="occupiedOpacity" type="Double">
|
|
<default>0.7</default>
|
|
</entry>
|
|
<!-- How an occupied dot is marked (showOccupancy on). Index mirrors Logic.OCCUPANCY + the combo order:
|
|
0 = Filled (whole dot), 1 = Inner dot, 2 = Hollow ring. All use occupiedOpacity + the occupied colour. -->
|
|
<entry name="occupancyStyle" type="Int">
|
|
<default>0</default>
|
|
</entry>
|
|
<!-- Follow the color scheme; when false, use activeColor / inactiveColor / occupiedColor below. -->
|
|
<entry name="followThemeColors" type="Bool">
|
|
<default>true</default>
|
|
</entry>
|
|
<!-- Custom active-capsule colour (used only when followThemeColors is false). -->
|
|
<entry name="activeColor" type="Color">
|
|
<default>#3daee9</default>
|
|
</entry>
|
|
<!-- Custom inactive-dot colour (used only when followThemeColors is false). -->
|
|
<entry name="inactiveColor" type="Color">
|
|
<default>#eff0f1</default>
|
|
</entry>
|
|
<!-- Custom occupied-marker colour (used only when followThemeColors is false; else the theme accent). -->
|
|
<entry name="occupiedColor" type="Color">
|
|
<default>#3daee9</default>
|
|
</entry>
|
|
</group>
|
|
</kcfg>
|