Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Close the quick switcher on Ctrl+K #1684

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions resources/qml/QuickSwitcher.qml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,18 @@ Popup {
roomTextInput.forceActiveFocus();
}

Shortcut {
id: closeShortcut

sequence: "Ctrl+K"
onActivated: {
// It seems that QML takes a second or so to clean up destroyed shortcuts, so instead we'll just disable this shortcut
// so it doesn't prevent the quick switcher from opening again
closeShortcut.enabled = false;
quickSwitcher.close();
}
}

Comment on lines +35 to +46
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, something that has annoyed me for a while already is that ctrl-k only works, when you focus the text input. How about we solve both things in one swoop and make ctrl-k global and make it toggle the quick switcher state?

But otoh, you can already close the quick switcher with escape, so I am not sure I like this change, since hitting ctrl-k twice in frustration will now basically do nothing. Why is escape not enough?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally speaking, a shortcut of this sort should be able to work in reverse. For example:

  • The Windows Start menu can be opened and closed using the Windows key.
  • KRunner can be opened and closed with the same hotkey.
  • Yakuake opens and closes with F12.
  • Pressing Alt in most applications will toggle focus on and off of the menubar.

Also, if we make Ctrl+K global, you should not have to press it twice in frustration anymore.

Copy link
Member

@deepbluev7 deepbluev7 Feb 22, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, but to me this is more like hitting ctrl-O in an application, which is not reversible afaik. I'm just not sure this adds much benefit, since we already have one universal key to close stuff, Escape, which works to close the room switcher, room directory, emoji and other completers, edits, threads, message search, etc. And it does mean you now need to be careful how often you hit the key, which is why I don't use yakuake anymore :D

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure how opening a menu (which is pretty much what this functions as) is a non-reversible action.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think Ctrl + K should be global. You should be able to, for example, open the room switcher without having a room open. I don't really have an opinion one way or the other as far as 'esc is good enough' vs 'the shortcut should work in reverse' but I'm inclined to lean towards Loren on this one because 'why not'.

Column {
anchors.fill: parent
spacing: 1
Expand Down