Skip to content

Conversation

@lucasmerlin
Copy link
Member

@lucasmerlin lucasmerlin commented Oct 23, 2025

Related

What

Adds global hotkeys to switch through everything in the recording panel (except for the homepage and anything without it's own page, e.g. app ids).

This was surprisingly deep, the implementation feels quite complex but is the best thing I could come up with. Its the result of the following things:

  • shortcuts should be a UiCommand for discoverability (so it can be found in the command palette)
  • recording switching order should be defined in the recording panel, since it should match the order of the shortcuts

=> We introduce a new RecordingPanelCommand that can be send from a UiCommand and executed in the context of the recording panel. The latter is now a struct to hold the command queue.

Note:

@github-actions
Copy link

github-actions bot commented Oct 23, 2025

Web viewer built successfully.

Result Commit Link Manifest
281121a https://rerun.io/viewer/pr/11637 +nightly +main

View image diff on kitdiff.

Note: This comment is updated whenever you push a commit.

Comment on lines +378 to +379
Self::NextRecording => smallvec![cmd(Key::CloseBracket)],
Self::PreviousRecording => smallvec![cmd(Key::OpenBracket)],
Copy link
Member Author

Choose a reason for hiding this comment

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

There needs to be some bike shedding on these shortcuts.

  • @pweids suggested it should be cmd + [ / ]
  • @lucasmerlin thinks it should be ctrl + tab / ctrl + shift + tab (which switches tabs in my browser, finder and recent files in my ide)
  • @abey79 would like something different

Copy link
Member

Choose a reason for hiding this comment

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

Note: we can support multiple keyboard shortcuts (a primary and a backup; that's why this is a vec).

on macOS:
in my browser, I can cycle tabs with (at least) ctrl+[shift]+tab plus cmd+option+side-arrows plus ctrl+pageup/down.

on Windows and Linux, I think ctrl+[shift]+tab is the common one for switching between open tabs in an application?

Based on this, I suggest ctrl+[shift]+tab as the primary on all platforms, with cmd+option+down/up arrows as secondary on macOS.

But I'd like to know where @pweids got cmd + [ from? Is there some precedence there?

Copy link
Member

Choose a reason for hiding this comment

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

ctrl-tab is application switching in Windows, isn't it? I guess we could check what's the browser tab shortcut there.

I'm not sure where cmd + [ comes from, but I don't like it because it's not intl keyboard layout friendly. I need to do alt + 5 to get a [ on my swiss keyboard layout. (I guess never migrating to the US layout is top-3 reason I'll never be a 10x dev.)

Copy link
Member

@emilk emilk Oct 24, 2025

Choose a reason for hiding this comment

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

No, in Windows Alt-Tab is application switching (like cmd-tab in Mac)

Copy link
Member

Choose a reason for hiding this comment

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

Ah right, my bad!

@lucasmerlin lucasmerlin added ui concerns graphical user interface include in changelog labels Oct 23, 2025
@abey79 abey79 self-requested a review October 23, 2025 15:54
@gavrelina
Copy link
Member

had a huddle with @abey79:

we have now 2 ways going between recordings, by ↑ and ↓ and CMD+[ /CMD+] .
the cmd+[ and cmd+] behaves weird, it goes through all the items even if they are not recordings.
We decided on 2 things:

  1. Do not go to next dataset with cmd[/cmd], but loop through the ones belonging to current dataset. (To simply go through recordings panel one may use arrows, which is easier)

  2. What is the added value of even having Cmd[ and cmd]? It adds value if the selection is "preserved" whilst switching to another recording, else it's repetitive and cumbersome.

With this we keep it, and add a separate task for keeping a selection.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

include in changelog ui concerns graphical user interface

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants