plasmoides KDE Store/GitHub (gnome-pager, kMenu, kvitals, windowtitle, claude, launchpad)
This commit is contained in:
+23
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Plasma Gnome Pager — config.qml
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2026 Kenan Salar
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*
|
||||
* The settings dialog's category list. ConfigCategory.source resolves relative to contents/ui/, so the
|
||||
* pages live in contents/ui/config/ while this file + main.xml live in contents/config/ (plasmoid.md).
|
||||
*/
|
||||
import org.kde.plasma.configuration
|
||||
|
||||
ConfigModel {
|
||||
ConfigCategory {
|
||||
name: i18n("Behavior")
|
||||
icon: "preferences-system-windows-actions"
|
||||
source: "config/ConfigGeneral.qml"
|
||||
}
|
||||
ConfigCategory {
|
||||
name: i18n("Appearance")
|
||||
icon: "preferences-desktop-color"
|
||||
source: "config/ConfigAppearance.qml"
|
||||
}
|
||||
}
|
||||
+139
@@ -0,0 +1,139 @@
|
||||
<?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>
|
||||
Reference in New Issue
Block a user