Comments (6)
Rather than listing the commands in full on the command bar, I think it would be fine to just list the keys and rely on the help popup if needed. So instead of:
Focus Stage [2] Stage Item [enter] Reset Item [D] Nav [←↑→↓] Diff [→] Help [h] Quit [ctrl+c]
It could be:
[2][enter][D][←↑→↓][^c] Help [h]
or something along those lines, maybe grouping the single-character ones together.
from gitui.
we can use colors to compress commands a bit like Norton back in the day:
what about using sub-menus ? I mean for the less frequently commands instead of running the command we can open a submenu like:
This has the benefit of being self documenting and provides shortcut sequences for power users.
wdyt ?
from gitui.
So I gave this a bit more thought. The submenu approach has one drawback: We need a shortcut for every submenu to open to inspect the commands inside, or we need a shortcut that switches focus entirely to the menu structure and then use the arrow-keys to navigate the menu structure.
Both solutions do not feel right.
My idea right now is to keep the bottom-bar as is and cut of commands that do not fit the width. this would automatically add a more [space]
shortcut at the end to expand the bottom bar to the required height to be able to draw all available commands.
commands already are sorted based on some sort of priority
which should allow us to put the most important ones up front.
comments?
from gitui.
the problem with having a flat command toolbar is that it gets crowded fast and there is no grouping of related commands. on the other hand this design's is more horizontal which is an added value on modern screens.
from gitui.
I feel you may have painted yourself into a corner with your first two statements.
- One of the main goals of
gitui
is to not require the user to learn cryptic hotkeys/shortcuts to work with it. - The command bar (at the bottom) always shows what actions are available in the current context.
The first is admirable however I believe the second is the root of the issue you are currently experiencing with the design.
It may be possible to add a third (implied) ambition which is also in conflict with the second above.
- Add more features users find beneficial.
There is limited screen real-estate available and whatever scheme you decide on now (eg, jugglerchris's reasonable suggestion above) will probably eventually hit the same problem as more features/combinations are introduced.
May I suggest re-phrasing your second statement to something more like:
- It should always be easy to determine the correct command.
I would hope that this alternative statement opens up the "idea" space.
My suggestions would be:
- a scheme where the first letter, or high lighted letter is the associated command key.
- an easily accessible hint system where a key can be pressed to highlight the command. Such as pressing
alt
when using some GUIs where the shortcut key gains an underline. - a comprehesive, well laid out help modal.
- a list of the most unused shortcuts at the bottom. The assumption being the user knows the most used because they are using them!
from gitui.
#101 contains a WIP of my suggested solution (#83 (comment)):
After this I am considering adding another option to reduce the commands to the shortcuts-only like @jugglerchris suggested.
from gitui.
Related Issues (20)
- commit text box does not support copy/cut /paste
- vim_style_key_config doesn't work on the latest version, V0.24.3 HOT 1
- create branch popup too small
- validate branch re-name HOT 2
- opening non-repo prints panic
- Stashing file not showing after running Blame (Shift+B) HOT 1
- allow remote fetching in branch popup (local tab)
- ratatui update HOT 7
- provide nightly releases
- Call for co-maintainers HOT 1
- `bumpalo v3.15.0` is yanked
- Control chars in pre-commit hook output HOT 3
- v0.25 does not install via cargo install HOT 6
- v0.25/v0.25.1 does not build with cargo-1.70.0 (feature/dependency problem with env_logger and/or clap_builder) HOT 5
- push failed: git error:invalid or unknown remote ssh hostkey; class=Ssh (23); code=Certificate (-17) HOT 1
- support ssh configs (aliases, sshCommand and such)
- `cargo install gitui` fails without `--lock` or lockfile: gitui v0.25.1 HOT 7
- win11 terminate gitui SHIFT keymap doesn't work
- Should be possible to set the tabstop size
- Pls change color of border if repo is BEHIND
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gitui.