Status: v1.0.0 — first stable release. Tested on KDE Plasma 5.24.7 and 5.27, X11 and Wayland. Plasma 6 is not supported. The optional Agent Watcher ships disabled by default.
TaskManager Split is a KDE Plasma 5 panel applet that replaces the standard Task Manager and divides open-window tasks into two areas according to each window's on-screen position.
- Spatial task list: buttons are laid out based on where each window actually sits on the screen, not just in one long row.
- Positional split: a window whose center is left of the screen midpoint appears in the left area; a window to the right appears in the right area. Moving a window across the midpoint moves its button to the other area in real time.
- Works on vertical panels too: top/bottom areas follow the same midpoint logic, with a configurable rule for whether classification follows the panel orientation or always uses left/right screen position.
- Per-monitor filtering: each applet instance shows only the windows on the monitor that contains its panel, and re-classifies them when a window moves between monitors.
- Folders: group windows into named folders that live inside the split areas, with optional auto-capture of newly opened windows into the current folder.
- Optional Agent Watcher: show busy/free status for Pi agents running inside terminal windows, as colored circles on the task button.
| Horizontal split (hero) | Second horizontal view |
|---|---|
![]() |
![]() |
| Vertical panel | Settings |
|---|---|
![]() |
![]() |
| Light theme — horizontal | Light theme — vertical |
|---|---|
![]() |
![]() |
- Task list: one non-wrapping row on a horizontal panel (column on a vertical panel); items that do not fit go to the overflow dropdown instead of resizing the panel.
- Positional split: horizontal panels use left/right areas, vertical panels use configurable top/bottom areas. Tie-break:
center <= screenCenterbelongs to the first area. The split is automatic; window area assignment is always geometry-derived and never manually settable. - Per-monitor filtering: each instance shows only the windows of its own monitor; a window moving between monitors is re-classified against the destination screen midpoint without being treated as newly opened.
- Task controls: click an inactive task to activate it; click the already-active task to minimize/restore; context menu offers Rename, folder actions, and Close. Stock Task Manager extras (pinning, jump lists, MPRIS, virtual desktops) are not included.
- Active-window highlight: the active window's button is visually distinct.
- Local rename: session-only custom titles that survive the application changing its own title, with an explicit reset to the real title.
- Minimized-window side stability: minimized windows keep their last known side; restoring causes no wrong-area flicker.
- Overflow: an ellipsis-only button fixed at the area's trailing edge; the dropdown lists hidden items with icons and elided labels.
- Folders: create from the context menu or by dragging; entering a folder shows only its windows; deleting a folder returns windows to root without closing them; auto-capture (on by default) captures newly opened windows into the current folder. Folder definitions and ordering persist across panel restarts; window-to-folder assignments and custom titles do not.
- Agent Watcher: busy/free circles for supported AI-agent workflows in terminal windows (red = busy, green = free; multiple agents as individual or segmented circles, overflow as
+N). While disabled it runs no polling timer, reads no file, and alters no button. Requires the optional Pi adapter (see installation below); on Wayland it is a silent no-op. - Manual drag ordering: reordering and drop-to-folder via drag-and-drop, persisted per area. Uses internal Plasma drag-and-drop APIs that may not be stable across Plasma 5.24–5.27; loaded only when the setting is enabled.
Persistent settings live in the standard Plasma KConfig schema. Some are exposed directly in the applet's settings page; others (foldersJson, manualOrderJson) are populated automatically by the applet runtime.
| Key | Type | Default | Description |
|---|---|---|---|
splitEnabled |
bool | true |
Enable positional split mode |
splitLogic |
string | Follow panel orientation |
Split rule: Follow panel orientation or Always left/right screen position |
autoCaptureNewWindows |
bool | true |
Capture newly opened windows into the current folder |
foldersJson |
string | "" |
Persistent folder definitions and ordering |
showAgentWatcher |
bool | false |
Enable Agent Watcher indicator |
agentIndicatorStyle |
string | Individual circles |
Individual circles or Segmented circle |
enableExperimentalDrag |
bool | false |
Enable experimental task/folder drag-and-drop |
manualOrderJson |
string | "" |
Unified per-area manual order populated by drag reorder |
| Item | Value |
|---|---|
| Target | KDE Plasma 5.24 LTS through 5.27 LTS; Qt 5.15.x |
| Display servers | X11 primary; Plasma Wayland supported |
| Plasma 6 | Not supported by this release |
| Packaging | kpackagetool5 -t Plasma/Applet — architecture-independent QML, no build step |
| Plugin ID | com.github.serhiq.taskmanagersplit |
| Source | https://github.com/serhiq/taskmanager-split |
| Bug reports | https://github.com/serhiq/taskmanager-split/issues |
| Display name | TaskManager Split |
| Author | Ovcharenko Ekaterina |
| License | GPL-2.0-or-later (see LICENSE and SPDX headers in source files) |
| Changelog | CHANGELOG.md |
| Specification | SPECIFICATION.md |
| Version | 1.0.0 |
kpackagetool5 -t Plasma/Applet --install .To upgrade an existing installation:
kpackagetool5 -t Plasma/Applet --upgrade .To remove:
kpackagetool5 -t Plasma/Applet --remove com.github.serhiq.taskmanagersplitAfter installation, add the applet to a panel from the panel toolbox or widget list.
The widget is also available from the KDE Store (category Plasma 5 Applets): right-click the panel → Add Widgets… → Get New Widgets… → search for TaskManager Split.
cd extensions/taskmanager-split-status
./install.sh
# Reload the Pi agent or restart the Pi process to load the extension.This repository is a clean-room rewrite, not a fork. An earlier monolithic prototype was used only as behavioral reference; its architecture was intentionally not carried over.
This project is licensed under the GNU General Public License v2.0 or later. See the LICENSE file and SPDX headers in individual source files for details.





