mirror of
				https://github.com/kastdeur/dotfiles.git
				synced 2025-10-31 03:06:35 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			120 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			120 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
--
 | 
						|
-- Load libraries
 | 
						|
--
 | 
						|
gears = require("gears")
 | 
						|
awful = require("awful")
 | 
						|
awful.rules = require("awful.rules")
 | 
						|
awful.autofocus = require("awful.autofocus")
 | 
						|
beautiful = require("beautiful")
 | 
						|
naughty = require("naughty")
 | 
						|
 | 
						|
--
 | 
						|
-- Configuration
 | 
						|
--
 | 
						|
 | 
						|
AWESOME_CONFDIR = awful.util.getdir('config')
 | 
						|
AWESOME_THEME = '/usr/share/awesome/themes/default/theme.lua'
 | 
						|
 | 
						|
-- HOSTNAME = socket.dns.gethostname()
 | 
						|
HOMEDIR = os.getenv('HOME')
 | 
						|
 | 
						|
TERMINAL = "terminology"
 | 
						|
EDITOR = os.getenv("EDITOR") or "vim"
 | 
						|
EDITOR_CMD = TERMINAL .. " -e " .. EDITOR
 | 
						|
MODKEY = "Mod4"
 | 
						|
 | 
						|
-- lock = terminal .. " -e xscreensavercmd -lock"
 | 
						|
CMD_LOCK = 'xlock -mode rain'
 | 
						|
CMD_SUSPEND =  'systemctl suspend'
 | 
						|
 | 
						|
BROWSER = 'firefox'
 | 
						|
FILEMANAGER = 'nemo'
 | 
						|
 | 
						|
--
 | 
						|
-- Run Once
 | 
						|
--
 | 
						|
function run_once(prg,arg_string,pname,screen)
 | 
						|
	if not prg then
 | 
						|
		do return nil end
 | 
						|
	end
 | 
						|
	
 | 
						|
	if not pname then
 | 
						|
		pname = prg
 | 
						|
	end
 | 
						|
	
 | 
						|
	if not arg_string then 
 | 
						|
		awful.util.spawn_with_shell("pgrep -f -u $USER -x '" .. pname .. "' || (" .. prg .. ")",screen)
 | 
						|
	else
 | 
						|
		awful.util.spawn_with_shell("pgrep -f -u $USER -x '" .. pname .. " ".. arg_string .."' || (" .. prg .. " " .. arg_string .. ")",screen)
 | 
						|
	end
 | 
						|
end
 | 
						|
 | 
						|
run_once("xscreensaver","-no-splash")
 | 
						|
run_once("nm-applet")
 | 
						|
 | 
						|
 | 
						|
--
 | 
						|
-- Alt-Tab
 | 
						|
--
 | 
						|
local alttab = require("alttab")
 | 
						|
   alttab.settings.preview_box = true                 -- display preview-box
 | 
						|
   alttab.settings.preview_box_bg = "#ddddddaa"       -- background color
 | 
						|
   alttab.settings.preview_box_border = "#22222200"   -- border-color
 | 
						|
   alttab.settings.preview_box_fps = 30               -- refresh framerate
 | 
						|
   alttab.settings.preview_box_delay = 150            -- delay in ms
 | 
						|
 | 
						|
   alttab.settings.client_opacity = false             -- set opacity for unselected clients
 | 
						|
   alttab.settings.client_opacity_value = 0.5         -- alpha-value
 | 
						|
   alttab.settings.client_opacity_delay = 150         -- delay in ms
 | 
						|
 | 
						|
--
 | 
						|
-- Error Handling
 | 
						|
--
 | 
						|
require("error")
 | 
						|
 | 
						|
-- Init Theming
 | 
						|
beautiful.init(AWESOME_THEME)
 | 
						|
 | 
						|
-- {{{ Wallpaper
 | 
						|
if beautiful.wallpaper then
 | 
						|
    for s = 1, screen.count() do
 | 
						|
        gears.wallpaper.maximized(beautiful.wallpaper, s, true)
 | 
						|
    end
 | 
						|
end
 | 
						|
-- }}}
 | 
						|
 | 
						|
 | 
						|
-- Table of layouts to cover with awful.layout.inc, order matters.
 | 
						|
local layouts =
 | 
						|
{
 | 
						|
   --  awful.layout.suit.floating,
 | 
						|
    awful.layout.suit.tile,
 | 
						|
    awful.layout.suit.tile.left,
 | 
						|
   --  awful.layout.suit.tile.bottom,
 | 
						|
    awful.layout.suit.tile.top,
 | 
						|
   --  awful.layout.suit.fair,
 | 
						|
     awful.layout.suit.fair.horizontal,
 | 
						|
     awful.layout.suit.spiral,
 | 
						|
   --  awful.layout.suit.spiral.dwindle,
 | 
						|
    awful.layout.suit.max,
 | 
						|
    --awful.layout.suit.max.fullscreen,
 | 
						|
    awful.layout.suit.magnifier
 | 
						|
}
 | 
						|
-- }}}
 | 
						|
 | 
						|
 | 
						|
-- {{{ Tags
 | 
						|
-- Define a tag table which hold all screen tags.
 | 
						|
tags = {"main", "web", "tmux",4,5,"sxc","ru",8,9}
 | 
						|
for s = 1, screen.count() do
 | 
						|
    -- Each screen has its own tag table.
 | 
						|
    tags[s] = awful.tag(tags, s, layouts[1])
 | 
						|
end
 | 
						|
-- }}}
 | 
						|
 | 
						|
-- Get topbar, bindings, rules, signals
 | 
						|
require("topbar")
 | 
						|
require("keybindings")
 | 
						|
require("rules")
 | 
						|
require("signals")
 | 
						|
 |