a massive set of changes for awesome, I am rightfully pride of myself ^_^
This commit is contained in:
		
							parent
							
								
									cebf70e2e5
								
							
						
					
					
						commit
						84845986dc
					
				
					 1 changed files with 86 additions and 45 deletions
				
			
		
							
								
								
									
										127
									
								
								rc.lua
									
										
									
									
									
								
							
							
						
						
									
										127
									
								
								rc.lua
									
										
									
									
									
								
							| 
						 | 
					@ -12,7 +12,7 @@ local naughty = require('naughty')
 | 
				
			||||||
local menubar = require('menubar')
 | 
					local menubar = require('menubar')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- enable testing if file exists
 | 
					-- enable testing if file exists
 | 
				
			||||||
function ifexists(name)
 | 
					function exists(name)
 | 
				
			||||||
	local f=io.open(name,'r')
 | 
						local f=io.open(name,'r')
 | 
				
			||||||
	if f ~= nil then
 | 
						if f ~= nil then
 | 
				
			||||||
		io.close(f)
 | 
							io.close(f)
 | 
				
			||||||
| 
						 | 
					@ -22,6 +22,16 @@ function ifexists(name)
 | 
				
			||||||
	end
 | 
						end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- allows for intelligent check of the current layout
 | 
				
			||||||
 | 
					function enters(element, table)
 | 
				
			||||||
 | 
						for key, value in pairs(table) do
 | 
				
			||||||
 | 
							if value == element then
 | 
				
			||||||
 | 
								return true
 | 
				
			||||||
 | 
							end
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
						return false
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- {{{ Error handling
 | 
					-- {{{ Error handling
 | 
				
			||||||
-- Check if awesome encountered an error during startup and fell back to
 | 
					-- Check if awesome encountered an error during startup and fell back to
 | 
				
			||||||
-- another config (This code will only ever execute for the fallback config)
 | 
					-- another config (This code will only ever execute for the fallback config)
 | 
				
			||||||
| 
						 | 
					@ -64,7 +74,7 @@ theme.font = 'Terminus 9'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- set wallpaper
 | 
					-- set wallpaper
 | 
				
			||||||
local wallpaper = '/home/von/Pictures/wallpaper.png'
 | 
					local wallpaper = '/home/von/Pictures/wallpaper.png'
 | 
				
			||||||
if ifexists(wallpaper) then
 | 
					if exists(wallpaper) then
 | 
				
			||||||
	theme.wallpaper = wallpaper
 | 
						theme.wallpaper = wallpaper
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -80,21 +90,35 @@ editor_cmd = terminal .. ' -e ' .. editor
 | 
				
			||||||
-- However, you can use another modifier like Mod1, but it may interact with others.
 | 
					-- However, you can use another modifier like Mod1, but it may interact with others.
 | 
				
			||||||
modkey = 'Mod4'
 | 
					modkey = 'Mod4'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- Table of layouts to cover with awful.layout.inc, order matters.
 | 
					-- Tables of layouts to cover with awful.layout.inc, order matters.
 | 
				
			||||||
local layouts = {
 | 
					local layouts = {
 | 
				
			||||||
	awful.layout.suit.floating,
 | 
						tiled = {
 | 
				
			||||||
		awful.layout.suit.tile,
 | 
							awful.layout.suit.tile,
 | 
				
			||||||
		awful.layout.suit.tile.bottom,
 | 
							awful.layout.suit.tile.bottom,
 | 
				
			||||||
	awful.layout.suit.max
 | 
							awful.layout.suit.tile.left,
 | 
				
			||||||
	-- Also possible:
 | 
							awful.layout.suit.tile.top
 | 
				
			||||||
	-- awful.layout.suit.tile.left,
 | 
						},
 | 
				
			||||||
	-- awful.layout.suit.tile.top,
 | 
						max = {
 | 
				
			||||||
	-- awful.layout.suit.fair,
 | 
							awful.layout.suit.max,
 | 
				
			||||||
	-- awful.layout.suit.fair.horizontal,
 | 
							awful.layout.suit.max.fullscreen
 | 
				
			||||||
	-- awful.layout.suit.spiral,
 | 
						},
 | 
				
			||||||
	-- awful.layout.suit.spiral.dwindle,
 | 
						float = {
 | 
				
			||||||
	-- awful.layout.suit.max.fullscreen,
 | 
							awful.layout.suit.floating
 | 
				
			||||||
	-- awful.layout.suit.magnifier
 | 
						},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						-- Some weird shit I don't use, but it still exists:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						fair = {
 | 
				
			||||||
 | 
							awful.layout.suit.fair,
 | 
				
			||||||
 | 
							awful.layout.suit.fair.horizontal
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						spiral = {
 | 
				
			||||||
 | 
							awful.layout.suit.spiral,
 | 
				
			||||||
 | 
							awful.layout.suit.spiral.dwindle
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						magnifier = {
 | 
				
			||||||
 | 
							awful.layout.suit.magnifier
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
-- }}}
 | 
					-- }}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -118,22 +142,22 @@ end
 | 
				
			||||||
--	[9] = 'example2'
 | 
					--	[9] = 'example2'
 | 
				
			||||||
--}
 | 
					--}
 | 
				
			||||||
tags[1].layout = {
 | 
					tags[1].layout = {
 | 
				
			||||||
	[1] = layouts[2],
 | 
						[1] = layouts.tiled[1],
 | 
				
			||||||
	[2] = layouts[4],
 | 
						[2] = layouts.max[1],
 | 
				
			||||||
	[4] = layouts[1],
 | 
						[4] = layouts.float[1],
 | 
				
			||||||
	[5] = layouts[1]
 | 
						[5] = layouts.float[1]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
-- screens 2+
 | 
					-- screens 2+
 | 
				
			||||||
if screen.count() >= 2 then
 | 
					if screen.count() >= 2 then
 | 
				
			||||||
	tags[2].layout = {
 | 
						tags[2].layout = {
 | 
				
			||||||
		[3] = layouts[1]
 | 
							[3] = layouts.float[1]
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
-- Fill the missing values with defaults
 | 
					-- Fill the missing values with defaults
 | 
				
			||||||
for s = 1, screen.count() do
 | 
					for s = 1, screen.count() do
 | 
				
			||||||
	for tag = 1, 9 do
 | 
						for tag = 1, 9 do
 | 
				
			||||||
		tags[s].name[tag] = tags[s].name[tag] or tag
 | 
							tags[s].name[tag] = tags[s].name[tag] or tag
 | 
				
			||||||
		tags[s].layout[tag] = tags[s].layout[tag] or layouts[3]
 | 
							tags[s].layout[tag] = tags[s].layout[tag] or layouts.tiled[2]
 | 
				
			||||||
	end
 | 
						end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
-- Set tags instances in wm
 | 
					-- Set tags instances in wm
 | 
				
			||||||
| 
						 | 
					@ -144,29 +168,34 @@ end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- {{{ Menu
 | 
					-- {{{ Menu
 | 
				
			||||||
-- Create a laucher widget and a main menu
 | 
					-- Create a laucher widget and a main menu
 | 
				
			||||||
restartmenu = {
 | 
					mymainmenu_restart = {
 | 
				
			||||||
	{ 'restart', awesome.restart }
 | 
						{ 'restart', awesome.restart }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
quitmenu = {
 | 
					mymainmenu_quit = {
 | 
				
			||||||
	{ 'quit', awesome.quit }
 | 
						{ 'quit', awesome.quit }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
mymainmenu = awful.menu({
 | 
					mymainmenu = awful.menu({
 | 
				
			||||||
	items = {
 | 
						items = {
 | 
				
			||||||
		{ 'restart', restartmenu, beautiful.awesome_icon },
 | 
							{ 'restart',	mymainmenu_restart,	beautiful.awesome_icon },
 | 
				
			||||||
		{ 'quit', quitmenu, beautiful.awesome_icon }
 | 
							{ 'quit',	mymainmenu_quit,	beautiful.awesome_icon }
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
mylauncher = awful.widget.launcher({
 | 
					 | 
				
			||||||
	image = beautiful.awesome_icon,
 | 
					 | 
				
			||||||
	menu = mymainmenu
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
-- Menubar configuration
 | 
					-- Menubar configuration
 | 
				
			||||||
menubar.utils.terminal = terminal -- Set the terminal for applications that require it
 | 
					menubar.utils.terminal = terminal -- Set the terminal for applications that require it
 | 
				
			||||||
-- }}}
 | 
					-- }}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- {{{ Menu for layoutbox
 | 
				
			||||||
 | 
					mylbmenu = awful.menu({
 | 
				
			||||||
 | 
						items = {
 | 
				
			||||||
 | 
							{ 'Tiled',	function () awful.layout.set(layouts.tiled[1]) end },
 | 
				
			||||||
 | 
							{ 'Maximized',	function () awful.layout.set(layouts.max[1]) end },
 | 
				
			||||||
 | 
							{ 'Floating',	function () awful.layout.set(layouts.float[1]) end }
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					-- }}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- {{{ Wibox
 | 
					-- {{{ Wibox
 | 
				
			||||||
-- Create a textclock widget
 | 
					-- Create a textclock widget
 | 
				
			||||||
mytextclock = awful.widget.textclock('%a %d %H:%M')
 | 
					mytextclock = awful.widget.textclock('%a %d %H:%M')
 | 
				
			||||||
| 
						 | 
					@ -243,10 +272,14 @@ for s = 1, screen.count() do
 | 
				
			||||||
	mylayoutbox[s] = awful.widget.layoutbox(s)
 | 
						mylayoutbox[s] = awful.widget.layoutbox(s)
 | 
				
			||||||
	mylayoutbox[s]:buttons(
 | 
						mylayoutbox[s]:buttons(
 | 
				
			||||||
		awful.util.table.join(
 | 
							awful.util.table.join(
 | 
				
			||||||
			awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
 | 
								awful.button({ }, 1,
 | 
				
			||||||
			awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
 | 
									function ()
 | 
				
			||||||
			awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
 | 
										local current_layout = awful.layout.get(mouse.screen)
 | 
				
			||||||
			awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)
 | 
										if enters(current_layout, layouts.tiled) then
 | 
				
			||||||
 | 
											awful.layout.inc(layouts.tiled, 1)
 | 
				
			||||||
 | 
										end
 | 
				
			||||||
 | 
									end),
 | 
				
			||||||
 | 
								awful.button({ }, 3, function () mylbmenu:toggle() end)
 | 
				
			||||||
		)
 | 
							)
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
	-- Create a taglist widget
 | 
						-- Create a taglist widget
 | 
				
			||||||
| 
						 | 
					@ -294,9 +327,7 @@ end
 | 
				
			||||||
-- {{{ Mouse bindings
 | 
					-- {{{ Mouse bindings
 | 
				
			||||||
root.buttons(
 | 
					root.buttons(
 | 
				
			||||||
	awful.util.table.join(
 | 
						awful.util.table.join(
 | 
				
			||||||
		awful.button({ }, 3, function () mymainmenu:toggle() end),
 | 
							awful.button({ }, 3, function () mymainmenu:toggle() end)
 | 
				
			||||||
		awful.button({ }, 5, awful.tag.viewnext),
 | 
					 | 
				
			||||||
		awful.button({ }, 4, awful.tag.viewprev)
 | 
					 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
-- }}}
 | 
					-- }}}
 | 
				
			||||||
| 
						 | 
					@ -352,14 +383,23 @@ globalkeys = awful.util.table.join(
 | 
				
			||||||
	awful.key({ modkey, 'Shift'   }, 'l',     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' }, 'h',     function () awful.tag.incncol(1)                            end),
 | 
				
			||||||
	awful.key({ modkey, 'Control' }, 'l',     function () awful.tag.incncol(-1)                           end),
 | 
						awful.key({ modkey, 'Control' }, 'l',     function () awful.tag.incncol(-1)                           end),
 | 
				
			||||||
	awful.key({ modkey,           }, 'f',     function () awful.layout.set(awful.layout.suit.float)       end),
 | 
						awful.key({ modkey,           }, 'f',     function () awful.layout.set(layouts.float[1])    end),
 | 
				
			||||||
	awful.key({ modkey,           }, 'm',     function () awful.layout.set(awful.layout.suit.max)         end),
 | 
						awful.key({ modkey,           }, 'm',
 | 
				
			||||||
 | 
							function ()
 | 
				
			||||||
 | 
								local current_layout = awful.layout.get(mouse.screen)
 | 
				
			||||||
 | 
								if not enters(current_layout, layouts.max) then
 | 
				
			||||||
 | 
									awful.layout.set(layouts.max[1])
 | 
				
			||||||
 | 
								else
 | 
				
			||||||
 | 
									awful.layout.inc(layouts.max, 1)
 | 
				
			||||||
 | 
								end
 | 
				
			||||||
 | 
							end),
 | 
				
			||||||
	awful.key({ modkey,           }, 't',
 | 
						awful.key({ modkey,           }, 't',
 | 
				
			||||||
		function ()
 | 
							function ()
 | 
				
			||||||
			if awful.layout.get(mouse.screen) == awful.layout.suit.tile.bottom then
 | 
								local current_layout = awful.layout.get(mouse.screen)
 | 
				
			||||||
				awful.layout.set(awful.layout.suit.tile)
 | 
								if not enters(current_layout, layouts.tiled) then
 | 
				
			||||||
 | 
									awful.layout.set(layouts.tiled[1])
 | 
				
			||||||
			else
 | 
								else
 | 
				
			||||||
				awful.layout.set(awful.layout.suit.tile.bottom)
 | 
									awful.layout.inc(layouts.tiled, 1)
 | 
				
			||||||
			end
 | 
								end
 | 
				
			||||||
		end),
 | 
							end),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -556,6 +596,7 @@ awful.rules.rules = {
 | 
				
			||||||
				'nwn2main.exe'
 | 
									'nwn2main.exe'
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
			name = {
 | 
								name = {
 | 
				
			||||||
 | 
									'GunsOfIcarusOnline',
 | 
				
			||||||
				'Hand of Fate',
 | 
									'Hand of Fate',
 | 
				
			||||||
				'Serious Sam 3 - Linux'
 | 
									'Serious Sam 3 - Linux'
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
| 
						 | 
					@ -591,7 +632,7 @@ client.connect_signal(
 | 
				
			||||||
		c:connect_signal(
 | 
							c:connect_signal(
 | 
				
			||||||
			'mouse::enter',
 | 
								'mouse::enter',
 | 
				
			||||||
			function(c)
 | 
								function(c)
 | 
				
			||||||
				if (awful.layout.get(c.screen) ~= awful.layout.suit.magnifier and awful.layout.get(c.screen) ~= awful.layout.suit.floating) and awful.client.focus.filter(c) then
 | 
									if awful.layout.get(c.screen) ~= layouts.float[1] and awful.client.focus.filter(c) then
 | 
				
			||||||
					client.focus = c
 | 
										client.focus = c
 | 
				
			||||||
				end
 | 
									end
 | 
				
			||||||
			end
 | 
								end
 | 
				
			||||||
| 
						 | 
					@ -619,7 +660,7 @@ client.connect_signal('unfocus', function(c) c.border_color = beautiful.border_n
 | 
				
			||||||
-- this shit runs every time you restart your wm, dumbass.
 | 
					-- this shit runs every time you restart your wm, dumbass.
 | 
				
			||||||
awful.util.spawn_with_shell('setxkbmap -layout us,ru -variant altgr-intl,typewriter -option grp:caps_toggle,grp:win_space_toggle,compose:menu,grp_led:scroll')
 | 
					awful.util.spawn_with_shell('setxkbmap -layout us,ru -variant altgr-intl,typewriter -option grp:caps_toggle,grp:win_space_toggle,compose:menu,grp_led:scroll')
 | 
				
			||||||
awful.util.spawn_with_shell('xrdb /home/von/.Xresources')
 | 
					awful.util.spawn_with_shell('xrdb /home/von/.Xresources')
 | 
				
			||||||
if ifexists('/home/von/.autostart') then
 | 
					if exists('/home/von/.autostart') then
 | 
				
			||||||
	awful.util.spawn_with_shell('/home/von/.autostart')
 | 
						awful.util.spawn_with_shell('/home/von/.autostart')
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
-- }}}
 | 
					-- }}}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue