Bug 305449

Summary: Empty TabBox in case of no active Client
Product: [Plasma] kwin Reporter: Martin Flöser <mgraesslin>
Component: tabboxAssignee: Martin Flöser <mgraesslin>
Severity: normal CC: kwin-bugs-null, vanyacpp
Priority: NOR Flags: mgraesslin: ReviewRequest+
Version: 4.9.0   
Target Milestone: 4.9.1   
Platform: unspecified   
OS: Linux   
URL: https://git.reviewboard.kde.org/r/106088/
Latest Commit: Version Fixed In: 4.9.1
Attachments: Unit Test highlighting the described problem (currently failing)

Description Martin Flöser 2012-08-19 17:14:21 UTC
Created attachment 73309 [details]
Unit Test highlighting the described problem (currently failing)

This is a bug report split out of bug #304620 and the discussion review request 105935.

Steps to reproduce:
1. Open a few windows
2. minimize all open windows
3. kquitapp plasma-desktop - there should now be no active window
4. invoke Alt+Tab

Actual Result:
The list is empty

Expected Result:
The list should include the minimized windows

Attached is a patch containing a unit test to highlight the issue.
Comment 1 Martin Flöser 2012-08-23 06:50:24 UTC
*** Bug 286444 has been marked as a duplicate of this bug. ***
Comment 2 Martin Flöser 2012-08-26 18:10:31 UTC
Git commit cc4fa37d22092e98b3d77fd1f3dd8ad752bb9879 by Martin Gräßlin.
Committed on 19/08/2012 at 19:32.
Pushed by graesslin into branch 'KDE/4.9'.

Use the first client as entrance to the focus chain if no active window

The recently used mode of TabBox uses the active window as the entrance
into the focus chain. If there is no active window it does not find any
Clients. To solve this issue the ClientModel now uses the first entry
of the focus chain in case there is no active window.
FIXED-IN: 4.9.1
REVIEW: 106088

M  +7    -1    kwin/tabbox/clientmodel.cpp
M  +17   -0    kwin/tabbox/tabbox.cpp
M  +2    -0    kwin/tabbox/tabbox.h
M  +8    -0    kwin/tabbox/tabboxhandler.h
M  +15   -9    kwin/tabbox/tests/mock_tabboxhandler.cpp
M  +3    -0    kwin/tabbox/tests/mock_tabboxhandler.h
M  +19   -0    kwin/tabbox/tests/test_tabbox_clientmodel.cpp
M  +7    -0    kwin/tabbox/tests/test_tabbox_clientmodel.h