Commit 07e97769 authored by Nate Graham's avatar Nate Graham 💤
Browse files

[applets/taskmanager] Make minimizing the active task on click optional

When this new option is flipped off, clicking on the active task will do
nothing instead of minimizing it. This is the behavior of the macOS
Dock, and adding this option finally makes it possible to perfectly
replicate its behavior in Plasma, in conjunction with the new default
"cycle through grouped tasks on click" option. Being able to do so is
useful for theme creators making macOS Global Themes of which there are
tons and tons, or people switching from macOS who want to generally use
a Plasma look and feel but want to replicate the behavior of the Dock
that they became accustomed to.

BUG: 405495
FIXED-IN: 5.20
parent 896f55c9
......@@ -115,6 +115,10 @@
</choices>
<default>3</default>
</entry>
<entry name="minimizeActiveTaskOnClick" type="Bool">
<label>Whether to minimize the currently-active task when clicked. If false, clicking on the currently-active task will do nothing.</label>
<default>true</default>
</entry>
</group>
</kcfg>
......
......@@ -43,6 +43,7 @@ Item {
property alias cfg_showOnlyCurrentDesktop: showOnlyCurrentDesktop.checked
property alias cfg_showOnlyCurrentActivity: showOnlyCurrentActivity.checked
property alias cfg_showOnlyMinimized: showOnlyMinimized.checked
property alias cfg_minimizeActiveTaskOnClick: minimizeActive.checked
TaskManagerApplet.Backend {
id: backend
......@@ -143,6 +144,12 @@ Item {
visible: (plasmoid.pluginName !== "org.kde.plasma.icontasks")
}
CheckBox {
id: minimizeActive
Kirigami.FormData.label: i18nc("Part of a sentence: 'Clicking active task minimizes the task'", "Clicking active task:")
text: i18nc("Part of a sentence: 'Clicking active task minimizes the task'", "Minimizes the task")
}
// TODO: port to QQC2 version once we've fixed https://bugs.kde.org/show_bug.cgi?id=403153
QQC1.ComboBox {
id: middleClickAction
......
......@@ -188,7 +188,7 @@ function activateTask(index, model, modifiers, task) {
if (model.IsMinimized === true) {
tasksModel.requestToggleMinimized(index);
tasksModel.requestActivate(index);
} else if (model.IsActive === true) {
} else if (model.IsActive === true && plasmoid.configuration.minimizeActiveTaskOnClick) {
tasksModel.requestToggleMinimized(index);
} else {
tasksModel.requestActivate(index);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment