Add --keyboard/-k flag to set GTK layer shell keyboard mode (default: exclusive)
This commit is contained in:
17
main.go
17
main.go
@@ -118,6 +118,7 @@ func defaultStringIfBlank(s, fallback string) string {
|
||||
var cssFileName = flag.String("s", "drawer.css", "Styling: css file name")
|
||||
var targetOutput = flag.String("o", "", "name of the Output to display the drawer on (sway only)")
|
||||
var displayVersion = flag.Bool("v", false, "display Version information")
|
||||
var keyboard = flag.String("k", "exclusive", "Set GTK layer shell keyboard interactivity: 'none', 'exclusive' or 'on-demand' (or 'n', 'e' or 'o')")
|
||||
var overlay = flag.Bool("ovl", false, "use OVerLay layer")
|
||||
var gtkTheme = flag.String("g", "", "GTK theme name")
|
||||
var gtkIconTheme = flag.String("i", "", "GTK icon theme name")
|
||||
@@ -386,7 +387,21 @@ func main() {
|
||||
layershell.SetMargin(win, layershell.LAYER_SHELL_EDGE_RIGHT, *marginRight)
|
||||
layershell.SetMargin(win, layershell.LAYER_SHELL_EDGE_BOTTOM, *marginBottom)
|
||||
|
||||
layershell.SetKeyboardMode(win, layershell.LAYER_SHELL_KEYBOARD_MODE_EXCLUSIVE)
|
||||
if (*keyboard)[0] == 'e' {
|
||||
log.Info("Setting GTK layer shell keyboard mode to: exclusive")
|
||||
layershell.SetKeyboardMode(win, layershell.LAYER_SHELL_KEYBOARD_MODE_EXCLUSIVE)
|
||||
} else if (*keyboard)[0] == 'o' {
|
||||
log.Info("Setting GTK layer shell keyboard mode to: on-demand")
|
||||
layershell.SetKeyboardMode(win, layershell.LAYER_SHELL_KEYBOARD_MODE_ON_DEMAND)
|
||||
} else if (*keyboard)[0] == 'n' {
|
||||
log.Info("Setting GTK layer shell keyboard mode to: none")
|
||||
layershell.SetKeyboardMode(win, layershell.LAYER_SHELL_KEYBOARD_MODE_NONE)
|
||||
} else {
|
||||
log.Warnf("Invalid option passed to --keyboard: %s)", *keyboard)
|
||||
log.Warn("Setting GTK layer shell keyboard mode to default: exclusive")
|
||||
layershell.SetKeyboardMode(win, layershell.LAYER_SHELL_KEYBOARD_MODE_EXCLUSIVE)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
win.Connect("destroy", func() {
|
||||
|
||||
Reference in New Issue
Block a user