Refactor -k flag as Bool to toggle keyboard mode on-demand / exclusive

This commit is contained in:
James Cuzella
2023-07-24 20:41:59 -06:00
parent aeeb4e4890
commit 830edefa22
2 changed files with 5 additions and 13 deletions

View File

@@ -72,8 +72,8 @@ Usage of nwg-drawer:
GTK theme name, eg. "Adwaita-dark"
-is int
Icon Size (default 64)
-k string
Set GTK layer shell keyboard interactivity: 'exclusive' or 'on-demand' (or: 'e', 'o') (default "exclusive")
-k
Set GTK layer shell keyboard interactivity to "on-demand" mode (default "exclusive")
-lang string
force lang, e.g. "en", "pl"
-nocats

14
main.go
View File

@@ -118,7 +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: 'exclusive' or 'on-demand' (or: 'e', 'o')")
var keyboard = flag.Bool("k", false, "Set GTK layer shell keyboard interactivity to 'on-demand' mode")
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")
@@ -387,19 +387,11 @@ func main() {
layershell.SetMargin(win, layershell.LAYER_SHELL_EDGE_RIGHT, *marginRight)
layershell.SetMargin(win, layershell.LAYER_SHELL_EDGE_BOTTOM, *marginBottom)
if (*keyboard) == "" {
log.Warnf("Empty string passed to -k: %s)", *keyboard)
log.Warn("Setting GTK layer shell keyboard mode to default: exclusive")
layershell.SetKeyboardMode(win, layershell.LAYER_SHELL_KEYBOARD_MODE_EXCLUSIVE)
} else 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' {
if *keyboard {
log.Info("Setting GTK layer shell keyboard mode to: on-demand")
layershell.SetKeyboardMode(win, layershell.LAYER_SHELL_KEYBOARD_MODE_ON_DEMAND)
} else {
log.Warnf("Invalid option passed to -k: %s)", *keyboard)
log.Warn("Setting GTK layer shell keyboard mode to default: exclusive")
log.Info("Setting GTK layer shell keyboard mode to default: exclusive")
layershell.SetKeyboardMode(win, layershell.LAYER_SHELL_KEYBOARD_MODE_EXCLUSIVE)
}