104 lines
2.1 KiB
Go
104 lines
2.1 KiB
Go
|
package cmd
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"strings"
|
||
|
"unicode"
|
||
|
)
|
||
|
|
||
|
type Command string
|
||
|
|
||
|
func (c Command) String() string {
|
||
|
return string(c)
|
||
|
}
|
||
|
|
||
|
func (c Command) Pretty() string {
|
||
|
parts := strings.Split(string(c), "_")
|
||
|
for i, part := range parts {
|
||
|
// Set the first character to be upper case
|
||
|
if len(part) == 0 {
|
||
|
continue
|
||
|
} else if len(part) == 1 {
|
||
|
parts[i] = strings.ToUpper(part)
|
||
|
}
|
||
|
var first rune
|
||
|
for _, r := range part {
|
||
|
first = r
|
||
|
break
|
||
|
}
|
||
|
|
||
|
parts[i] = fmt.Sprintf("%c%s", unicode.ToUpper(first), part[1:])
|
||
|
}
|
||
|
return strings.Join(parts, "")
|
||
|
}
|
||
|
|
||
|
const (
|
||
|
Reload Command = "reload"
|
||
|
Close Command = "close"
|
||
|
Spawn Command = "spawn"
|
||
|
ListMonitors Command = "list_monitors"
|
||
|
Lock Command = "lock"
|
||
|
Unlock Command = "unlock"
|
||
|
|
||
|
// Attr family
|
||
|
GetAttr Command = "get_attr"
|
||
|
SetAttr Command = "set_attr"
|
||
|
Attr Command = "attr"
|
||
|
NewAttr Command = "new_attr"
|
||
|
AttrType Command = "attr_type"
|
||
|
RemoveAttr Command = "remove_attr"
|
||
|
|
||
|
Set Command = "set"
|
||
|
EmitHook Command = "emit_hook"
|
||
|
Rule Command = "rule"
|
||
|
Unrule Command = "unrule"
|
||
|
Substitute Command = "substitute"
|
||
|
|
||
|
// Controls
|
||
|
Keybind Command = "keybind"
|
||
|
Keyunbind Command = "keyunbind"
|
||
|
Mousebind Command = "mousebind"
|
||
|
Mouseunbind Command = "mouseunbind"
|
||
|
UseIndex Command = "use_index"
|
||
|
MoveIndex Command = "move_index"
|
||
|
JumpTo Command = "jumpto"
|
||
|
|
||
|
// Views/Frames
|
||
|
AddTag Command = "add"
|
||
|
MergeTag Command = "merge_tag"
|
||
|
Cycle Command = "cycle"
|
||
|
Focus Command = "focus"
|
||
|
Shift Command = "shift"
|
||
|
Split Command = "split"
|
||
|
Remove Command = "remove"
|
||
|
Fullscreen Command = "fullscreen"
|
||
|
CycleLayout Command = "cycle_layout"
|
||
|
Resize Command = "resize"
|
||
|
)
|
||
|
|
||
|
type MouseButton string
|
||
|
|
||
|
func (m MouseButton) String() string {
|
||
|
return string(m)
|
||
|
}
|
||
|
|
||
|
const (
|
||
|
Mouse1 MouseButton = "Mouse1"
|
||
|
Mouse2 MouseButton = "Mouse2"
|
||
|
Mouse3 MouseButton = "Mouse3"
|
||
|
)
|
||
|
|
||
|
type AttributeType string
|
||
|
|
||
|
func (a AttributeType) String() string {
|
||
|
return string(a)
|
||
|
}
|
||
|
|
||
|
const (
|
||
|
String AttributeType = "string"
|
||
|
Bool AttributeType = "bool"
|
||
|
Color AttributeType = "color"
|
||
|
Int AttributeType = "int"
|
||
|
Uint AttributeType = "uint"
|
||
|
)
|