Refine and set default keybindings to sane defaults

This commit is contained in:
ayntgl 2022-01-25 00:19:03 +04:00
parent 5e0a7d57f6
commit 3936a6f07b
2 changed files with 22 additions and 29 deletions

View file

@ -15,18 +15,17 @@ type GeneralConfig struct {
}
type KeybindingsConfig struct {
FocusGuildsList string `json:"focusGuildsList"`
FocusChannelsTreeView string `json:"focusChannelsTreeView"`
FocusMessagesTextView string `json:"focusMessagesTextView"`
FocusMessageInputField string `json:"focusMessageInputField"`
FocusMessageActionsList string `json:"focusMessageActionsList"`
ToggleGuildsList string `toml:"toggle_guilds_list"`
ToggleChannelsTreeView string `toml:"toggle_channels_tree_view"`
ToggleMessagesTextView string `toml:"toggle_messages_text_view"`
ToggleMessageInputField string `toml:"toggle_message_input_field"`
ToggleMessageActionsList string `toml:"toggle_message_actions_list"`
ToggleExternalEditor string `toml:"toggle_external_editor"`
OpenEditor string `json:"open_editor"`
SelectPreviousMessage string `json:"selectPreviousMessage"`
SelectNextMessage string `json:"selectNextMessage"`
SelectFirstMessage string `json:"selectFirstMessage"`
SelectLastMessage string `json:"selectLastMessage"`
SelectPreviousMessage string `toml:"select_previous_message"`
SelectNextMessage string `toml:"select_next_message"`
SelectFirstMessage string `toml:"select_first_message"`
SelectLastMessage string `toml:"select_last_message"`
}
type Config struct {
@ -75,13 +74,12 @@ func newDefaultConfig() Config {
Timestamps: false,
},
Keybindings: KeybindingsConfig{
FocusGuildsList: "Alt+Rune[g]",
FocusChannelsTreeView: "Alt+Rune[t]",
FocusMessagesTextView: "Alt+Rune[m]",
FocusMessageInputField: "Alt+Rune[i]",
FocusMessageActionsList: "Alt+Rune[a]",
OpenEditor: "Alt+Rune[e]",
ToggleGuildsList: "g",
ToggleChannelsTreeView: "c",
ToggleMessagesTextView: "m",
ToggleMessageInputField: "i",
ToggleMessageActionsList: "a",
ToggleExternalEditor: "Ctrl-E",
SelectPreviousMessage: "Up",
SelectNextMessage: "Down",

View file

@ -16,16 +16,16 @@ import (
func onAppInputCapture(app *App, e *tcell.EventKey) *tcell.EventKey {
switch e.Name() {
case app.Config.Keybindings.FocusGuildsList:
case app.Config.Keybindings.ToggleGuildsList:
app.SetFocus(app.GuildsList)
return nil
case app.Config.Keybindings.FocusChannelsTreeView:
case app.Config.Keybindings.ToggleChannelsTreeView:
app.SetFocus(app.ChannelsTreeView)
return nil
case app.Config.Keybindings.FocusMessagesTextView:
case app.Config.Keybindings.ToggleMessagesTextView:
app.SetFocus(app.MessagesTextView)
return nil
case app.Config.Keybindings.FocusMessageInputField:
case app.Config.Keybindings.ToggleMessageInputField:
app.SetFocus(app.MessageInputField)
return nil
}
@ -197,7 +197,7 @@ func onMessagesTextViewInputCapture(app *App, e *tcell.EventKey) *tcell.EventKey
Highlight(ms[app.SelectedMessage].ID).
ScrollToHighlight()
return nil
case app.Config.Keybindings.FocusMessageActionsList:
case app.Config.Keybindings.ToggleMessageActionsList:
messageActionsList := tview.NewList()
hs := app.MessagesTextView.GetHighlights()
@ -320,7 +320,7 @@ func onMessageInputFieldInputCapture(app *App, e *tcell.EventKey) *tcell.EventKe
app.SelectedMessage = -1
app.MessagesTextView.Highlight()
return nil
case app.Config.Keybindings.OpenEditor:
case app.Config.Keybindings.ToggleExternalEditor:
e := os.Getenv("EDITOR")
if e == "" {
return nil
@ -351,10 +351,5 @@ func onMessageInputFieldInputCapture(app *App, e *tcell.EventKey) *tcell.EventKe
app.MessageInputField.SetText(string(b))
}
// The default global navigation shortcuts include Alt as the mod key.
if e.Modifiers() == tcell.ModAlt {
return nil
}
return e
}