mirror of
https://github.com/eeeXun/GTT.git
synced 2025-05-16 15:50:52 -07:00
feat: let exit be configurable
This commit is contained in:
parent
7109c19814
commit
c20c8b67db
@ -163,6 +163,7 @@ Switch pop out window.
|
|||||||
|
|
||||||
You can overwrite the following key
|
You can overwrite the following key
|
||||||
|
|
||||||
|
- `exit`: Exit program.
|
||||||
- `translate`: Translate from source to destination window.
|
- `translate`: Translate from source to destination window.
|
||||||
- `swap_language`: Swap language.
|
- `swap_language`: Swap language.
|
||||||
- `clear`: Clear all text in source of translation window.
|
- `clear`: Clear all text in source of translation window.
|
||||||
@ -177,8 +178,6 @@ You can overwrite the following key
|
|||||||
|
|
||||||
For key to combine with `Ctrl`, the value can be `"C-space"`, `"C-\\"`, `"C-]"`, `"C-^"`, `"C-_"` or `"C-a"` to `"C-z"`.
|
For key to combine with `Ctrl`, the value can be `"C-space"`, `"C-\\"`, `"C-]"`, `"C-^"`, `"C-_"` or `"C-a"` to `"C-z"`.
|
||||||
|
|
||||||
⚠️ Note, don't use `"C-c"`, `<C-c>` is for exit program.
|
|
||||||
|
|
||||||
For key to combine with `Alt`, the value can be `"A-space"` or `"A-"` + the character you want.
|
For key to combine with `Alt`, the value can be `"A-space"` or `"A-"` + the character you want.
|
||||||
|
|
||||||
Or you can use function key, the value can be `"F1"` to `"F64"`.
|
Or you can use function key, the value can be `"F1"` to `"F64"`.
|
||||||
|
@ -16,6 +16,7 @@ func configInit() {
|
|||||||
themeConfig = config.New()
|
themeConfig = config.New()
|
||||||
keyMapConfig = config.New()
|
keyMapConfig = config.New()
|
||||||
defaultKeyMaps = map[string]string{
|
defaultKeyMaps = map[string]string{
|
||||||
|
"exit": "C-c",
|
||||||
"translate": "C-j",
|
"translate": "C-j",
|
||||||
"swap_language": "C-s",
|
"swap_language": "C-s",
|
||||||
"clear": "C-q",
|
"clear": "C-q",
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
# This file should be located at $XDG_CONFIG_HOME/gtt/keymap.yaml or $HOME/.config/gtt/keymap.yaml.
|
# This file should be located at $XDG_CONFIG_HOME/gtt/keymap.yaml or $HOME/.config/gtt/keymap.yaml.
|
||||||
|
|
||||||
# For key to combine with Ctrl, the value can be "C-space", "C-\\", "C-]", "C-^", "C-_" or "C-a" to "C-z".
|
# For key to combine with Ctrl, the value can be "C-space", "C-\\", "C-]", "C-^", "C-_" or "C-a" to "C-z".
|
||||||
# ⚠️ Note, don't use "C-c", <C-c> is for exit program.
|
|
||||||
|
|
||||||
# For key to combine with Alt, the value can be "A-space" or "A-" + the character you want.
|
# For key to combine with Alt, the value can be "A-space" or "A-" + the character you want.
|
||||||
|
|
||||||
@ -10,6 +9,8 @@
|
|||||||
|
|
||||||
# The following is the default key map
|
# The following is the default key map
|
||||||
|
|
||||||
|
# Exit program, <C-c>
|
||||||
|
exit: "C-c"
|
||||||
# Translate from source to destination window, <C-j>
|
# Translate from source to destination window, <C-j>
|
||||||
translate: "C-j"
|
translate: "C-j"
|
||||||
# Swap language, <C-s>
|
# Swap language, <C-s>
|
||||||
|
12
ui.go
12
ui.go
@ -366,7 +366,7 @@ func uiInit() {
|
|||||||
updateCurrentLang()
|
updateCurrentLang()
|
||||||
|
|
||||||
// handler
|
// handler
|
||||||
mainPage.SetInputCapture(mainPageHandler)
|
app.SetInputCapture(appHandler)
|
||||||
translateWindow.SetInputCapture(translateWindowHandler)
|
translateWindow.SetInputCapture(translateWindowHandler)
|
||||||
for _, widget := range []*tview.TextArea{srcInput, defOutput, posOutput} {
|
for _, widget := range []*tview.TextArea{srcInput, defOutput, posOutput} {
|
||||||
// fix for loop problem
|
// fix for loop problem
|
||||||
@ -441,7 +441,7 @@ func uiInit() {
|
|||||||
keyMapButton.SetSelectedFunc(showKeyMapPopout)
|
keyMapButton.SetSelectedFunc(showKeyMapPopout)
|
||||||
}
|
}
|
||||||
|
|
||||||
func mainPageHandler(event *tcell.EventKey) *tcell.EventKey {
|
func appHandler(event *tcell.EventKey) *tcell.EventKey {
|
||||||
keyName := getKeyName(event)
|
keyName := getKeyName(event)
|
||||||
|
|
||||||
if len(keyName) == 0 {
|
if len(keyName) == 0 {
|
||||||
@ -449,6 +449,9 @@ func mainPageHandler(event *tcell.EventKey) *tcell.EventKey {
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch keyName {
|
switch keyName {
|
||||||
|
case keyMaps["exit"]:
|
||||||
|
app.Stop()
|
||||||
|
return nil
|
||||||
case keyMaps["toggle_transparent"]:
|
case keyMaps["toggle_transparent"]:
|
||||||
// Toggle transparent
|
// Toggle transparent
|
||||||
uiStyle.Transparent = !uiStyle.Transparent
|
uiStyle.Transparent = !uiStyle.Transparent
|
||||||
@ -467,6 +470,11 @@ func mainPageHandler(event *tcell.EventKey) *tcell.EventKey {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Force C-c not to exit program
|
||||||
|
if event.Key() == tcell.KeyCtrlC {
|
||||||
|
return tcell.NewEventKey(tcell.KeyCtrlC, 0, tcell.ModNone)
|
||||||
|
}
|
||||||
|
|
||||||
return event
|
return event
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user