diff --git a/rules.lua b/rules.lua index 6c95536..9142f6d 100644 --- a/rules.lua +++ b/rules.lua @@ -15,20 +15,6 @@ local function popup_urgent(client, message) end end) end - -local function keyboard_layer(num) - return function(client) - client:connect_signal("focus", function(c) - awful.util.spawn("kontroll-launch set-layer --index " .. num) - naughty.notify({ text = "kontroll: switching to layer " .. num }) - end) - client:connect_signal("unfocus", function(c) - awful.util.spawn("kontroll-launch set-layer --index 0") - naughty.notify({ text = "kontroll: switching to base layer" }) - end) - end -end - if not localconf.screen then localconf.screen = {} end @@ -86,7 +72,6 @@ awful.rules.rules = { end, }, { rule = { role = "buddy_list" }, callback = awful.client.setmaster }, - { rule_any = { class = { "factorio" } }, callback = keyboard_layer(3) }, { rule = { class = "steam", name = "Friends" }, properties = { screen = screen_chat, tag = "3" }, diff --git a/separable/binder.lua b/separable/binder.lua index 92c2a35..6d85b98 100644 --- a/separable/binder.lua +++ b/separable/binder.lua @@ -13,110 +13,67 @@ local app_folders = { "/usr/share/applications", "/usr/local/share/applications", (os.getenv("XDG_DATA_HOME") or os.getenv("HOME") .. "/.local/share") .. "/applications", - os.getenv("HOME") .. "/Desktop", + os.getenv("HOME") .. "/Desktop" } local menubar = require("menubar") menubar.utils.terminal = conf.cmd.terminal -- Set the terminal for applications that require it -local binder = { modal = mb } +local binder = {modal = mb} -local function spawnf(cmd) - return function() - awful.spawn(cmd) - end -end +local function spawnf(cmd) return function() awful.spawn(cmd) end end binder.spawn = spawnf conf.cmd.run = conf.cmd.run or spawnf("dmenu_run") -local function use_layout(layout) - return function() - awful.layout.set(layout) - end -end +local function use_layout(layout) return function() awful.layout.set(layout) end end local layoutmap = { - { "f", use_layout(awful.layout.suit.fair), "Fair" }, - { "h", use_layout(awful.layout.suit.fair.horizontal), "Fair Horizontal" }, - { "t", use_layout(awful.layout.suit.tile), "Tile" }, - { "b", use_layout(awful.layout.suit.tile.bottom), "Tile Bottom" }, - { "m", use_layout(awful.layout.suit.max), "Maximized" }, - { "F", use_layout(awful.layout.suit.max.fullscreen), "Fullscreen" }, - { "space", use_layout(awful.layout.suit.floating), "Float" }, + {"f", use_layout(awful.layout.suit.fair), "Fair" }, + {"h", use_layout(awful.layout.suit.fair.horizontal), "Fair Horizontal" }, + {"t", use_layout(awful.layout.suit.tile), "Tile" }, + {"b", use_layout(awful.layout.suit.tile.bottom), "Tile Bottom" }, + {"m", use_layout(awful.layout.suit.max), "Maximized" }, + {"F", use_layout(awful.layout.suit.max.fullscreen), "Fullscreen" }, + {"space", use_layout(awful.layout.suit.floating), "Float" } } local layoutsettings = { - { - "h", - function() - awful.tag.incmwfact(-0.05) - end, - "Master smaller", - }, - { - "l", - function() - awful.tag.incmwfact(0.05) - end, - "Master bigger", - }, - { - "H", - function() - awful.tag.incnmaster(1) - end, - "More masters", - }, - { - "L", - function() - awful.tag.incnmaster(-1) - end, - "Less masters", - }, - { - "c", - function() - awful.tag.incncol(1) - end, - "More columns", - }, - { - "C", - function() - awful.tag.incncol(-1) - end, - "Less columns", - }, + {"h", function () awful.tag.incmwfact(-0.05) end, "Master smaller" }, + {"l", function () awful.tag.incmwfact( 0.05) end, "Master bigger" }, + {"H", function () awful.tag.incnmaster( 1) end, "More masters" }, + {"L", function () awful.tag.incnmaster(-1) end, "Less masters" }, + {"c", function () awful.tag.incncol( 1) end, "More columns" }, + {"C", function () awful.tag.incncol(-1) end, "Less columns" }, } local opposite_dirs = { - left = "right", + left = "right", right = "left", - up = "down", - down = "up", + up = "down", + down = "up" } local function screen_in_wrapdir(dir, _screen) - local sel = _screen or mouse.screen - if sel then - local geomtbl = {} - for s = 1, screen.count() do - geomtbl[s] = screen[s].geometry - end - local target = awful.util.get_rectangle_in_direction(dir, geomtbl, screen[sel].geometry) - if not target then - local new_target = sel - while new_target do - target = new_target - new_target = awful.util.get_rectangle_in_direction(opposite_dirs[dir], geomtbl, screen[target].geometry) - end + local sel = _screen or mouse.screen + if sel then + local geomtbl = {} + for s = 1, screen.count() do + geomtbl[s] = screen[s].geometry + end + local target = awful.util.get_rectangle_in_direction(dir, geomtbl, screen[sel].geometry) + if not target then + local new_target = sel + while new_target do + target = new_target + new_target = awful.util.get_rectangle_in_direction(opposite_dirs[dir], geomtbl, screen[target].geometry) end + end - return target - end + return target + end end + local function screen_focus_wrapdir(dir) return function() local target = screen_in_wrapdir(dir) @@ -132,13 +89,13 @@ local function screen_move_client_wrapdir(dir) end function binder.add_bindings(keys) - globalkeys = awful.util.table.join(globalkeys, keys) + globalkeys = awful.util.table.join(globalkeys, keys); return binder end function binder.add_reloadable(key_func) - table.insert(globalkeyfuncs, key_func) - return binder + table.insert(globalkeyfuncs, key_func) + return binder end function binder.clear() @@ -147,13 +104,13 @@ function binder.clear() end function binder.apply() - naughty.notify({ text = "Reloading key bindings" }) - local allkeys = awful.util.table.clone(globalkeys) - for _, v in pairs(globalkeyfuncs) do - local loadedkeys = v() - allkeys = awful.util.table.join(allkeys, loadedkeys) - end - root.keys(allkeys) + naughty.notify { text="Reloading key bindings" } + local allkeys = awful.util.table.clone(globalkeys) + for _,v in pairs(globalkeyfuncs) do + local loadedkeys = v() + allkeys = awful.util.table.join(allkeys, loadedkeys) + end + root.keys(allkeys) end local function client_opacity_set(c, default, max, step) @@ -161,7 +118,7 @@ local function client_opacity_set(c, default, max, step) c.opacity = default end - if c.opacity * step < (max - step) * step then + if c.opacity * step < (max-step) * step then c.opacity = c.opacity + step else c.opacity = max @@ -169,58 +126,41 @@ local function client_opacity_set(c, default, max, step) end local clientkeys = awful.util.table.join( - awful.key({ modkey, "Shift" }, "f", function(c) - c.fullscreen = not c.fullscreen - end), - awful.key({ modkey, "Shift" }, "c", function(c) - c:kill() - end), - awful.key({ modkey }, "f", awful.client.floating.toggle), - awful.key({ modkey, "Control" }, "Return", function(c) - c:swap(awful.client.getmaster()) - end), - awful.key({ modkey }, "o", awful.client.movetoscreen), - awful.key({ modkey, "Shift" }, "h", screen_move_client_wrapdir("left")), - awful.key({ modkey, "Shift" }, "l", screen_move_client_wrapdir("right")), - awful.key({ modkey, "Control" }, "o", function(c) - c.ontop = not c.ontop - end), - awful.key({ modkey, "Shift" }, "a", function(c) - c.sticky = not c.sticky - end), - awful.key({ modkey }, "Up", function(c) - client_opacity_set(c, 1, 1, 0.1) - end), - awful.key({ modkey }, "Down", function(c) - client_opacity_set(c, 1, 0, -0.1) - end), - awful.key({}, "XF86Calculater", awful.client.movetoscreen), - awful.key({ modkey }, "i", function(c) - require("naughty").notify({ - text = string.format( - "name: '%s'\nclass: '%s'\ninstance: '%s'\ntype: '%s'\npid: %d", - c["name"], - c["class"], - c["instance"], - c["type"], - c["pid"] - ), - }) - end) +awful.key({ modkey, "Shift" }, "f", function (c) c.fullscreen = not c.fullscreen end), +awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end), +awful.key({ modkey, }, "f", awful.client.floating.toggle ), +awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end), +awful.key({ modkey, }, "o", awful.client.movetoscreen ), +awful.key({ modkey, "Shift" }, "h", screen_move_client_wrapdir("left")), +awful.key({ modkey, "Shift" }, "l", screen_move_client_wrapdir("right")), +awful.key({ modkey, "Control" }, "o", function (c) c.ontop = not c.ontop end), +awful.key({ modkey, "Shift" }, "a", function (c) c.sticky = not c.sticky end), +awful.key({ modkey, }, "Up", function(c) client_opacity_set(c, 1, 1, 0.1) end), +awful.key({ modkey, }, "Down", function(c) client_opacity_set(c, 1, 0, -0.1) end), +awful.key({ }, "XF86Calculater", awful.client.movetoscreen ), +awful.key({ modkey }, "i", function(c) + require("naughty").notify({ text = + string.format( + "name: '%s'\nclass: '%s'\ninstance: '%s'\ntype: '%s'\npid: %d", + c["name"], c["class"], c["instance"], c["type"], c["pid"]) + }) + end) ) -root.buttons(awful.util.table.join(awful.button({}, 4, awful.tag.viewnext), awful.button({}, 5, awful.tag.viewprev))) +root.buttons(awful.util.table.join( + awful.button({ }, 4, awful.tag.viewnext), + awful.button({ }, 5, awful.tag.viewprev) +)) local clientbuttons = awful.util.table.join( - awful.button({}, 1, function(c) - if c.name ~= "Onboard" then - client.focus = c - c:raise() - end - end), - awful.button({ modkey }, 1, awful.mouse.client.move), - awful.button({ modkey }, 3, awful.mouse.client.resize) -) + awful.button({ }, 1, function (c) + if c.name ~= "Onboard" then + client.focus = c + c:raise() + end + end), + awful.button({ modkey }, 1, awful.mouse.client.move), + awful.button({ modkey }, 3, awful.mouse.client.resize)) binder.client = {} @@ -233,74 +173,62 @@ function binder.client.keys() end function binder.client.add_buttons(buttons) - clientbuttons = awful.util.table.join(clientbuttons, buttons) + clientbuttons = awful.util.table.join(clientbuttons, buttons); end function binder.client.add_bindings(keys) - clientkeys = awful.util.table.join(clientkeys, keys) + clientkeys = awful.util.table.join(clientkeys, keys); end local default_bindings = awful.util.table.join( awful.key({ modkey, "Control" }, "r", awesome.restart), - awful.key({ modkey, "Shift" }, "q", awesome.quit), - awful.key({ modkey }, "Return", spawnf(conf.cmd.terminal)), - awful.key({ modkey, "Shift" }, "Return", spawnf("kitty-session")), + awful.key({ modkey, "Shift" }, "q", awesome.quit), + awful.key({ modkey, }, "Return", spawnf(conf.cmd.terminal)), + awful.key({ modkey, "Shift" }, "Return", spawnf("kitty-session")), --{{{ Layout manipulation and client position - awful.key({ modkey }, "j", function() - awful.client.focus.byidx(1) - if client.focus then - client.focus:raise() - end + awful.key({ modkey }, "j", function () + awful.client.focus.byidx( 1) + if client.focus then client.focus:raise() end end), - awful.key({ modkey }, "k", function() + awful.key({ modkey }, "k", function () awful.client.focus.byidx(-1) - if client.focus then - client.focus:raise() - end + if client.focus then client.focus:raise() end end), -- Layout manipulation - awful.key({ modkey }, "Tab", function() + awful.key({ modkey }, "Tab", function () awful.client.focus.history.previous() if client.focus then client.focus:raise() end end), - awful.key({ "Mod1" }, "Tab", function() + awful.key({ "Mod1", }, "Tab", function () awful.client.focus.history.previous() if client.focus then client.focus:raise() end end), - awful.key({ modkey, "Shift" }, "j", function() - awful.client.swap.byidx(1) + awful.key({ modkey, "Shift" }, "j", function () + awful.client.swap.byidx( 1) end), - awful.key({ modkey, "Shift" }, "k", function() - awful.client.swap.byidx(-1) - end), - awful.key({ modkey }, "h", function() - awful.screen.focus_relative(1) - end), - awful.key({ modkey }, "l", function() - awful.screen.focus_relative(-1) + awful.key({ modkey, "Shift" }, "k", function () + awful.client.swap.byidx( -1) end), + awful.key({ modkey, }, "h", function() awful.screen.focus_relative(1) end), + awful.key({ modkey, }, "l", function() awful.screen.focus_relative(-1) end), --}}} --{{{ Modal mappings - awful.key({ modkey }, "space", mb.grabf({ keymap = layoutmap, name = "Layouts" })), - awful.key( - { modkey, "Control" }, - "space", - mb.grabf({ keymap = layoutsettings, name = "Layout settings", stay_in_mode = true }) - ), + awful.key({ modkey }, "space", mb.grabf{keymap=layoutmap, name="Layouts"}), + awful.key({ modkey, "Control" }, "space", mb.grabf{keymap=layoutsettings, name="Layout settings", stay_in_mode=true}), --}}} --{{{ Prompt - awful.key({ modkey }, "r", conf.cmd.drun), - awful.key({ modkey, "Shift" }, "r", conf.cmd.run), + awful.key({ modkey }, "r", conf.cmd.run), + awful.key({ modkey, "Shift" }, "r", conf.cmd.drun), --}}} @@ -311,5 +239,7 @@ function binder.add_default_bindings() return binder.add_bindings(default_bindings) end + + return binder -- vim: set fenc=utf-8 tw=80 foldmethod=marker :