fork-dev / TrackerWin

Bug and issue tracker for Fork for Windows
461 stars 10 forks source link

Fork Keyboard Shortcuts #333

Open TanyaPristupova opened 5 years ago

TanyaPristupova commented 5 years ago
General Navigation
All Commits View
Changes View
Repository
Repository Manager
Otiel commented 5 years ago
  • CtrlAltShiftF (Ctrl + click on button) - Quick Fetch
  • CtrlAltShiftL (Ctrl + click on button) - Quick Pull
  • CtrlAltShiftP (Ctrl + click on button) - Quick Push

Teasing for a future version? 😆

jerone commented 5 years ago

Wiki or the Readme would be a better place for this. This issue will go unnoticed.

DanPristupov commented 5 years ago

Teasing for a future version? 😆

Not only this, but also the filter in the Changes view :)

  • CtrlF - Filter
circleupx commented 5 years ago

Wiki or the Readme would be a better place for this. This issue will go unnoticed.

Please consider making this a wiki

thibaultmeyer commented 5 years ago

Please add "Delete" to delete selected branch

matheuslopesdev commented 5 years ago

Hi, It would be great to have an "Apply stash" shortcut

PsyhoBelka commented 5 years ago

is any keys to navigate between commits inside current branch? not up/down in general commits list - only between currently selected branch (like in Intelij IDEA, you can pres left/right to navigate prev/next commit in current branch)

aodpi commented 5 years ago

Is it possible to change the shortcuts in settings?

krumeich commented 5 years ago

Thanks for adding zoom in/out with ctrl+/ctrl-. Please consider adding ctrl= to reset zoom.

lorenzo-arena commented 5 years ago

Can you consider also adding another shortcut to open an explorer instance pointing to a selected file?

sm-g commented 5 years ago

What does Spacebar when file in staged/unstaged change list selected? Unnamed window with diff opened. There is no such command in context menu of file. (I expect it to work like in SourceTree - move between staged/upstaged)

DanPristupov commented 5 years ago

What does Spacebar when file in staged/unstaged change list selected?

It opens large window with diff.

I expect it to work like in SourceTree - move between staged/upstaged

It's not related.

samizzo commented 5 years ago

Another vote here for changing shortcuts!

odalet commented 5 years ago

On my French keyboard, Zoom in works, but Zoom out (Ctrl+-) does not. And a way to reset the zoom level to its default would be great too!

Should I fill a separate issue?

EDIT:

I've dug a bit and it appears that the OemMinus key simply does not exist on French keyboards (or more precisely, the VK_OEM_MINUS code is never raised on French keyboards... see https://stackoverflow.com/questions/12634190/vk-oem-minus-doesnt-work-on-azerty-keyboard).

I don't know exactly how you bind zoom in/out commands to actual zooming, but I suspect you rely on WPF Key Gestures. I came with a prototype that allows French keyboards to kinda work given it has a numpad:

public static class CustomCommands
{
    public static readonly RoutedUICommand ZoomIn = new RoutedUICommand(
        "Zoom In", "ZoomIn", typeof(CustomCommands), new InputGestureCollection
        {
            new KeyGesture(Key.Add, ModifierKeys.Control), // This is the "numpad +" key
            new KeyGesture(Key.OemPlus, ModifierKeys.Control), // This is the "+, =, }" key on a French Keyboard
        });

    public static readonly RoutedUICommand ZoomOut = new RoutedUICommand(
        "Zoom Out", "ZoomOut", typeof(CustomCommands), new InputGestureCollection
        {
            //new KeyGesture(Key.D6, ModifierKeys.Control), // This is the "6, -, |" key on a French Keyboard
            new KeyGesture(Key.Subtract, ModifierKeys.Control), // This is the "numpad -" key
            new KeyGesture(Key.OemMinus, ModifierKeys.Control),// This does not work on a French Keyboard
        });
}

The solution above should work without needing full internationalization of shortcuts.

On the other hand, if you can go the i18n way, then replacing Key.OemMinus with Key.D6 only in the fr-FR case would allow us French to Zoom out on notebook French keyboards as well.

PS: it is kind of weird to have the shortcut display "Ctrl+=" for zoom in where logically it is bound to '+' and visually (at least on US/French keyboards, + and = are on the same key

Hope this helps

rog1039 commented 5 years ago

CtrlAltShiftS - Stage/unstage all files >> Does not work on my computer running 1903 Windows 10. Windows opens the built-in sticky note app instead.

DanPristupov commented 5 years ago

@odalet we added handling of Key.Subtract in Fork 1.40.

it is kind of weird to have the shortcut display "Ctrl+=" for zoom in where logically it is bound to '+' and visually (at least on US/French keyboards, + and = are on the same key

This is a common approach. VS Code also uses "Ctrl+=" (https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf)

odalet commented 5 years ago

@DanPristupov Thanks for the quick fix! Then it may be a good idea to also support Ctrl+NumPad+ for zooming in (VS Code does); this would make it easier to zoom in/out because of proximity on the keyboard. Concerning a Reset zoom command, VS Code supports Ctrl+Numpad0. Other tools (eg. Notepad++) use Ctrl+Numpad/...

Anyway, thanks again! By the way, if you ever accept contributions I'd be glad to help: I'm a professional .NET developer and know some WPF. I use fork on a daily basis and find it wonderful; it has completely replaced Sourcetree for my Gui needs. So, if you ever consider contributions, do not hesitate reaching out to me!

jasenmoloy commented 5 years ago

Can we add Ctrl + B as a shortcut to checkout a branch? This is already implemented on the Mac OS version.

Adding this feature makes it a lot easier to checkout a remote branch during a PR than having to search through a large list of remote branches in the sidebar.

DanPristupov commented 5 years ago

@jasenmoloy did you try to use the CtrlP -> checkout? It provides pretty similar experience in my opinion.

valhristov commented 5 years ago

Could you add F2 as shortcut to rename a branch?

szyb commented 5 years ago

Is it possible to provide functionality that user would be able to change default keybindings?

svennergr commented 5 years ago

Can we get Quick Fetch/Quick Pull/Quick Push also in the Quick Launch command palette?

SaebAmini commented 5 years ago

Ctrl Alt Shift F to Quick Fetch doesn't work for me, but (Ctrl + click on button) and other "Quick xxx" operations work.

SaebAmini commented 5 years ago

Could you add CTRL R as an alternative to F5

Otiel commented 5 years ago

Ctrl Alt Shift F to Quick Fetch doesn't work for me, but (Ctrl + click on button) and other "Quick xxx" operations work.

411

NN--- commented 5 years ago

Is there a shortcut to filter branches tree ?

Otiel commented 5 years ago

Is there a shortcut to filter branches tree ?

CtrlF but it must be used when focus is on the left navigation pane.

NN--- commented 5 years ago

What is the shortcut for the left pane ? Thanks.

Otiel commented 5 years ago

What is the shortcut for the left pane ?

There is none, except hitting Tab or ShiftTab a number of times, depending where the focus is initially - which is not practical at all.

NN--- commented 5 years ago

Is there shortcut for Amend checkbox ?

DanPristupov commented 5 years ago

No

NN--- commented 5 years ago

Is it possible to get there with the keyboard ? I tried pressing Tab but it doesn't get focus.

mloskot commented 5 years ago

Is there shortcut for Amend checkbox ?

Folks, please, before this issue runs towards ridiculously cliff... If one wishes a full keyboard power for Git operations, just use git command.

NN--- commented 5 years ago

I disagree. GUI usability is important. Of course if I want console I can go for oh-my-zsh or other solutions but we discuss here Fork Git GUI.

Adding shortcuts or accessibility keys is not hard and improves productivity.

Otiel commented 5 years ago

Adding shortcuts or accessibility keys is not hard and improves productivity.

I agree. IMO this kind of shortcuts should be fixed through #320.

mloskot commented 5 years ago

Adding shortcuts or accessibility keys is not hard and improves productivity.

Yes, but it's hardly feasible or practical to add them for every single feature or command in a non-trivial UI.

Otiel commented 5 years ago

Adding shortcuts or accessibility keys is not hard and improves productivity.

Yes, but it's hardly feasible or practical to add them for every single feature or command in a non-trivial UI.

Shortcuts - yes.

Access keys - what's hard in adding them for every control?

mloskot commented 5 years ago

@Otiel Indeed. Mind you, @NN--- asked for

Is there shortcut for Amend checkbox ?

DanPristupov commented 5 years ago

I think I need to get a step back and explain how things usually work.

  1. We don't want to bloat the application.
  2. We especially don't want to bloat the application with features nobody uses (and I personally really want to avoid 1-user features).
  3. There's not many people working on Fork and we have quite limited resources. We don't have a time to implement and support features that nobody uses.

So, there must be a good discussion or a good number of 'likes' before we implement something. Each feature must grow up.

Is there a shortcut to filter branches tree ? What is the shortcut for the left pane ? Is there shortcut for Amend checkbox ?

Are not the requests which explain why those features are useful and must be introduced.

If you want to propose a feature:

  1. Open a separate issue so other people could easily find it and track the status. It's also very important that the ones who are not interested won't be spammed on every update (like in this topic).
  2. Describe the use case and why the feature is useful. Don't think 'It's obvious!'
  3. Don't describe missed things as a bug.

Here are the good examples how it worked:

jonrcrowell commented 5 years ago

We have these:

Ctrl+Alt+O = Open in File Explorer

Ctrl+Alt+T = Open in Terminal

Can we have this added as well?

Ctrl+Alt+V = Open in VS Code

Or maybe

Ctrl+Alt+E = Open in Editor

and allow us to configure the external editor in Preferences => Editor?

yuyoyuppe commented 4 years ago
domantascibas commented 4 years ago

According to the documentation Ctrl+Alt+Enter should do the Commit+Push, but Ctrl+Shift+Enter actually works for me. I haven't changed any settings, so probably you'll need to update the documentation :)

DanPristupov commented 4 years ago

@domantascibas done, thank you.

tomasz-stochmal commented 4 years ago

[Ctrl] [Shift] [A] - Filter by Active Branch

Similar to git log command

tomasz-stochmal commented 4 years ago

Is there a shortcut to filter branches tree ?

[Ctrl] [Shift] [A] - Filter by Active Branch

krumeich commented 4 years ago

Thanks for adding the [ctrl] modifier for "quick fetch". Alas, this only works with the left [ctrl] key on my keyboard (Standard 102 keys, German layout). For people with their pointing device on the left side, this is a bit inconvenient.

Kindly consider adding the right [ctrl] key as a modifier for "quick fetch".

DanPristupov commented 4 years ago

@krumeich I just checked on two different computers, both control keys work for me when I click on the fetch button on the toolbar. I also tried to connect external keyboard.

Not sure if layout can be related, but I use the US layout.

krumeich commented 4 years ago

Thanks for looking into this. Turns out, this has been a false alarm: Sorry!

aabgaryan commented 4 years ago

@TanyaPristupova Please, make it possible to assign key bindings to desired function. For example it would be convenient for me to use "Stage selected file" with Space key like in SourceTree. Плииз, make it possible. another request https://github.com/ForkIssues/TrackerWin/issues/333#issuecomment-533678854

wmertens commented 4 years ago

Bumping https://github.com/ForkIssues/TrackerWin/issues/333#issuecomment-510497439 - I see and aren't bound in the commit view, and for busy repositories it would be great to go to the parent/child commit instead of the next sorted commit, so that you can follow a branch.