package main import ( "github.com/BurntSushi/xgb" "github.com/BurntSushi/xgb/xproto" "github.com/crecheer/wm/keysym" ) // appearance var barHeight uint16 = 20 var gapSize int = 10 var barColor uint32 = 0x222222 var barFg uint32 = 0xBBBBBB var selBg uint32 = 0x005577 var selFg uint32 = 0xEEEEEE var fontName = "JetBrainsMono Nerd Font:size=16" var tagCount = 9 // shows focused window title var windowTitle = 0 var mod = uint16(xproto.ModMask1) // commands that get executed on startup var startup = []string{"notify-send hello world!"} var keys = []Key{ { Mod: mod, Sym: keysym.XK_Return, Fn: func(conn *xgb.Conn) { spawn("kitty") }, }, { Mod: mod | xproto.ModMaskShift, Sym: keysym.XK_q, Fn: func(conn *xgb.Conn) { quit() }, }, { Mod: mod, Sym: keysym.XK_q, Fn: func(conn *xgb.Conn) { killActiveWindow(conn, focused) }, }, { Mod: mod, Sym: keysym.XK_d, Fn: func(conn *xgb.Conn) { spawn("dmenu_run") }, }, { Mod: mod, Sym: keysym.XK_l, Fn: func(conn *xgb.Conn) { layout = "tileHorizontal" updateWindows(conn) }, }, { Mod: mod | xproto.ModMaskShift, Sym: keysym.XK_l, Fn: func(conn *xgb.Conn) { layout = "tileVertical" updateWindows(conn) }, }, { Mod: mod, Sym: keysym.XK_m, Fn: func(conn *xgb.Conn) { layout = "tileWithMaster" updateWindows(conn) }, }, { Mod: mod, Sym: keysym.XK_0, Fn: func(conn *xgb.Conn) { var tags BitMask = 2 ^ 32 - 1 switchTags(conn, tags) }, }, { Mod: mod, Sym: keysym.XK_1, Fn: func(conn *xgb.Conn) { var tags BitMask = 1 switchTags(conn, tags) }, }, { Mod: mod, Sym: keysym.XK_2, Fn: func(conn *xgb.Conn) { var tags BitMask = 2 switchTags(conn, tags) }, }, { Mod: mod, Sym: keysym.XK_3, Fn: func(conn *xgb.Conn) { var tags BitMask = 4 switchTags(conn, tags) }, }, { Mod: mod, Sym: keysym.XK_4, Fn: func(conn *xgb.Conn) { var tags BitMask = 8 switchTags(conn, tags) }, }, { Mod: mod, Sym: keysym.XK_5, Fn: func(conn *xgb.Conn) { var tags BitMask = 16 switchTags(conn, tags) }, }, { Mod: mod, Sym: keysym.XK_6, Fn: func(conn *xgb.Conn) { var tags BitMask = 32 switchTags(conn, tags) }, }, { Mod: mod, Sym: keysym.XK_7, Fn: func(conn *xgb.Conn) { var tags BitMask = 64 switchTags(conn, tags) }, }, { Mod: mod, Sym: keysym.XK_8, Fn: func(conn *xgb.Conn) { var tags BitMask = 128 switchTags(conn, tags) }, }, { Mod: mod, Sym: keysym.XK_9, Fn: func(conn *xgb.Conn) { var tags BitMask = 256 switchTags(conn, tags) }, }, { Mod: mod, Sym: keysym.XK_0, Fn: func(conn *xgb.Conn) { var tags BitMask = 511 switchTags(conn, tags) }, }, }