This is a change in behavior from 5.6, not inherently a bug. However, it's something that I've found to be extraordinarily distracting ever since upgrading to 5.7 to the point that I consider it incorrect behavior. If a window has focus, but has other windows on top of it, clicking on the focused window in the task manager minimizes it. In 5.6, clicking on the focused but not raised window causes it to be raised. This is very noticeable with focus follows mouse plus a delayed raise on hover, because by moving the mouse down to the task manager, I very frequently bring the window I'm interested in into focus without raising it, and when I use the task manager to then try to raise it, it gets minimized instead. Reproducible: Always Steps to Reproduce: 1. Enable "Focus Follows Mouse - Mouse Precedence", with a 0ms focus delay, no focus prevention, and raise on hover, delayed by 500ms. 2. Create two windows, one partially overlapping the other. 3. Put the mouse pointer in the window that's on top 4. Move the mouse pointer out of the top window, over the bottom window, and then onto the desktop (in less than 500ms). 5. At this point there should be an unfocused window on top, and a focused window below it. 6. In the task manager, click on the entry for the window that has focus but is below the other window. Actual Results: The focused window is minimized. Expected Results: The focused window is brought to the top.
Can't reproduce at all. The lower window gets raised and focused, but not minimized.
I can still reproduce on 5.11.4. You don't even need to activate raise-on-hover, just do this: 1. Turn on or continue to use focus Follows Mouse 2. Move one window partially in front but not completely covering another 3. Click on that window's Task Manager button It gets minimized, not raised.
*** Bug 401462 has been marked as a duplicate of this bug. ***
In order to fix this, the `activateTask()` function in plasma-desktop/applets/taskmanager/package/contents/ui/code/tools.js will have to be patched. I think the relevant part is this part at the bottom of the function. ``` function activateTask(index, model, modifiers, task, plasmoid, tasks) { // [snip] } else { if (model.IsMinimized === true) { tasks.tasksModel.requestToggleMinimized(index); tasks.tasksModel.requestActivate(index); } else if (model.IsActive === true && plasmoid.configuration.minimizeActiveTaskOnClick) { // This needs to account for stacking order tasks.tasksModel.requestToggleMinimized(index); } else { tasks.tasksModel.requestActivate(index); } } } ```
It's also worth noting that if we do want to fix this, the "Clicking active task: [x] Minimizes the task" checkbox in the config dialog will need to be changed in order to be truthful.