]> git.rmz.io Git - dotfiles.git/blobdiff - awesome/bindings.lua
awesome: fix bindings for modkey+space and others involving mypromptbox
[dotfiles.git] / awesome / bindings.lua
index 5ee183aacaedac478e2aa050db7a0e6db9a22fcf..5d9937b32672e33e8fb1f8046ed980a74613e384 100644 (file)
@@ -1,42 +1,34 @@
--- {{{ Mouse bindings
+-- Default modkey.
+modkey = "Mod4"
+altkey = "Mod1"
+
+-- Mouse bindings {{{1
 root.buttons(awful.util.table.join(
-    awful.button({ }, 3, function () mymainmenu:toggle() end),
-    awful.button({ }, 4, awful.tag.viewnext),
-    awful.button({ }, 5, awful.tag.viewprev)
+    awful.button({ }, 3, function () mymainmenu:toggle() end)
 ))
 
 clientbuttons = awful.util.table.join(
     awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
     awful.button({ modkey }, 1, awful.mouse.client.move),
     awful.button({ modkey }, 3, awful.mouse.client.resize))
--- }}}
-
--- {{{ Global Keys
-globalkeys = awful.util.table.join(
-    -- {{{ Awesome Keys
-    awful.key({ modkey,           }, "Left",   awful.tag.viewprev       ),
-    awful.key({ modkey,           }, "Right",  awful.tag.viewnext       ),
-    awful.key({ modkey,           }, "Escape", awful.tag.history.restore),
 
+-- Global Keys {{{1
+globalkeys = awful.util.table.join(globalkeys,
+    -- Awesome Keys {{{2
     awful.key({ modkey,           }, "j",
         function ()
-            awful.client.focus.byidx( 1)
+            awful.client.focus.byidx(-1)
             if client.focus then client.focus:raise() end
         end),
     awful.key({ modkey,           }, "k",
         function ()
-            awful.client.focus.byidx(-1)
+            awful.client.focus.byidx( 1)
             if client.focus then client.focus:raise() end
         end),
-    awful.key({ modkey }, "w",   function () mymainmenu:show() end),
 
     -- Layout manipulation
     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, "Control" }, "j", function () awful.screen.focus_relative( 1) end),
-    awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end),
-    awful.key({ modkey, "Control" }, "Left", function () awful.screen.focus_relative( 1) end),
-    awful.key({ modkey, "Control" }, "Right", function () awful.screen.focus_relative(-1) end),
     awful.key({ modkey,           }, "u", awful.client.urgent.jumpto),
     awful.key({ modkey,           }, "Tab",
         function ()
@@ -49,52 +41,78 @@ globalkeys = awful.util.table.join(
     -- Standard program
     awful.key({ modkey,           }, "Return", function () awful.util.spawn(terminal) end),
     awful.key({ modkey, "Control" }, "r", awesome.restart),
-    awful.key({ modkey, "Shift"   }, "q", awesome.quit),
 
-    awful.key({ modkey,           }, "l",     function () awful.tag.incmwfact( 0.05)    end),
     awful.key({ modkey,           }, "h",     function () awful.tag.incmwfact(-0.05)    end),
+    awful.key({ modkey,           }, "l",     function () awful.tag.incmwfact( 0.05)    end),
     awful.key({ modkey, "Shift"   }, "h",     function () awful.tag.incnmaster( 1)      end),
     awful.key({ modkey, "Shift"   }, "l",     function () awful.tag.incnmaster(-1)      end),
     awful.key({ modkey, "Control" }, "h",     function () awful.tag.incncol( 1)         end),
     awful.key({ modkey, "Control" }, "l",     function () awful.tag.incncol(-1)         end),
-    awful.key({ modkey,           }, "space", function () awful.layout.inc(layouts,  1) end),
-    awful.key({ modkey, "Shift"   }, "space", function () awful.layout.inc(layouts, -1) end),
 
     awful.key({ modkey, "Control" }, "n", awful.client.restore),
 
-    -- Prompt
-    awful.key({ modkey },            "r",     function () mypromptbox[mouse.screen]:run() end),
-
     awful.key({ modkey }, "x",
               function ()
-                  awful.prompt.run({ prompt = "Run Lua code: " },
-                  mypromptbox[mouse.screen].widget,
-                  awful.util.eval, nil,
-                  awful.util.getdir("cache") .. "/history_eval")
-              end),
+                  awful.prompt.run {
+                    prompt       = "Run Lua code: ",
+                    textbox      = awful.screen.focused().mypromptbox.widget,
+                    exe_callback = awful.util.eval,
+                    history_path = awful.util.get_cache_dir() .. "/history_eval"
+                  }
+              end,
+              {description = "lua execute prompt", group = "awesome"}),
     -- Menubar
-    awful.key({ modkey }, "p", function() menubar.show() end),
-    -- }}}
+    -- awful.key({ modkey }, "p", function() menubar.show() end),
 
-    -- {{{ My Keys
-    awful.key({        }, "F19", function () myshutdownmenu:show() end),
-    awful.key({ modkey }, "F1",  function () myshutdownmenu:show() end),
-    -- Pulseaudio widget
+    -- My Keys {{{2
+    awful.key({ modkey,           }, "Left",   awful.tag.viewprev       ),
+    awful.key({ modkey,           }, "Down",   awful.tag.viewprev       ),
+    awful.key({ modkey,           }, "Right",  awful.tag.viewnext       ),
+    awful.key({ modkey,           }, "Up",     awful.tag.viewnext       ),
+
+    -- Menu
+    awful.key({ modkey }, "w", function () mymainmenu:show({ coords = { x = 0, y = 0}}) end),
+    -- Prompt
+    awful.key({ modkey }, "space", function () awful.screen.focused().mypromptbox:run() end),
+    -- switch layout
+    awful.key({ modkey }, "]", function () awful.layout.inc( 1, mouse.screen, layouts) end),
+    awful.key({ modkey }, "[", function () awful.layout.inc(-1, mouse.screen, layouts) end),
+    -- resize slave
+    awful.key({ modkey, "Control" }, "j",      function () awful.client.incwfact( 0.05)  end),
+    awful.key({ modkey, "Control" }, "k",      function () awful.client.incwfact(-0.05)  end),
+    -- Ksnapshot
+    awful.key({        }, "F13",   function () awful.util.spawn("ksnapshot") end),
+    awful.key({        }, "Print", function () awful.util.spawn("ksnapshot") end),
+    -- ranger
+    awful.key({ modkey }, "r", function () awful.util.spawn(terminal .. " -e ranger") end),
+    -- Layout manipulation
+    awful.key({ modkey,           }, "Escape", awful.tag.history.restore),
+    awful.key({ modkey,           }, "#49",    function () awful.screen.focus_relative( 1) end), -- that's the key left of 1 (chronos)
+    awful.key({ modkey,           }, "=",      function () awful.screen.focus_relative( 1) end), -- that's the key left of 1 (kinesis)
+    awful.key({ modkey, "Control" }, "Left",   function () awful.screen.focus_relative( 1) end),
+    awful.key({ modkey, "Control" }, "Right",  function () awful.screen.focus_relative(-1) end),
+    -- Volume
     awful.key({ }, "XF86AudioRaiseVolume",  function () awful.util.spawn("ponymix increase 5") end),
     awful.key({ }, "XF86AudioLowerVolume",  function () awful.util.spawn("ponymix decrease 5") end),
-    awful.key({ }, "XF86AudioMute",         function () awful.util.spawn("ponymix toggle")     end)
-    -- }}}
+    awful.key({ }, "XF86AudioMute",         function () awful.util.spawn("ponymix toggle")     end),
+    awful.key({ modkey }, "F10",  function () awful.util.spawn("ponymix toggle")     end),
+    awful.key({ modkey }, "F11",  function () awful.util.spawn("ponymix decrease 5") end),
+    awful.key({ modkey }, "F12",  function () awful.util.spawn("ponymix increase 5") end),
+    -- Lock
+    awful.key({ modkey, "Control" }, "Escape", function () awful.util.spawn("xautolock -locknow") end),
+    -- VimWiki
+    awful.key({ modkey }, "i", function ()
+        awful.util.spawn("urxvtc -name vimwiki -e vim -c 'call vimwiki#base#goto_index(v:count1)'")
+    end)
 )
 
--- {{{ Client keys
+-- Client keys {{{1
 clientkeys = awful.util.table.join(
-    -- {{{ Awesome Client Keys
+    -- Awesome Client Keys {{{2
     awful.key({ modkey,           }, "f",      function (c) c.fullscreen = not c.fullscreen  end),
     awful.key({ modkey, "Shift"   }, "c",      function (c) c:kill()                         end),
     awful.key({ modkey, "Control" }, "space",  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,           }, "t",      function (c) c.ontop = not c.ontop            end),
     awful.key({ modkey,           }, "n",
         function (c)
             -- The client currently has the input focus, so it cannot be
@@ -105,11 +123,20 @@ clientkeys = awful.util.table.join(
         function (c)
             c.maximized_horizontal = not c.maximized_horizontal
             c.maximized_vertical   = not c.maximized_vertical
-        end)
+        end),
+
+    -- My Client Keys {{{2
+    -- Move client to screen
+    awful.key({ modkey, "Shift" }, "#94",      awful.client.movetoscreen ),
+    awful.key({ modkey, "Shift" }, "#49",      awful.client.movetoscreen ),
+    awful.key({ modkey, "Shift" }, "=",        awful.client.movetoscreen ), -- kinesis
+    -- ontop and below
+    awful.key({ modkey,           }, "t",      function (c) c.ontop = not c.ontop            end),
+    awful.key({ modkey,           }, "b",      function (c) c.below = not c.below            end)
     -- }}}
 )
--- }}}
 
+-- Tags {{{1
 -- Bind all key numbers to tags.
 -- Be careful: we use keycodes to make it works on any keyboard layout.
 -- This should map on the top row of your keyboard, usually 1 to 9.
@@ -117,11 +144,15 @@ for i = 1, 9 do
     globalkeys = awful.util.table.join(globalkeys,
         awful.key({ modkey }, "#" .. i + 9,
                   function ()
-                        local screen = mouse.screen
-                        local tag = awful.tag.gettags(screen)[i]
-                        if tag then
-                           awful.tag.viewonly(tag)
-                        end
+                    local screen = mouse.screen
+                    local tag = awful.tag.gettags(screen)[i]
+                    if tag then
+                      if tag == awful.tag.selected(screen) then
+                        awful.tag.history.restore(screen)
+                      else
+                        awful.tag.viewonly(tag)
+                      end
+                    end
                   end),
         awful.key({ modkey, "Control" }, "#" .. i + 9,
                   function ()
@@ -146,7 +177,3 @@ for i = 1, 9 do
                       end
                   end))
 end
-
--- Set keys
-root.keys(globalkeys)
--- }}}