mirror of
				https://github.com/kastdeur/dotfiles.git
				synced 2025-10-31 03:06:35 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			183 lines
		
	
	
	
		
			6.9 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			183 lines
		
	
	
	
		
			6.9 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| -- Awesome Window Manager
 | |
| -- Key and Mouse Bindings
 | |
| 
 | |
| 
 | |
| -- {{{ Mouse bindings
 | |
| 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)
 | |
| ))
 | |
| -- }}}
 | |
| 
 | |
| 
 | |
| -- {{{ Key bindings
 | |
| globalkeys = awful.util.table.join(
 | |
|     awful.key({ modkey, "Shift" }, "s", function () os.execute("systemctl suspend") end ),
 | |
|     awful.key({ modkey, "Shift" }, "a", function () os.execute("sleep 1s; xset dpms force off") end ),
 | |
| 
 | |
| 	--
 | |
| 	-- Volume keys
 | |
| 	--
 | |
|     awful.key({ }, "XF86AudioRaiseVolume", function () volumecfg.up() end),
 | |
|     awful.key({ }, "XF86AudioLowerVolume", function () volumecfg.down() end),
 | |
|     awful.key({ }, "XF86AudioMute",	   function () volumecfg.toggle() end),
 | |
| 
 | |
| 	--
 | |
| 	-- Alt-Tab
 | |
| 	--
 | |
|    awful.key({ "Mod1", }, "Tab", function ()
 | |
| 	alttab.switch(1, "Alt_L", "Tab", "ISO_Left_Tab")
 | |
|    end),
 | |
|  
 | |
|    awful.key({ "Mod1", "Shift"   }, "Tab", function ()
 | |
|            alttab.switch(-1, "Alt_L", "Tab", "ISO_Left_Tab")
 | |
|    end),
 | |
| 
 | |
| 	--
 | |
| 	-- Standard
 | |
| 	--
 | |
|     awful.key({ modkey,           }, "Left",   awful.tag.viewprev       ),
 | |
|     awful.key({ modkey,           }, "Right",  awful.tag.viewnext       ),
 | |
|     awful.key({ modkey,           }, "Escape", awful.tag.history.restore),
 | |
| 
 | |
|     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.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,           }, "u", awful.client.urgent.jumpto),
 | |
|     awful.key({ modkey,           }, "Tab",
 | |
|         function ()
 | |
|             awful.client.focus.history.previous()
 | |
|             if client.focus then
 | |
|                 client.focus:raise()
 | |
|             end
 | |
|         end),
 | |
| 
 | |
| 	--
 | |
|     -- 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, "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),
 | |
| 
 | |
| 	--
 | |
|     -- Menubar
 | |
| 	--
 | |
|     awful.key({ modkey }, "p", function() menubar.show() end)
 | |
| )
 | |
| 
 | |
| 
 | |
| clientkeys = awful.util.table.join(
 | |
|     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
 | |
|             -- minimized, since minimized clients can't have the focus.
 | |
|             c.minimized = true
 | |
|         end),
 | |
|     awful.key({ modkey,           }, "m",
 | |
|         function (c)
 | |
|             c.maximized_horizontal = not c.maximized_horizontal
 | |
|             c.maximized_vertical   = not c.maximized_vertical
 | |
|         end)
 | |
| )
 | |
| 
 | |
| -- 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.
 | |
| for i = 1, 9 do
 | |
|     globalkeys = awful.util.table.join(globalkeys,
 | |
|         -- View tag only.
 | |
|         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
 | |
|                   end),
 | |
|         -- Toggle tag.
 | |
|         awful.key({ modkey, "Control" }, "#" .. i + 9,
 | |
|                   function ()
 | |
|                       local screen = mouse.screen
 | |
|                       local tag = awful.tag.gettags(screen)[i]
 | |
|                       if tag then
 | |
|                          awful.tag.viewtoggle(tag)
 | |
|                       end
 | |
|                   end),
 | |
|         -- Move client to tag.
 | |
|         awful.key({ modkey, "Shift" }, "#" .. i + 9,
 | |
|                   function ()
 | |
|                       if client.focus then
 | |
|                           local tag = awful.tag.gettags(client.focus.screen)[i]
 | |
|                           if tag then
 | |
|                               awful.client.movetotag(tag)
 | |
|                           end
 | |
|                      end
 | |
|                   end),
 | |
|         -- Toggle tag.
 | |
|         awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
 | |
|                   function ()
 | |
|                       if client.focus then
 | |
|                           local tag = awful.tag.gettags(client.focus.screen)[i]
 | |
|                           if tag then
 | |
|                               awful.client.toggletag(tag)
 | |
|                           end
 | |
|                       end
 | |
|                   end))
 | |
| 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))
 | |
| 
 | |
| -- Set keys
 | |
| root.keys(globalkeys)
 | |
| -- }}}
 | |
| 
 |