hydrusnetwork / hydrus

A personal booru-style media tagger that can import files and tags from your hard drive and popular websites. Content can be shared with other users via user-run servers.
http://hydrusnetwork.github.io/hydrus/
Other
2.4k stars 159 forks source link

FR: Bind "q" to exit the image viewer #118

Closed ScoreUnder closed 4 years ago

ScoreUnder commented 8 years ago

Feh has a "q" key binding to exit, and similarly I'd like that feature in the built-in image viewer. I often lazily whack the q key to exit the image viewer then realize I can't just do that and I have to press the full "close this window" hotkey.

CuddleBear92 commented 8 years ago

i would say that it would be better with Ctrl + W as that is already the close tab button, but at this moment Hydrus closes the button in the main window over the image viewer eventho the image viewer as highlighted (atleast on Windows) .

doing that binding over just Q would also make sense as many other programs use that binding the same way.

i vote for a change so pressing Ctrl + W would close the highlighted windows if its an image viewer, that way it would close the image viewer instead of closing the library tab in the main window (which isnt even highlighted).

using a keybinding that is already used by other programs aswell as Hydrus in another way just makes things easier, i dont see a need to have multiple keybindings across the program like that, better with one shared keybinding that works the same way no matter what window you have highlighted.

TLDR: fix that the close tab keybinding closes the image viewer if its highlighted over the tab in the main window.

ScoreUnder commented 8 years ago

The reason I'd want q is because it's a single key to press. I don't see any reason to have to press key combos when there's nothing to type into - it puts perfectly good keyboard keys to waste. I wouldn't be opposed to binding it to both Ctrl+W and Q, but I think it's missing a trick if you can't just flick a button on the keyboard and have it do what you want. Like in feh where you can hit q to quit, e to show exif tags, w to set the window size to the best fit, s to re-save the image, etc. No need to stretch out or to use 2 hands, no need to ensure you hit the modifier key first, you can be as lazy as you like. You could even control the program entirely with your nose if you were so inclined. I don't see why you'd want to have to press 2 keys simultaneously, activated in the right order, when you could just hit one key. Mandatory key chording should be reserved for when you run out of sensible buttons to use.

using a keybinding that is already used by other programs aswell as Hydrus in another way just makes things easier, i dont see a need to have multiple keybindings across the program like that, better with one shared keybinding that works the same way no matter what window you have highlighted.

2 l8 m8 Ctrl+W in my browser, my shell, my text editor, my IRC client (etc.) will delete one word left, and will not cause the program to exit. Which is why I don't appreciate it when Skype makes a chat disappear when I try to ^W away a mistake. q exits feh as well as less, ncdu, htop, ncmpcpp and similar programs (all of those listed are programs I use on a daily basis). I don't quite know a better way to put it but it's like more transient programs will usually bind q to quit, and I'd definitely call the image viewer transient.

Besides, I think binding ctrl+W to close a window is silly - there's already a 2-button hotkey for that and it's Alt+F4 in Windows. And in a similar vein, if ctrl+w is meant to close a single view inside a window, but it also closes an entire window depending on what window it's in, that's not "working the same way" IMO.

Though if you're willing to have a "discoverable" keybind (ctrl+w) and an "easy" one (q) together I'd like that. Either that or configurable keybinds which I imagine will be a barrel of fun.

hydrusnetwork commented 8 years ago

I think this is best left for my rewrite the shortcut system, which will be a votable item on next week's poll. Then people can set whatever shortcuts they want for actions like these, and the way the key events will be propagated will be more sane, so there should be fewer misfires.

For now, I think Escape will send a close event to the media viewer.

AeliusSaionji commented 8 years ago

@AreFinstad Ctrl+W is typically used to close tabs, and is more typically found under Windows. 'q' to quit viewers is a very common Linux convention.

On the face of it, it doesn't make much sense to have Ctrl+W close the viewer- q makes more sense, though I recognize non-Linux users would not be intimately familiar with this convention. Then again, the only convention Windows establishes is Alt-F4 or File>Exit, and only sometimes Esc, so... That being said, Ctrl+W definitely shouldn't be closing something that's not in focus- it should just do nothing by default.

Esc sounds like a fine default, but I would throw my vote in for 'q' closing the viewer by default, too. Hydrus is, after all, multiplatform, and to respect both platforms, both Esc and q should be default. Ctrl+W should be supported by the shortcut system should the user desire it, but as the viewer does not have tabs, it should not be using the tab-close convention.

CuddleBear92 commented 4 years ago

Hey, issues here have been reenabled and will be used for bug reports/feature requests in the future.

We are currently clearing out all the existing issues from 2017 and prior. If your bug report or feature request is still relevant, please create a new issue (or use one of the other channels; see https://hydrusnetwork.github.io/hydrus/).