]> 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 1f68d7cb3c26c9a174cee750b3ffe81e669efd65..5d9937b32672e33e8fb1f8046ed980a74613e384 100644 (file)
@@ -1,15 +1,10 @@
 -- Default modkey.
--- Usually, Mod4 is the key with a logo between Control and Alt.
--- If you do not like this or do not have such a key,
--- I suggest you to remap Mod4 to another key using xmodmap or other tools.
--- However, you can use another modifier like Mod1, but it may interact with others.
 modkey = "Mod4"
+altkey = "Mod1"
 
--- {{{1 Mouse bindings
+-- 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(
@@ -17,21 +12,17 @@ clientbuttons = awful.util.table.join(
     awful.button({ modkey }, 1, awful.mouse.client.move),
     awful.button({ modkey }, 3, awful.mouse.client.resize))
 
--- {{{1 Global Keys
-globalkeys = awful.util.table.join(
-    -- {{{2 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),
 
@@ -50,10 +41,9 @@ 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),
@@ -63,47 +53,62 @@ globalkeys = awful.util.table.join(
 
     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 {{{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       ),
 
-    -- {{{2 My Keys
     -- Menu
     awful.key({ modkey }, "w", function () mymainmenu:show({ coords = { x = 0, y = 0}}) end),
-    -- Lock
-    awful.key({ modkey, "Control" }, "l", function () awful.util.spawn("i3lock -c 000000") end),
     -- Prompt
-    awful.key({ modkey }, "space", function () mypromptbox[mouse.screen]:run() end),
+    awful.key({ modkey }, "space", function () awful.screen.focused().mypromptbox:run() end),
     -- switch layout
-    awful.key({ modkey }, "]", function () awful.layout.inc(layouts,  1) end),
-    awful.key({ modkey }, "[", function () awful.layout.inc(layouts, -1) end),
+    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,           }, "#94",   function () awful.screen.focus_relative( 1) end), -- that's the key left of 1
-    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,           }, "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),
-    -- mpd
-    awful.key({ }, "XF86AudioPlay",         function () awful.util.spawn("mpc toggle") end),
-    awful.key({ }, "XF86AudioNext",         function () awful.util.spawn("mpc next")   end),
-    awful.key({ }, "XF86AudioPrev",         function () awful.util.spawn("mpc prev")   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)
 )
 
--- {{{1 Client keys
+-- Client keys {{{1
 clientkeys = awful.util.table.join(
-    -- {{{2 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                     ),
@@ -120,16 +125,18 @@ clientkeys = awful.util.table.join(
             c.maximized_vertical   = not c.maximized_vertical
         end),
 
-    -- {{{2 My Client Keys
+    -- 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)
     -- }}}
 )
 
--- {{{1 Tags
+-- 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.
@@ -137,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 ()