Summary: | Keyboard navigation in systray and the popup | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Josef Kufner <jk> |
Component: | System Tray | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | bugseforuns, madewokherd, mklapetek, nate, plasma-bugs |
Priority: | NOR | Keywords: | accessibility, usability |
Version: | 5.3.2 | ||
Target Milestone: | 1.0 | ||
Platform: | Other | ||
OS: | Linux | ||
See Also: |
https://bugs.kde.org/show_bug.cgi?id=409488 https://bugs.kde.org/show_bug.cgi?id=454729 |
||
Latest Commit: | Version Fixed In: | 5.25 | |
Sentry Crash Report: |
Description
Josef Kufner
2015-09-09 11:29:07 UTC
Thanks for the report Just to check - you mean if you open any systray applet (battery, networks, notifications), pressing escape does not close it and there's no keyboard navigation in any of those opened applets, correct? Almost. I assigned keyboard shortcut to whole systray, not to any particular systray applet. And it is not only about Escape key, it should be possible to use keyboard to navigate between systray applets when any of them is open. But otherwise it is correct. Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone! Update 3 years later ... The Escape key closes the popup, but still can't switch to next/prev icon, e.g., from Network to Bluetooth to volume... Partial support added with https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/767. This handles passing keyboard focus to individual applets when opened. This is being worked on some more. Additional improvements so far: https://invent.kde.org/frameworks/plasma-framework/-/commit/2ee16a7e71e4a61945814d8616fbaabb1d49411a https://invent.kde.org/frameworks/plasma-framework/-/commit/9f69e691c866f2b797796c8a2b1ce56ca6981cc1 https://invent.kde.org/plasma/plasma-nm/-/commit/4da37afb7d867973c0302d4881e21eba10e5416a https://invent.kde.org/plasma/plasma-workspace/-/commit/4644b9ec241b0e575b233c61d9549f59f9ce7690 The popup itself is now keyboard navigable as of: https://invent.kde.org/plasma/plasma-workspace/-/commit/306c0d6fc4b882516f7b75e29797debf5084175c https://invent.kde.org/plasma/plasma-workspace/-/commit/faffe49e18bf050852ba23580f49bc3f035de71e Git commit 7dd5210c8766f4226c27afe5a4ef83ece6d15143 by Marco Martin, on behalf of Benjamin Port. Committed on 02/02/2022 at 11:31. Pushed by mart into branch 'master'. Allow Panel and systray keyboard navigation Allow the Panel to get active keyboard focus via a kwyboard shortcut which will cycle between all panels. When a panel has focus, the active focus can be navigated around either with tab/backtab or arrow keys. Simple popup applets which only display an icon will work automatically, Complex applets like the System tray or the taskbar will have focus that can navigate on all their sub-elements, to activate a particular systray applet or activate a particular window Co-authored with Benjamin Port<benjamin.port@enioka.com> M +15 -0 applets/activitybar/contents/ui/main.qml M +16 -1 applets/icon/package/contents/ui/main.qml M +15 -1 applets/lock_logout/contents/ui/lockout.qml M +11 -0 applets/systemtray/package/contents/ui/ExpandedRepresentation.qml M +19 -1 applets/systemtray/package/contents/ui/ExpanderArrow.qml M +7 -18 applets/systemtray/package/contents/ui/HiddenItemsView.qml M +29 -2 applets/systemtray/package/contents/ui/items/AbstractItem.qml M +5 -0 applets/systemtray/package/contents/ui/items/ItemLoader.qml M +3 -25 applets/systemtray/package/contents/ui/items/PlasmoidItem.qml M +6 -6 applets/systemtray/package/contents/ui/items/StatusNotifierItem.qml M +10 -1 applets/systemtray/package/contents/ui/main.qml M +32 -0 shell/panelview.cpp M +1 -0 shell/panelview.h M +22 -0 shell/shellcorona.cpp https://invent.kde.org/plasma/plasma-workspace/commit/7dd5210c8766f4226c27afe5a4ef83ece6d15143 This is all done now! A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/960 A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1771 Git commit bad07cde1386575fa88bfd50a3ec2fa3dd2b1ee7 by Nate Graham, on behalf of Fushan Wen. Committed on 30/05/2022 at 13:17. Pushed by ngraham into branch 'master'. shell: move keyboard focus code from frontend to backend It makes the code easier to be maintained across different platforms. Related: bug 453166 M +10 -10 shell/shellcorona.cpp https://invent.kde.org/plasma/plasma-workspace/commit/bad07cde1386575fa88bfd50a3ec2fa3dd2b1ee7 Git commit 53fdac77ec442aa384f1df2be75934c76bb828ff by Nate Graham, on behalf of Fushan Wen. Committed on 30/05/2022 at 13:17. Pushed by ngraham into branch 'master'. shell/panelview: restore old window focus when panel loses focus Related: bug 453166 M +21 -0 shell/panelview.cpp M +10 -0 shell/panelview.h M +9 -0 shell/shellcorona.cpp M +4 -0 shell/shellcorona.h https://invent.kde.org/plasma/plasma-workspace/commit/53fdac77ec442aa384f1df2be75934c76bb828ff Git commit d2057d7174975c4379266f48f987fbac967e8ef3 by Nate Graham, on behalf of Fushan Wen. Committed on 30/05/2022 at 13:17. Pushed by ngraham into branch 'master'. shell/panelview: press shortcut to unfocus on the panel when it's in focused state The second time pressing Meta+Alt+P, the panel should be unfocused. Related: bug 453166 M +3 -0 shell/shellcorona.cpp https://invent.kde.org/plasma/plasma-workspace/commit/d2057d7174975c4379266f48f987fbac967e8ef3 Git commit 6eac53b6d0b19e46c28018434ff416ba144d0c1a by Nate Graham, on behalf of Fushan Wen. Committed on 30/05/2022 at 13:17. Pushed by ngraham into branch 'master'. shell/panelview: set passive status when pressing Escape key Related: bug 453166 M +8 -0 shell/panelview.cpp https://invent.kde.org/plasma/plasma-workspace/commit/6eac53b6d0b19e46c28018434ff416ba144d0c1a Git commit 3a16cbe7b01622ca1f6e045ddde7c7a61708f990 by Nate Graham, on behalf of Fushan Wen. Committed on 30/05/2022 at 13:17. Pushed by ngraham into branch 'master'. shell/panelview: unfocus on the panel when clicking outside When the panel is focused, clicking outside should make the panel unfocused. Related: bug 453166 M +7 -0 shell/panelview.cpp https://invent.kde.org/plasma/plasma-workspace/commit/3a16cbe7b01622ca1f6e045ddde7c7a61708f990 Git commit c89fb19673e35fc50a42a114ad3e52a503c05098 by Nate Graham, on behalf of Fushan Wen. Committed on 30/05/2022 at 13:17. Pushed by ngraham into branch 'master'. desktoppackage: don't focus on panel when pressing applet shortcuts The panel focus shortcut is Meta+Alt+P. This keeps the old behavior. Related: bug 453166 FIXED-IN: 5.25 M +0 -20 desktoppackage/contents/views/Panel.qml https://invent.kde.org/plasma/plasma-desktop/commit/c89fb19673e35fc50a42a114ad3e52a503c05098 Git commit e315dcd8cd6631a5d7030f437380e0ef6f51b6b6 by Nate Graham, on behalf of Fushan Wen. Committed on 30/05/2022 at 13:36. Pushed by ngraham into branch 'Plasma/5.25'. desktoppackage: don't focus on panel when pressing applet shortcuts The panel focus shortcut is Meta+Alt+P. This keeps the old behavior. Related: bug 453166 FIXED-IN: 5.25 (cherry picked from commit c89fb19673e35fc50a42a114ad3e52a503c05098) M +0 -20 desktoppackage/contents/views/Panel.qml https://invent.kde.org/plasma/plasma-desktop/commit/e315dcd8cd6631a5d7030f437380e0ef6f51b6b6 Git commit 18cfb226fc8b56346d66eb51d84c1ed7fbdc53d3 by Nate Graham, on behalf of Fushan Wen. Committed on 30/05/2022 at 13:37. Pushed by ngraham into branch 'Plasma/5.25'. shell: move keyboard focus code from frontend to backend It makes the code easier to be maintained across different platforms. Related: bug 453166 (cherry picked from commit bad07cde1386575fa88bfd50a3ec2fa3dd2b1ee7) M +10 -10 shell/shellcorona.cpp https://invent.kde.org/plasma/plasma-workspace/commit/18cfb226fc8b56346d66eb51d84c1ed7fbdc53d3 Git commit 7df9ad19f9b17e13febf07050e7dc54c85a2773b by Nate Graham, on behalf of Fushan Wen. Committed on 30/05/2022 at 13:37. Pushed by ngraham into branch 'Plasma/5.25'. shell/panelview: restore old window focus when panel loses focus Related: bug 453166 (cherry picked from commit 53fdac77ec442aa384f1df2be75934c76bb828ff) M +21 -0 shell/panelview.cpp M +10 -0 shell/panelview.h M +9 -0 shell/shellcorona.cpp M +4 -0 shell/shellcorona.h https://invent.kde.org/plasma/plasma-workspace/commit/7df9ad19f9b17e13febf07050e7dc54c85a2773b Git commit 74f54bced881b917f71189565ecc3aaab3cefe11 by Nate Graham, on behalf of Fushan Wen. Committed on 30/05/2022 at 13:37. Pushed by ngraham into branch 'Plasma/5.25'. shell/panelview: set passive status when pressing Escape key Related: bug 453166 (cherry picked from commit 6eac53b6d0b19e46c28018434ff416ba144d0c1a) M +8 -0 shell/panelview.cpp https://invent.kde.org/plasma/plasma-workspace/commit/74f54bced881b917f71189565ecc3aaab3cefe11 Git commit 4eeb953bd7ceca4b3b76728abd8dffda2671ab36 by Nate Graham, on behalf of Fushan Wen. Committed on 30/05/2022 at 13:37. Pushed by ngraham into branch 'Plasma/5.25'. shell/panelview: unfocus on the panel when clicking outside When the panel is focused, clicking outside should make the panel unfocused. Related: bug 453166 (cherry picked from commit 3a16cbe7b01622ca1f6e045ddde7c7a61708f990) M +7 -0 shell/panelview.cpp https://invent.kde.org/plasma/plasma-workspace/commit/4eeb953bd7ceca4b3b76728abd8dffda2671ab36 Git commit 9e1cbb8ff214f8277a308c20760d03cf151667e1 by Nate Graham, on behalf of Fushan Wen. Committed on 30/05/2022 at 13:37. Pushed by ngraham into branch 'Plasma/5.25'. shell/panelview: press shortcut to unfocus on the panel when it's in focused state The second time pressing Meta+Alt+P, the panel should be unfocused. Related: bug 453166 (cherry picked from commit d2057d7174975c4379266f48f987fbac967e8ef3) M +3 -0 shell/shellcorona.cpp https://invent.kde.org/plasma/plasma-workspace/commit/9e1cbb8ff214f8277a308c20760d03cf151667e1 A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/968 A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1799 Git commit 47acfaff51480f02bac1b0dc429dbeb4055478b9 by Nate Graham, on behalf of Fushan Wen. Committed on 02/06/2022 at 15:45. Pushed by ngraham into branch 'master'. shell: fix pressing enter not activating the new window In panelview.cpp, the old window focus is restored when switching to Passive status. This fixes the behavior by setting the panel status to a status that is not AcceptingInputStatus. Related: bug 454729 FIXED-IN: 5.25 M +2 -1 shell/panelview.cpp https://invent.kde.org/plasma/plasma-workspace/commit/47acfaff51480f02bac1b0dc429dbeb4055478b9 Git commit 9bf0b879931d41c981f814eaa27b356fe56e5f2a by Nate Graham, on behalf of Fushan Wen. Committed on 02/06/2022 at 15:54. Pushed by ngraham into branch 'Plasma/5.25'. shell: fix pressing enter not activating the new window In panelview.cpp, the old window focus is restored when switching to Passive status. This fixes the behavior by setting the panel status to a status that is not AcceptingInputStatus. Related: bug 454729 FIXED-IN: 5.25 (cherry picked from commit 47acfaff51480f02bac1b0dc429dbeb4055478b9) M +2 -1 shell/panelview.cpp https://invent.kde.org/plasma/plasma-workspace/commit/9bf0b879931d41c981f814eaa27b356fe56e5f2a A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1983 Git commit 07efee1095edfb2e27e06952ab83d9ddbe30098b by Fushan Wen. Committed on 20/08/2022 at 04:34. Pushed by fusionfuture into branch 'master'. shell: allow to cycle through multiple panels This adds `m_blockRestorePreviousWindow` to avoid restoring focus to the panel, and replace QHash with QMap to save panel orders. Related: bug 453166 M +1 -16 shell/panelview.cpp M +0 -7 shell/panelview.h M +94 -27 shell/shellcorona.cpp M +18 -2 shell/shellcorona.h https://invent.kde.org/plasma/plasma-workspace/commit/07efee1095edfb2e27e06952ab83d9ddbe30098b A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2133 A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1152 *** Bug 462861 has been marked as a duplicate of this bug. *** Git commit 55a9eeba7595548e4e748d95a103813359639dff by Fushan Wen. Committed on 21/07/2023 at 18:12. Pushed by fusionfuture into branch 'master'. desktoppackage: activate panel on "Activate Panel Widget" shortcut pressed This partially reverts c89fb19673e35fc50a42a114ad3e52a503c05098 to bring back onActivated signal required by the global shortcut. Related: bug 455398, bug 453166 FIXED-IN: 5.26 M +11 -0 desktoppackage/contents/views/Panel.qml https://invent.kde.org/plasma/plasma-desktop/-/commit/55a9eeba7595548e4e748d95a103813359639dff Git commit 648e10cea66926e93b52b9a7e0cc65b4055448e6 by Fushan Wen. Committed on 21/07/2023 at 19:03. Pushed by fusionfuture into branch 'Plasma/5.27'. desktoppackage: activate panel on "Activate Panel Widget" shortcut pressed This partially reverts c89fb196 to bring back onActivated signal required by the global shortcut. Related: bug 455398, bug 453166 FIXED-IN: 5.27 (cherry picked from commit 55a9eeba7595548e4e748d95a103813359639dff) M +12 -1 desktoppackage/contents/views/Panel.qml https://invent.kde.org/plasma/plasma-desktop/-/commit/648e10cea66926e93b52b9a7e0cc65b4055448e6 Git commit 2ae02766f8784fee5dcf33bfc6ae973e367beef1 by Fushan Wen. Committed on 21/07/2023 at 18:50. Pushed by fusionfuture into branch 'master'. shell: move `forceActiveFocus` to `PanelView` This allows to focus on the first child widget in a panel by setting containment status directly. This adds `savePreviousWindow()` to save the previously focused window, to be called in `PanelView::refreshStatus`. When the previous window is not reset, calling savePreviousWindow() will not do anything, so when there are more than one panel, it will not incorrectly save the wrong window (panel). Related: bug 455398, bug 453166 M +9 -0 shell/panelview.cpp M +14 -22 shell/shellcorona.cpp M +1 -0 shell/shellcorona.h https://invent.kde.org/plasma/plasma-workspace/-/commit/2ae02766f8784fee5dcf33bfc6ae973e367beef1 Git commit 6f0cd573dcc3634a453c8bb6b504013dc8372a95 by Fushan Wen. Committed on 21/07/2023 at 19:06. Pushed by fusionfuture into branch 'Plasma/5.27'. shell: move `forceActiveFocus` to `PanelView` This allows to focus on the first child widget in a panel by setting containment status directly. This adds `savePreviousWindow()` to save the previously focused window, to be called in `PanelView::refreshStatus`. When the previous window is not reset, calling savePreviousWindow() will not do anything, so when there are more than one panel, it will not incorrectly save the wrong window (panel). Related: bug 455398, bug 453166 (cherry picked from commit 2ae02766f8784fee5dcf33bfc6ae973e367beef1) M +9 -0 shell/panelview.cpp M +14 -22 shell/shellcorona.cpp M +1 -0 shell/shellcorona.h https://invent.kde.org/plasma/plasma-workspace/-/commit/6f0cd573dcc3634a453c8bb6b504013dc8372a95 |