Go-For-It icon indicating copy to clipboard operation
Go-For-It copied to clipboard

[Feature request]Add shortcuts for common operations

Open linusboyle opened this issue 6 years ago • 13 comments

Is your feature request related to a problem? Please describe. go-for-it does not provide friendly keyboard shortcuts right now. It seems like a nuisance to go back and forth from the input line to the entries.

Describe the solution you'd like I would like to suggest the following shortcuts: Ctrl-L to focus on the editing input box(as is used by most browsers and file managers); J and K to move cursors up and down(Vim-like); Ctrl-J and Ctrl-K to move entries up and down; Space to edit the active entry; Ctrl-Tab to go through the tabs; Ctrl+Enter to mark entry done;

It would also be great to add more, and a mechanism to allow user-defined shortcut.

linusboyle avatar Apr 14 '19 11:04 linusboyle

Sorry for not responding sooner.

Some feedback on your proposals:

Ctrl-L to focus on the editing input box(as is used by most browsers and file managers);

Ctrl-N already performs a similar function. (Was not included in 1.7.1)

J and K to move cursors up and down(Vim-like);

I think the arrow keys work fine for selecting a task when the task list is visible. It currently isn't possible to switch to the next or previous task when the timer is visible so this would be a good addition.

Ctrl-J and Ctrl-K to move entries up and down;

Sounds good.

Space to edit the active entry;

Enter already does that. (https://github.com/JMoerman/Go-For-It/commit/9cde61b24d0e0928f885a85a3471270339abd82e improved its behavior, though.) Actually, space seems to work too.

Ctrl-Tab to go through the tabs;

One of the first things I thought of myself a few weeks back, however, tab and Ctrl+Tab are already used to cycle through the widgets in Gtk. So that wouldn't be a great choice. I don't yet know a good alternative, though.

Ctrl+Enter to mark entry done;

Sounds reasonable.

Btw, Ctrl+f can be used to filter, Ctrl+n opens a dialog to add a new list or jumps to the entry for adding a new task (depending on the context) and Ctrl+p stops/starts the timer (but that one was only implemented today). An overview of the shortcuts is currently still missing.

JMoerman avatar Apr 25 '19 16:04 JMoerman

https://github.com/JMoerman/Go-For-It/commit/6e75e5ae643151c403db911f6fb335c9992aa967 implements the J, K, Ctrl-J, Ctrl-K, Ctrl+Enter shortcuts you suggested. It is now also possible to switch to another page by using Shift+J and Shift+K (feel free to propose better shortcuts for this.)

JMoerman avatar Apr 26 '19 19:04 JMoerman

Thanks a lot for this convenient feature. I'd suggest J and K for down and up respectively. It's confusing for now to have opposite behaviors to vim-like movements. Also H and L would be nice for switch_page_left and switch_page_right, since the pages (or tabs?) are horizontally layouted. At last I hope there are also shortcuts to display shortcut lists and cancel new tasks adding, maybe using ? and esc?

redbug312 avatar May 28 '19 04:05 redbug312

Thanks a lot for this convenient feature. I'd suggest J and K for down and up respectively. It's confusing for now to have opposite behaviors to vim-like movements. Also H and L would be nice for switch_page_left and switch_page_right, since the pages (or tabs?) are horizontally layouted. At last I hope there are also shortcuts to display shortcut lists and cancel new tasks adding, maybe using ? and esc?

@RedBug312 Oops, I mistyped the order. J and K should be down and up :(

H and L seem good to me, but maybe we should use capitalized ones? For non-vi users this behaviour would be confusing.

linusboyle avatar Jun 01 '19 07:06 linusboyle

@linusboyle Yes, but I'd prefer Ctrl+H/L than Shift+H/L. In this case Shift could be eliminated from any shortcuts.

redbug312 avatar Jun 01 '19 13:06 redbug312

I will improve the shortcuts situation (configurable shortcuts, better default shortcuts, redoing shortcut code) as soon as I have time, but currently I'm overloaded with assignments and exams. For now I have swapped J and K.

JMoerman avatar Jun 01 '19 18:06 JMoerman

The current keyboard shortcuts can now be configured using dconf. A swttings window/widget for changing the shortcuts still needs to be made.

JMoerman avatar Jun 23 '19 18:06 JMoerman

Please also add ctrl + q to end the app.

klawdhfzasjhaa avatar Feb 26 '21 23:02 klawdhfzasjhaa

@klawdhfzasjhaa Done: de76f9478a1fb0680691ac9ed38187c8895f0c22

JMoerman avatar Feb 28 '21 17:02 JMoerman

Perfect, thank you! Which version number will I have to look for? You mentioned dconf. Does it mean, there is a config file (where?), that users can edit to customize shortcuts?

klawdhfzasjhaa avatar Feb 28 '21 19:02 klawdhfzasjhaa

I've yet to release a version containing this change. I may release 1.9.2 this week.

I'm actually not using dconf directly, rather I'm using GSettings, which on most distros uses the dconf backend. (Exception, for flatpaks .conf files are used as GSettings backend.) Users do not have to bother with config files, you can customize shortcuts from within the shortcuts page of the settings dialog. (If you really want to do it the hard way, they can be changed using, for example, dconf-editor.) I have hard coded the quit shortcut to ctrl+q, though, as it is ctrl+q everywhere else.

JMoerman avatar Mar 01 '21 14:03 JMoerman

Does someone know some good shortcuts for sorting tasks and for skipping to the break/skipping the break? The following shortcuts are already in use: j, ctrl+j, k, ctrl+k, ctrl+tab, ctrl+shift+tab, ctrl+f, ctrl+n, ctrl+p, ctrl+return, space.

JMoerman avatar Mar 01 '21 14:03 JMoerman

@klawdhfzasjhaa I just released 1.9.2, which includes the ctrl + q shortcut.

JMoerman avatar Mar 08 '21 09:03 JMoerman