Bug 276932

Summary: USABILITY: Keyboard navigation + breadcrumb = broken.
Product: [Unmaintained] plasma4 Reporter: Alejandro Nova <alejandronova>
Component: widget-kickoffAssignee: Rick Stockton <rickstockton>
Status: RESOLVED FIXED    
Severity: normal CC: aacid, bvitnik, damjandimitrioski, edio, faplap, grawcho, gregor, hugobaf, j.zaitseff, kde, maxim.stargazer, nextg, rickstockton
Priority: HI    
Version: 4.9.0   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In: 4.9.2
Sentry Crash Report:
Bug Depends on:    
Bug Blocks: 307823    

Description Alejandro Nova 2011-07-02 03:58:28 UTC
Version:           unspecified (using Devel) 
OS:                Linux

KDE 4.7 RC1 featured a breadcrumb, replacing the "Back" button in Kickoff. This replacement has broken the keyboard navigation.

Reproducible: Didn't try

Steps to Reproduce:
1. KDE 4.6 or before: open the Kickoff menu, switch to the "Applications" pane, and press the Down key. The cursor will move.

2. KDE 4.7: open the Kickoff menu, switch to the "Applications" pane, and press the Down key. The cursor won't move.

Actual Results:  
Cursor doesn't move. If I try to press "Left" to go back, I switch panes instead of going back.

Expected Results:  
Cursor moves. When I am inside a category, I expect to use "Left" to move to the upper category, and "Left" only switches panes when I'm in the upper category. Also, I expect to use "Right" to navigate to a lesser category, only if I can do it. Otherwise, I expect "Right" to switch panes.
Comment 1 Christoph Feck 2011-08-08 22:46:23 UTC
*** Bug 279193 has been marked as a duplicate of this bug. ***
Comment 2 Christoph Feck 2011-08-08 22:46:36 UTC
*** Bug 279689 has been marked as a duplicate of this bug. ***
Comment 3 Christoph Feck 2011-08-25 14:43:12 UTC
*** Bug 280614 has been marked as a duplicate of this bug. ***
Comment 4 Antonis K 2011-09-12 11:56:21 UTC
*** This bug has been confirmed by popular vote. ***
Comment 5 John Zaitseff 2011-09-18 22:26:01 UTC
I would like to suggest that this bug should have, in fact, a higher priority: it means that using Kickoff via the keyboard alone is now impossible.

In the "good old days", I could use a dedicated "My Favourites" key to launch Kickoff, then use the arrow keys to select an appropriate application.  I now have to use the mouse to select any such application, an order of magnitude slower.

I will try to look at the code for Kickoff and see if I can come up with a patch that will fix the problem.
Comment 6 Hugo Freitas 2011-10-04 06:24:30 UTC
I have not notice the keyboard problem, because I usually use the mouse. But it is a pretty important feature to be able to browse the kickoff button using only the keyboard. I also like much better the back arrow in every menu. The ideal would be remaining the back arrow with the breadcrumb.
Comment 7 Gregor Tätzner 2011-12-02 19:03:24 UTC
(In reply to comment #5)
> I would like to suggest that this bug should have, in fact, a higher priority:
> it means that using Kickoff via the keyboard alone is now impossible.
you are right
Comment 8 Rick Stockton 2012-03-24 23:27:38 UTC
AFAICT, this defect occurs only with the "Applications" in "Application Launcher Style".

Due to it's popularity in voting, I intend to provide a fix within the 4.8 series -- even though all of this GUI code gets replaced in 4.9. I will not mess with something I find a bit unclear about a lost shortcut capability in comment #5; I will make it support arrow keys.

My technical, well-isolated bug for this work is https://bugs.kde.org/show_bug.cgi?id=296696.  I'm leaving this open, and assigning to myself, because I'm not ABSOLUTELY sure that my work in that bug resolves all usage scenarios - I never even used "Application Launcher Style" in 4.6, so I don't know exactly what might be missing. 

Breadcrum is irrelevant, right? We just want to fix functionality in navigating the Applications panel, restoring the ability to:

(1) enter and exit the Panel View, using Key_Up or Key_Down, when currently focused at a Top or Bottom item of the Panel;

(2) Navigate up/down/right/left using arrow keys, with focus moving correctly.

(3) Use the Enter / Return keys to execute a a focused item, if it is an executable link (and not a "parent collection" of additional items or submenus.)

Any disagreements or BASIC, OBVIOUS necessities which I missed -- now is your chance to speak up.
Comment 9 Rick Stockton 2012-03-24 23:32:20 UTC
*** Bug 289418 has been marked as a duplicate of this bug. ***
Comment 10 Alejandro Nova 2012-03-25 00:24:01 UTC
Agree absolutely.
Comment 11 Rick Stockton 2012-03-27 06:00:26 UTC
Fix is in for code review, just an hour ago.

If it's accepted, pressing 'Qt::Key_Up' or 'Qt::Key_Down' will leave the 'Launcher' and enter the "Applications" View content area, when the "Applications" icon is highlighted in the tab bar. From inside the "All Applications" Widget, the User may press Qt::Key_Tab to return to the Launcher (for switching to another tab, or for performing a search.) But Qt::Key_Tab must generally be pressed TWICE.

This makes entry into the "Applications" tab, and exit back to the Launcher, the same as the other tabs (i.e., "Favorites", "Recently Used", "Computer", and "Leave"). This is a patch only for 4.8, because widget-based Kickoff will be replaced with a QML launcher in KDE 4.9.

Note for testers and Users: There is one bit of weirdness, not new, and it's the same with all of the Other Tabs: From inside the tab's content area, you must make TWO KeyPress events of Qt::Key_Tab in order to highlight the search bar TextEdit Widget properly. I don't know exactly "where" focus goes after the first Tab keyPressEvent, when neither the content area nor the search Text are highlighted. (And I'm not going to waste time figuring it out, because this all gets replaced with 4.9.) Please, just press Qt::Key_Tab twice.
Comment 12 Rick Stockton 2012-03-27 06:08:32 UTC
(In reply to comment #6)
> I also like much better the back arrow in every
> menu. The ideal would be remaining the back arrow with the breadcrumb.

Most of the menus don't contain any "folder-like" collections; they tend to be stack of individual executable links. Key_Left (the arrow) makes sense only the 'Applications' View, and it's breadcrumb.

Am I missing something?
But anyway- if you're using the mouse, and you've got tilt-wheel, I've got another Patch in review which will let you use tilt-left (on the mouse) to execute Key_Left, and tilt-right to execute Key_Right. (Just within the "Applications" table, and only when the movement is valid.)

Way nicer, way quicker than hunting for those tiny arrows ;)
Comment 13 Rick Stockton 2012-03-29 00:23:55 UTC
Git commit c5a16ec2b64da98991f67dcd991c33abc3888c5c by Rick Stockton.
Committed on 29/03/2012 at 02:18.
Pushed by stockton into branch 'KDE/4.8'.

Kickoff: Use up/down keys to enter 'All Applications'

Allow KDE Users to switch into the 'Applications' content
area, by using up/down arrow keys. With this ability,
it becomes possible to use the Kickoff GUI with only a
keyboard (i.e., without a mouse).
Related: bug 296696
REVIEW: 104422

M  +20   -6    plasma/desktop/applets/kickoff/ui/launcher.cpp

http://commits.kde.org/kde-workspace/c5a16ec2b64da98991f67dcd991c33abc3888c5c
Comment 14 Max Sydorenko 2012-08-13 13:15:20 UTC
I am experiencing now the same bug with KDE 4.9.0 (ArchLinux distributive , x86-64 system)
This bug (unable to navigate with keyboard in the Applications submenu of Application Launcher), indeed, was fixed in the KDE 4.8, but resurrected when I upgraded to KDE 4.9.0.
Could this bug be reopened, or I should create new one?
Comment 15 Jekyll Wu 2012-08-13 13:39:58 UTC
Reopen.

Clearly, that fix only went into kde/4.8 branch because "This is a patch only for 4.8, because widget-based Kickoff will be replaced with a QML launcher in KDE 4.9." . However, kickoff in 4.9 is still not ported to QML yet.

Also note that fix introduced another problem in 4.8.x , see bug 297842.
Comment 16 Saurabh Asthana 2012-08-16 17:37:36 UTC
Can we get the 4.8 patch put into 4.9, please? It is still a nuisance for me.

It seems wrong to deliberately choose to leave this bug in the wild instead of fixing it in every branch; that's what results in people coming back here to complain about the bug showing up again, even though a fix is known. We can't always predict the future.
Comment 17 Rick Stockton 2012-08-18 03:25:40 UTC
Jekyll, THANK YOU for advising me of the 4.9 problem, _and_ the defect which I introduced with the Changeset for this bug on 4.8.

Max and Saurabh: Please advise, do you experience https://bugs.kde.org/show_bug.cgi?id=297842 from attempting the "search"? I suspect that you do not have that problem yet - but if I simply migrate this changeset to 4.9 (without significant modification) then it will probably create bug 297842 within 4.9 as well.

And, if we will have a 4.8.6 (i.e., 4.8.x support has not yet ended), then I will re-open that bug against the reported 4.8.x --- even if it DOESN'T yet happen on 4.9.

When I'm done, 4.9. and "Trunk" will have BOTH problems solved, and so will 4.8 -- if we plan to release further Updates for the 4.8 Release. (I have already asked, and expect to have an answer WRT 4.8 within a couple of days.)
Comment 18 Max Sydorenko 2012-08-18 07:08:56 UTC
Yes, there is nothing similar to  bug 297842 in 4.9 yet.
Comment 19 Rick Stockton 2012-08-22 20:11:23 UTC
I have submitted a patch to KDE reviewboard, for both "4.9" and "Trunk". It consists of the two fixes from 4.8 (this patch, and the patch for 297842) combined into a single new patch.

Basically, the Up/Down arrows will work for moving around within an Applications View (or a search results view which shows more than one program). In some situations, Key_Down or Key_Up is capable of moving between view -- But for moving to the Search Bar, and to/from the search bar results, Qt::Key_Tab (new feature) is the keystroke which ALWAYS works.

Within a view: Arrow keys.
Between views: Tab Key.
Comment 20 Rick Stockton 2012-08-25 05:38:52 UTC
https://git.reviewboard.kde.org/r/106125/
Comment 21 Gregor Tätzner 2012-08-31 06:41:54 UTC
Git commit a97173bbce9085e5df7f9a22601300c50e84b030 by Gregor Tätzner.
Committed on 31/08/2012 at 08:34.
Pushed by gregort into branch 'KDE/4.9'.

Add keyboard navigation to Kickoff GUI (within and among all Views)

Fixes regression in KDE 4.9. Enables movement between views with tab
key.
Related: bug 297842
FIXED-IN: 4.9.1
REVIEW: 106125

M  +27   -11   plasma/desktop/applets/kickoff/ui/launcher.cpp
M  +7    -0    plasma/desktop/applets/kickoff/ui/searchbar.cpp

http://commits.kde.org/kde-workspace/a97173bbce9085e5df7f9a22601300c50e84b030
Comment 22 Gregor Tätzner 2012-08-31 06:56:24 UTC
Git commit e44b48c6fa1f9875f1189f495b9981ac92a1eb36 by Gregor Tätzner.
Committed on 31/08/2012 at 08:34.
Pushed by gregort into branch 'master'.

Add keyboard navigation to Kickoff GUI (within and among all Views)

Fixes regression in KDE 4.9. Enables movement between views with tab
key.
Related: bug 297842
FIXED-IN: 4.9.1
REVIEW: 106125

M  +27   -11   plasma/desktop/applets/kickoff/ui/launcher.cpp
M  +7    -0    plasma/desktop/applets/kickoff/ui/searchbar.cpp

http://commits.kde.org/kde-workspace/e44b48c6fa1f9875f1189f495b9981ac92a1eb36
Comment 23 Albert Astals Cid 2012-09-02 22:27:46 UTC
Too late for 4.9.1
Comment 24 Bojan Vitnik 2012-10-04 11:28:39 UTC
Was the fix committed in 4.9.2? It seems that it introduced some regression in 4.9.2. I reported it as bug 307823.
Comment 25 Rick Stockton 2012-10-05 06:01:14 UTC
(In reply to comment #24)
> Was the fix committed in 4.9.2? It seems that it introduced some regression
> in 4.9.2. I reported it as bug 307823.

Agreed, although the problem(s) introduced, and left "unfixed" are a bit different. Let's leave this one RESOLVED for it's two issues, and use that as the new bug for the regressions. I've designated it to be "major", and will get to it this weekend.