contour-terminal / contour

Modern C++ Terminal Emulator
http://contour-terminal.org/
Apache License 2.0
2.38k stars 102 forks source link

UI: Command Palette #253

Open christianparpart opened 3 years ago

christianparpart commented 3 years ago

Just like you also have in some other modern apps and editors. Having a command palette is sometimes easier than creating near countless key binds.

WSLUser commented 3 years ago

You stole this idea from another project didn't you (not that it's a bad thing. It's really useful).

christianparpart commented 3 years ago

You stole this idea from another project didn't you (not that it's a bad thing. It's really useful).

In fact, i stole this idea from my one friend who requested that feature. Not sure if it was his invention, most likely not, but i know some editors feature that (i am using vim though).

I think regardless of what project you are on, such a facility may come in handy to reduce the number of shortcuts to remember at all times. Especially for rarely used actions, users could benefit from this.

WSLUser commented 3 years ago

Windows Terminal added it as people loved it from VSCode. They use WinUI to implement it though. I'm not sure what UI framework you're using (gtk?)

christianparpart commented 3 years ago

You stole this idea from another project didn't you (not that it's a bad thing. It's really useful).

Qt actually. And that's the only thing one should touch. With very little qt knowledge and some time to look how actions are handled in contour, implementing this should be a good candidate for first time contributors. :)

WSLUser commented 3 years ago

I raised an issue that may help with this (especially since you mention you're not as familiar with QT).

whisperity commented 3 years ago

Moving a bit of discussion from #296 to here.

@christianparpart

wrt popup, I think that could also go in hand with the command palette idea, so people do not need to remember yet another keybind but just trigger command palette

I think in general every kind of "action" that is available from the command pallette SHOULD be keybind-able.