Refine and set default keybindings to sane defaults
This commit is contained in:
parent
5e0a7d57f6
commit
3936a6f07b
2 changed files with 22 additions and 29 deletions
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue