mirage icon indicating copy to clipboard operation
mirage copied to clipboard

Vim-like bindings

Open j0lol opened this issue 4 years ago • 1 comments

Since this program is quite keyboard focused, a vim-like binding mode would be neat. I'm talking more about an insert mode for messages, normal mode lets you navigate with eaiser keybindings, not asking for vim bindings while editing messages. (mostly because pressing alt and ctrl for every command is uncomfortable) For an example of what im talking about, see qutebrowser.

j0lol avatar Aug 03 '20 17:08 j0lol

I would love this honestly. My fingers are on the home row keys all the time and I use vim all the time.

There's some configuration for changing key functionality, but I do think it is quite limited a little bit. And, how do I make sure that when I hit j or k or other keys, it doesn't get inputted in my draft message-to-send? That's the part idk. I don't know qT or python that well to go in there and make a pull request, but if i did i would.

This client is the best one i've used so far, it's the least clunkiest lol

here's key config settings ~/.config/mirage/settings.json

"keys": {
        "accountSettings": [
            "Alt+A"
        ],
        "addNewAccount": [
            "Alt+Shift+A"
        ],
        "addNewChat": [
            "Alt+C"
        ],
        "clearRoomFilter": [
            "Alt+Shift+F"
        ],
        "clearRoomMessages": [
            "Ctrl+L"
        ],
        "debugFocusedMessage": [
            "Ctrl+Shift+D"
        ],
        "focusAccountAtIndex": {
            "01": "Ctrl+1",
            "02": "Ctrl+2",
            "03": "Ctrl+3",
            "04": "Ctrl+4",
            "05": "Ctrl+5",
            "06": "Ctrl+6",
            "07": "Ctrl+7",
            "08": "Ctrl+8",
            "09": "Ctrl+9",
            "10": "Ctrl+0"
        },
        "focusNextMessage": [
            "Ctrl+Down",
            "Ctrl+J"
        ],
        "focusPreviousMessage": [
            "Ctrl+Up",
            "Ctrl+K"
        ],
        "focusRoomAtIndex": {
            "01": "Alt+1",
            "02": "Alt+2",
            "03": "Alt+3",
            "04": "Alt+4",
            "05": "Alt+5",
            "06": "Alt+6",
            "07": "Alt+7",
            "08": "Alt+8",
            "09": "Alt+9",
            "10": "Alt+0"
        },
        "forgetRoom": [
            "Alt+Shift+Escape"
        ],
        "goToLastPage": [
            "Ctrl+Tab"
        ],
        "goToNextAccount": [
            "Alt+N"
        ],
        "goToNextMentionedRoom": [
            "Alt+M"
        ],
        "goToNextRoom": [
            "Alt+Shift+Down",
            "Alt+Shift+J"
        ],
        "goToNextUnreadRoom": [
            "Alt+U"
        ],
        "goToPreviousAccount": [
            "Alt+Shift+N"
        ],
        "goToPreviousMentionedRoom": [
            "Alt+Shift+M"
        ],
        "goToPreviousRoom": [
            "Alt+Shift+Up",
            "Alt+Shift+K"
        ],
        "goToPreviousUnreadRoom": [
            "Alt+Shift+U"
        ],
        "inviteToRoom": [
            "Alt+I"
        ],
        "leaveRoom": [
            "Alt+Escape"
        ],
        "nextTab": [
            "Alt+Shift+Right",
            "Alt+Shift+L"
        ],
        "openMessagesLinks": [
            "Ctrl+O"
        ],
        "openPresenceMenu": [
            "Alt+P"
        ],
        "previousTab": [
            "Alt+Shift+Left",
            "Alt+Shift+H"
        ],
        "refreshDevices": [
            "Alt+R",
            "F5"
        ],
        "reloadConfig": [
            "Alt+Shift+R"
        ],
        "removeFocusedOrSelectedMessages": [
            "Ctrl+R",
            "Alt+Del"
        ],
        "replyToFocusedOrLastMessage": [
            "Ctrl+Q"
        ],
        "scrollDown": [
            "Alt+Down",
            "Alt+J"
        ],
        "scrollPageDown": [
            "Alt+Ctrl+Down",
            "Alt+Ctrl+J",
            "PgDown"
        ],
        "scrollPageUp": [
            "Alt+Ctrl+Up",
            "Alt+Ctrl+K",
            "PgUp"
        ],
        "scrollToBottom": [
            "Alt+Ctrl+Shift+Down",
            "Alt+Ctrl+Shift+J",
            "End"
        ],
        "scrollToTop": [
            "Alt+Ctrl+Shift+Up",
            "Alt+Ctrl+Shift+K",
            "Home"
        ],
        "scrollUp": [
            "Alt+Up",
            "Alt+K"
        ],
        "selectMessagesUntilHere": [
            "Ctrl+Shift+Space"
        ],
        "sendFile": [
            "Alt+S"
        ],
        "sendFileFromPathInClipboard": [
            "Alt+Shift+S"
        ],
        "signOutCheckedOrAllDevices": [
            "Alt+S",
            "Delete"
        ],
        "startPythonDebugger": [
            "Alt+Shift+D"
        ],
        "toggleCollapseAccount": [
            "Alt+O"
        ],
        "toggleCompactMode": [
            "Ctrl+Alt+C"
        ],
        "toggleDebugConsole": [
            "Alt+Shift+C",
            "F1"
        ],
        "toggleFocusMainPane": [
            "Alt+F"
        ],
        "toggleFocusRoomPane": [
            "Alt+R"
        ],
        "toggleHideRoomPane": [
            "Ctrl+Alt+R"
        ],
        "togglePresenceInvisible": [
            "Alt+Ctrl+I"
        ],
        "togglePresenceOffline": [
            "Alt+Ctrl+O"
        ],
        "togglePresenceUnavailable": [
            "Alt+Ctrl+U",
            "Alt+Ctrl+A"
        ],
        "toggleSelectMessage": [
            "Ctrl+Space"
        ],
        "unfocusOrDeselectAllMessages": [
            "Ctrl+D"
        ],
        "zoomIn": [
            "Ctrl++"
        ],
        "zoomOut": [
            "Ctrl+-"
        ],
        "zoomReset": [
            "Ctrl+="
        ]
    },

zacharytyhacz avatar Nov 24 '20 18:11 zacharytyhacz