diff --git a/home/.config/awesome/freedesktop/desktop.lua b/home/.config/awesome/freedesktop/desktop.lua index 2188da38..292ee4c0 100644 --- a/home/.config/awesome/freedesktop/desktop.lua +++ b/home/.config/awesome/freedesktop/desktop.lua @@ -17,82 +17,82 @@ local margin = { x = 20, y = 20 } function add_icon(settings) - local s = settings.screen + local s = settings.screen - if not current_pos[s] then - current_pos[s] = { x = (screen[s].geometry.width - iconsize.width - margin.x), y = 40 } - end + if not current_pos[s] then + current_pos[s] = { x = (screen[s].geometry.width - iconsize.width - margin.x), y = 40 } + end - local totheight = (settings.icon and iconsize.height or 0) + (settings.label and labelsize.height or 0) - if totheight == 0 then return end + local totheight = (settings.icon and iconsize.height or 0) + (settings.label and labelsize.height or 0) + if totheight == 0 then return end - if current_pos[s].y + totheight > screen[s].geometry.height - 40 then - current_pos[s].x = current_pos[s].x - labelsize.width - iconsize.width - margin.x - current_pos[s].y = 40 - end + if current_pos[s].y + totheight > screen[s].geometry.height - 40 then + current_pos[s].x = current_pos[s].x - labelsize.width - iconsize.width - margin.x + current_pos[s].y = 40 + end - if (settings.icon) then - icon = awful.widget.button({ image = settings.icon }) - local newbuttons = icon:buttons() - table.insert(newbuttons, button({}, 1, nil, settings.click)); - icon:buttons(newbuttons) + if (settings.icon) then + icon = awful.widget.button({ image = settings.icon }) + local newbuttons = icon:buttons() + table.insert(newbuttons, button({}, 1, nil, settings.click)); + icon:buttons(newbuttons) - icon_container = wibox({ position = "floating", screen = s, bg = "#00000000" }) - icon_container.widgets = { icon } - icon_container:geometry({ - width = iconsize.width, - height = iconsize.height, - y = current_pos[s].y, - x = current_pos[s].x - }) - icon_container.screen = s + icon_container = wibox({ position = "floating", screen = s, bg = "#00000000" }) + icon_container.widgets = { icon } + icon_container:geometry({ + width = iconsize.width, + height = iconsize.height, + y = current_pos[s].y, + x = current_pos[s].x + }) + icon_container.screen = s - current_pos[s].y = current_pos[s].y + iconsize.height + 5 - end + current_pos[s].y = current_pos[s].y + iconsize.height + 5 + end - if (settings.label) then - caption = widget({ type="textbox", align="right", width=labelsize.width }) - caption.ellipsize = "middle" - caption.text = settings.label - caption:buttons({ - button({ }, 1, settings.click) - }) + if (settings.label) then + caption = widget({ type="textbox", align="right", width=labelsize.width }) + caption.ellipsize = "middle" + caption.text = settings.label + caption:buttons({ + button({ }, 1, settings.click) + }) - caption_container = wibox({ position = "floating", screen = s, bg = "#00000000" }) - caption_container.widgets = { caption } - caption_container:geometry({ - width = labelsize.width, - height = labelsize.height, - y = current_pos[s].y, - x = current_pos[s].x - labelsize.width + iconsize.width - }) - caption_container.screen = s - end + caption_container = wibox({ position = "floating", screen = s, bg = "#00000000" }) + caption_container.widgets = { caption } + caption_container:geometry({ + width = labelsize.width, + height = labelsize.height, + y = current_pos[s].y, + x = current_pos[s].x - labelsize.width + iconsize.width + }) + caption_container.screen = s + end - current_pos[s].y = current_pos[s].y + labelsize.height + margin.y + current_pos[s].y = current_pos[s].y + labelsize.height + margin.y end --- Adds subdirs and files icons to the desktop -- @param dir The directory to parse, (default is ~/Desktop) -- @param showlabels Shows icon captions (default is false) function add_applications_icons(arg) - for i, program in ipairs(utils.parse_desktop_files({ - dir = arg.dir or '~/Desktop/', - icon_sizes = { - iconsize.width .. "x" .. iconsize.height, - "128x128", "96x96", "72x72", "64x64", "48x48", - "36x36", "32x32", "24x24", "22x22", "16x6" - } - })) do - if program.show then - add_icon({ - label = arg.showlabels and program.Name or nil, - icon = program.icon_path, - screen = arg.screen, - click = function () awful.util.spawn(program.cmdline) end - }) - end + for i, program in ipairs(utils.parse_desktop_files({ + dir = arg.dir or '~/Desktop/', + icon_sizes = { + iconsize.width .. "x" .. iconsize.height, + "128x128", "96x96", "72x72", "64x64", "48x48", + "36x36", "32x32", "24x24", "22x22", "16x6" + } + })) do + if program.show then + add_icon({ + label = arg.showlabels and program.Name or nil, + icon = program.icon_path, + screen = arg.screen, + click = function () awful.util.spawn(program.cmdline) end + }) end + end end --- Adds subdirs and files icons to the desktop @@ -100,27 +100,27 @@ end -- @param showlabels Shows icon captions -- @param open_with The program to use to open clicked files and dirs (i.e. xdg_open, thunar, etc.) function add_dirs_and_files_icons(arg) - arg.open_with = arg.open_width or 'thunar' - for i, file in ipairs(utils.parse_dirs_and_files({ - dir = arg.dir or '~/Desktop/', - icon_sizes = { - iconsize.width .. "x" .. iconsize.height, - "128x128", "96x96", "72x72", "64x64", "48x48", - "36x36", "32x32", "24x24", "22x22", "16x6" - } - })) do - if file.show then - add_icon({ - label = arg.showlabels and file.filename or nil, - icon = file.icon, - screen = arg.screen, - click = function () awful.util.spawn(arg.open_with .. ' ' .. file.path) end - }) - end + arg.open_with = arg.open_width or 'thunar' + for i, file in ipairs(utils.parse_dirs_and_files({ + dir = arg.dir or '~/Desktop/', + icon_sizes = { + iconsize.width .. "x" .. iconsize.height, + "128x128", "96x96", "72x72", "64x64", "48x48", + "36x36", "32x32", "24x24", "22x22", "16x6" + } + })) do + if file.show then + add_icon({ + label = arg.showlabels and file.filename or nil, + icon = file.icon, + screen = arg.screen, + click = function () awful.util.spawn(arg.open_with .. ' ' .. file.path) end + }) end + end end function add_desktop_icons(args) - add_applications_icons(args) - add_dirs_and_files_icons(args) + add_applications_icons(args) + add_dirs_and_files_icons(args) end diff --git a/home/.config/awesome/freedesktop/menu.lua b/home/.config/awesome/freedesktop/menu.lua index a465661c..ccc1d252 100644 --- a/home/.config/awesome/freedesktop/menu.lua +++ b/home/.config/awesome/freedesktop/menu.lua @@ -10,9 +10,9 @@ local pairs = pairs module("freedesktop.menu") all_menu_dirs = { - '/usr/share/applications/', - '/usr/local/share/applications/', - '~/.local/share/applications/' + '/usr/share/applications/', + '/usr/local/share/applications/', + '~/.local/share/applications/' } show_generic_name = false @@ -21,77 +21,77 @@ show_generic_name = false -- @param menu_dirs A list of application directories (optional). -- @return A prepared menu w/ categories function new(arg) - -- the categories and their synonyms where shamelessly copied from lxpanel - -- source code. - local programs = {} - local config = arg or {} + -- the categories and their synonyms where shamelessly copied from lxpanel + -- source code. + local programs = {} + local config = arg or {} - programs['AudioVideo'] = {} - programs['Development'] = {} - programs['Education'] = {} - programs['Game'] = {} - programs['Graphics'] = {} - programs['Network'] = {} - programs['Office'] = {} - programs['Settings'] = {} - programs['System'] = {} - programs['Utility'] = {} - programs['Other'] = {} + programs['AudioVideo'] = {} + programs['Development'] = {} + programs['Education'] = {} + programs['Game'] = {} + programs['Graphics'] = {} + programs['Network'] = {} + programs['Office'] = {} + programs['Settings'] = {} + programs['System'] = {} + programs['Utility'] = {} + programs['Other'] = {} - for i, dir in ipairs(config.menu_dirs or all_menu_dirs) do - local entries = utils.parse_desktop_files({dir = dir}) - for j, program in ipairs(entries) do - -- check whether to include in the menu - if program.show and program.Name and program.cmdline then - if show_generic_name and program.GenericName then - program.Name = program.Name .. ' (' .. program.GenericName .. ')' - end - local target_category = nil - if program.categories then - for _, category in ipairs(program.categories) do - if programs[category] then - target_category = category - break - end - end - end - if not target_category then - target_category = 'Other' - end - if target_category then - table.insert(programs[target_category], { program.Name, program.cmdline, program.icon_path }) - end + for i, dir in ipairs(config.menu_dirs or all_menu_dirs) do + local entries = utils.parse_desktop_files({dir = dir}) + for j, program in ipairs(entries) do + -- check whether to include in the menu + if program.show and program.Name and program.cmdline then + if show_generic_name and program.GenericName then + program.Name = program.Name .. ' (' .. program.GenericName .. ')' + end + local target_category = nil + if program.categories then + for _, category in ipairs(program.categories) do + if programs[category] then + target_category = category + break end + end end - end - - -- sort each submenu alphabetically case insensitive - for k, v in pairs(programs) do - table.sort(v, function(a, b) return a[1]:lower() < b[1]:lower() end) - end - - local menu = { - { "Accessories", programs["Utility"], utils.lookup_icon({ icon = 'applications-accessories.png' }) }, - { "Development", programs["Development"], utils.lookup_icon({ icon = 'applications-development.png' }) }, - { "Education", programs["Education"], utils.lookup_icon({ icon = 'applications-science.png' }) }, - { "Games", programs["Game"], utils.lookup_icon({ icon = 'applications-games.png' }) }, - { "Graphics", programs["Graphics"], utils.lookup_icon({ icon = 'applications-graphics.png' }) }, - { "Internet", programs["Network"], utils.lookup_icon({ icon = 'applications-internet.png' }) }, - { "Multimedia", programs["AudioVideo"], utils.lookup_icon({ icon = 'applications-multimedia.png' }) }, - { "Office", programs["Office"], utils.lookup_icon({ icon = 'applications-office.png' }) }, - { "Other", programs["Other"], utils.lookup_icon({ icon = 'applications-other.png' }) }, - { "Settings", programs["Settings"], utils.lookup_icon({ icon = 'preferences-desktop.png' }) }, - { "System Tools", programs["System"], utils.lookup_icon({ icon = 'applications-system.png' }) }, - } - - -- Removing empty entries from menu - local cleanedMenu = {} - for index, item in ipairs(menu) do - itemTester = item[2] - if itemTester[1] then - table.insert(cleanedMenu, item) + if not target_category then + target_category = 'Other' end + if target_category then + table.insert(programs[target_category], { program.Name, program.cmdline, program.icon_path }) + end + end end + end - return cleanedMenu + -- sort each submenu alphabetically case insensitive + for k, v in pairs(programs) do + table.sort(v, function(a, b) return a[1]:lower() < b[1]:lower() end) + end + + local menu = { + { "Accessories", programs["Utility"], utils.lookup_icon({ icon = 'applications-accessories.png' }) }, + { "Development", programs["Development"], utils.lookup_icon({ icon = 'applications-development.png' }) }, + { "Education", programs["Education"], utils.lookup_icon({ icon = 'applications-science.png' }) }, + { "Games", programs["Game"], utils.lookup_icon({ icon = 'applications-games.png' }) }, + { "Graphics", programs["Graphics"], utils.lookup_icon({ icon = 'applications-graphics.png' }) }, + { "Internet", programs["Network"], utils.lookup_icon({ icon = 'applications-internet.png' }) }, + { "Multimedia", programs["AudioVideo"], utils.lookup_icon({ icon = 'applications-multimedia.png' }) }, + { "Office", programs["Office"], utils.lookup_icon({ icon = 'applications-office.png' }) }, + { "Other", programs["Other"], utils.lookup_icon({ icon = 'applications-other.png' }) }, + { "Settings", programs["Settings"], utils.lookup_icon({ icon = 'preferences-desktop.png' }) }, + { "System Tools", programs["System"], utils.lookup_icon({ icon = 'applications-system.png' }) }, + } + + -- Removing empty entries from menu + local cleanedMenu = {} + for index, item in ipairs(menu) do + itemTester = item[2] + if itemTester[1] then + table.insert(cleanedMenu, item) + end + end + + return cleanedMenu end diff --git a/home/.config/awesome/freedesktop/utils.lua b/home/.config/awesome/freedesktop/utils.lua index c5247c31..4a620576 100644 --- a/home/.config/awesome/freedesktop/utils.lua +++ b/home/.config/awesome/freedesktop/utils.lua @@ -9,30 +9,30 @@ local pairs = pairs module("freedesktop.utils") -terminal = 'xterm' +terminal = 'termite' icon_theme = nil all_icon_sizes = { - '128x128', - '96x96', - '72x72', - '64x64', - '48x48', - '36x36', - '32x32', - '24x24', - '22x22', - '16x16' + '128x128', + '96x96', + '72x72', + '64x64', + '48x48', + '36x36', + '32x32', + '24x24', + '22x22', + '16x16' } all_icon_types = { - 'apps', - 'actions', - 'devices', - 'places', - 'categories', - 'status', - 'mimetypes' + 'apps', + 'actions', + 'devices', + 'places', + 'categories', + 'status', + 'mimetypes' } all_icon_paths = { os.getenv("HOME") .. '/.icons/', '/usr/share/icons/' } @@ -41,118 +41,118 @@ icon_sizes = {} local mime_types = {} function get_lines(...) - local f = io.popen(...) - return function () -- iterator - local data = f:read() - if data == nil then f:close() end - return data - end + local f = io.popen(...) + return function () -- iterator + local data = f:read() + if data == nil then f:close() end + return data + end end function file_exists(filename) - local file = io.open(filename, 'r') - local result = (file ~= nil) - if result then - file:close() - end - return result + local file = io.open(filename, 'r') + local result = (file ~= nil) + if result then + file:close() + end + return result end function lookup_icon(arg) - if arg.icon:sub(1, 1) == '/' and (arg.icon:find('.+%.png') or arg.icon:find('.+%.xpm')) then - -- icons with absolute path and supported (AFAICT) formats - return arg.icon - else - local icon_path = {} - local icon_themes = {} - local icon_theme_paths = {} - if icon_theme and type(icon_theme) == 'table' then - icon_themes = icon_theme - elseif icon_theme then - icon_themes = { icon_theme } - end - for i, theme in ipairs(icon_themes) do - for j, path in ipairs(all_icon_paths) do - table.insert(icon_theme_paths, path .. theme .. '/') - end - -- TODO also look in parent icon themes, as in freedesktop.org specification - end - table.insert(icon_theme_paths, '/usr/share/icons/hicolor/') -- fallback theme cf spec - - local isizes = icon_sizes - for i, sz in ipairs(all_icon_sizes) do - table.insert(isizes, sz) - end - - for i, icon_theme_directory in ipairs(icon_theme_paths) do - for j, size in ipairs(arg.icon_sizes or isizes) do - for k, icon_type in ipairs(all_icon_types) do - table.insert(icon_path, icon_theme_directory .. size .. '/' .. icon_type .. '/') - end - end - end - -- lowest priority fallbacks - table.insert(icon_path, '/usr/share/pixmaps/') - table.insert(icon_path, '/usr/share/icons/') - table.insert(icon_path, '/usr/share/app-install/icons/') - - for i, directory in ipairs(icon_path) do - if (arg.icon:find('.+%.png') or arg.icon:find('.+%.xpm')) and file_exists(directory .. arg.icon) then - return directory .. arg.icon - elseif file_exists(directory .. arg.icon .. '.png') then - return directory .. arg.icon .. '.png' - elseif file_exists(directory .. arg.icon .. '.xpm') then - return directory .. arg.icon .. '.xpm' - end - end + if arg.icon:sub(1, 1) == '/' and (arg.icon:find('.+%.png') or arg.icon:find('.+%.xpm')) then + -- icons with absolute path and supported (AFAICT) formats + return arg.icon + else + local icon_path = {} + local icon_themes = {} + local icon_theme_paths = {} + if icon_theme and type(icon_theme) == 'table' then + icon_themes = icon_theme + elseif icon_theme then + icon_themes = { icon_theme } end + for i, theme in ipairs(icon_themes) do + for j, path in ipairs(all_icon_paths) do + table.insert(icon_theme_paths, path .. theme .. '/') + end + -- TODO also look in parent icon themes, as in freedesktop.org specification + end + table.insert(icon_theme_paths, '/usr/share/icons/hicolor/') -- fallback theme cf spec + + local isizes = icon_sizes + for i, sz in ipairs(all_icon_sizes) do + table.insert(isizes, sz) + end + + for i, icon_theme_directory in ipairs(icon_theme_paths) do + for j, size in ipairs(arg.icon_sizes or isizes) do + for k, icon_type in ipairs(all_icon_types) do + table.insert(icon_path, icon_theme_directory .. size .. '/' .. icon_type .. '/') + end + end + end + -- lowest priority fallbacks + table.insert(icon_path, '/usr/share/pixmaps/') + table.insert(icon_path, '/usr/share/icons/') + table.insert(icon_path, '/usr/share/app-install/icons/') + + for i, directory in ipairs(icon_path) do + if (arg.icon:find('.+%.png') or arg.icon:find('.+%.xpm')) and file_exists(directory .. arg.icon) then + return directory .. arg.icon + elseif file_exists(directory .. arg.icon .. '.png') then + return directory .. arg.icon .. '.png' + elseif file_exists(directory .. arg.icon .. '.xpm') then + return directory .. arg.icon .. '.xpm' + end + end + end end function lookup_file_icon(arg) - load_mime_types() + load_mime_types() - local extension = arg.filename:match('%a+$') - local mime = mime_types[extension] or '' - local mime_family = mime:match('^%a+') or '' + local extension = arg.filename:match('%a+$') + local mime = mime_types[extension] or '' + local mime_family = mime:match('^%a+') or '' - -- possible icons in a typical gnome theme (i.e. Tango icons) - local possible_filenames = { - mime, - 'gnome-mime-' .. mime, - mime_family, - 'gnome-mime-' .. mime_family, - extension - } + -- possible icons in a typical gnome theme (i.e. Tango icons) + local possible_filenames = { + mime, + 'gnome-mime-' .. mime, + mime_family, + 'gnome-mime-' .. mime_family, + extension + } - for i, filename in ipairs(possible_filenames) do - local icon = lookup_icon({icon = filename, icon_sizes = (arg.icon_sizes or all_icon_sizes)}) - if icon then - return icon - end + for i, filename in ipairs(possible_filenames) do + local icon = lookup_icon({icon = filename, icon_sizes = (arg.icon_sizes or all_icon_sizes)}) + if icon then + return icon end + end - -- If we don't find ad icon, then pretend is a plain text file - return lookup_icon({ icon = 'txt', icon_sizes = arg.icon_sizes or all_icon_sizes }) + -- If we don't find ad icon, then pretend is a plain text file + return lookup_icon({ icon = 'txt', icon_sizes = arg.icon_sizes or all_icon_sizes }) end --- Load system MIME types -- @return A table with file extension <--> MIME type mapping function load_mime_types() - if #mime_types == 0 then - for line in io.lines('/etc/mime.types') do - if not line:find('^#') then - local parsed = {} - for w in line:gmatch('[^%s]+') do - table.insert(parsed, w) - end - if #parsed > 1 then - for i = 2, #parsed do - mime_types[parsed[i]] = parsed[1]:gsub('/', '-') - end - end - end + if #mime_types == 0 then + for line in io.lines('/etc/mime.types') do + if not line:find('^#') then + local parsed = {} + for w in line:gmatch('[^%s]+') do + table.insert(parsed, w) end + if #parsed > 1 then + for i = 2, #parsed do + mime_types[parsed[i]] = parsed[1]:gsub('/', '-') + end + end + end end + end end --- Parse a .desktop file @@ -160,52 +160,52 @@ end -- @param requested_icon_sizes A list of icon sizes (optional). If this list is given, it will be used as a priority list for icon sizes when looking up for icons. If you want large icons, for example, you can put '128x128' as the first item in the list. -- @return A table with file entries. function parse_desktop_file(arg) - local program = { show = true, file = arg.file } - for line in io.lines(arg.file) do - for key, value in line:gmatch("(%w+)=(.+)") do - program[key] = value - end + local program = { show = true, file = arg.file } + for line in io.lines(arg.file) do + for key, value in line:gmatch("(%w+)=(.+)") do + program[key] = value end + end - -- Don't show the program if NoDisplay is true - -- Only show the program if there is not OnlyShowIn attribute - -- or if it's equal to 'awesome' - if program.NoDisplay == "true" or program.OnlyShowIn ~= nil and program.OnlyShowIn ~= "awesome" then - program.show = false + -- Don't show the program if NoDisplay is true + -- Only show the program if there is not OnlyShowIn attribute + -- or if it's equal to 'awesome' + if program.NoDisplay == "true" or program.OnlyShowIn ~= nil and program.OnlyShowIn ~= "awesome" then + program.show = false + end + + -- Look up for a icon. + if program.Icon then + program.icon_path = lookup_icon({ icon = program.Icon, icon_sizes = (arg.icon_sizes or all_icon_sizes) }) + if program.icon_path ~= nil and not file_exists(program.icon_path) then + program.icon_path = nil end + end - -- Look up for a icon. - if program.Icon then - program.icon_path = lookup_icon({ icon = program.Icon, icon_sizes = (arg.icon_sizes or all_icon_sizes) }) - if program.icon_path ~= nil and not file_exists(program.icon_path) then - program.icon_path = nil - end + -- Split categories into a table. + if program.Categories then + program.categories = {} + for category in program.Categories:gmatch('[^;]+') do + table.insert(program.categories, category) end + end - -- Split categories into a table. - if program.Categories then - program.categories = {} - for category in program.Categories:gmatch('[^;]+') do - table.insert(program.categories, category) - end + if program.Exec then + local cmdline = program.Exec:gsub('%%c', program.Name) + cmdline = cmdline:gsub('%%[fmuFMU]', '') + cmdline = cmdline:gsub('%%k', program.file) + if program.icon_path then + cmdline = cmdline:gsub('%%i', '--icon ' .. program.icon_path) + else + cmdline = cmdline:gsub('%%i', '') end - - if program.Exec then - local cmdline = program.Exec:gsub('%%c', program.Name) - cmdline = cmdline:gsub('%%[fmuFMU]', '') - cmdline = cmdline:gsub('%%k', program.file) - if program.icon_path then - cmdline = cmdline:gsub('%%i', '--icon ' .. program.icon_path) - else - cmdline = cmdline:gsub('%%i', '') - end - if program.Terminal == "true" then - cmdline = terminal .. ' -e ' .. cmdline - end - program.cmdline = cmdline + if program.Terminal == "true" then + cmdline = terminal .. ' -e ' .. cmdline end + program.cmdline = cmdline + end - return program + return program end --- Parse a directory with .desktop files @@ -213,13 +213,13 @@ end -- @param icons_size, The icons sizes, optional. -- @return A table with all .desktop entries. function parse_desktop_files(arg) - local programs = {} - local files = get_lines('find '.. arg.dir ..' -name "*.desktop" 2>/dev/null') - for file in files do - arg.file = file - table.insert(programs, parse_desktop_file(arg)) - end - return programs + local programs = {} + local files = get_lines('find '.. arg.dir ..' -name "*.desktop" 2>/dev/null') + for file in files do + arg.file = file + table.insert(programs, parse_desktop_file(arg)) + end + return programs end --- Parse a directory files and subdirs @@ -227,29 +227,28 @@ end -- @param icons_size, The icons sizes, optional. -- @return A table with all .desktop entries. function parse_dirs_and_files(arg) - local files = {} - local paths = get_lines('find '..arg.dir..' -maxdepth 1 -type d') - for path in paths do - if path:match("[^/]+$") then - local file = {} - file.filename = path:match("[^/]+$") - file.path = path - file.show = true - file.icon = lookup_icon({ icon = "folder", icon_sizes = (arg.icon_sizes or all_icon_sizes) }) - table.insert(files, file) - end + local files = {} + local paths = get_lines('find '..arg.dir..' -maxdepth 1 -type d') + for path in paths do + if path:match("[^/]+$") then + local file = {} + file.filename = path:match("[^/]+$") + file.path = path + file.show = true + file.icon = lookup_icon({ icon = "folder", icon_sizes = (arg.icon_sizes or all_icon_sizes) }) + table.insert(files, file) end - local paths = get_lines('find '..arg.dir..' -maxdepth 1 -type f') - for path in paths do - if not path:find("%.desktop$") then - local file = {} - file.filename = path:match("[^/]+$") - file.path = path - file.show = true - file.icon = lookup_file_icon({ filename = file.filename, icon_sizes = (arg.icon_sizes or all_icon_sizes) }) - table.insert(files, file) - end + end + local paths = get_lines('find '..arg.dir..' -maxdepth 1 -type f') + for path in paths do + if not path:find("%.desktop$") then + local file = {} + file.filename = path:match("[^/]+$") + file.path = path + file.show = true + file.icon = lookup_file_icon({ filename = file.filename, icon_sizes = (arg.icon_sizes or all_icon_sizes) }) + table.insert(files, file) end - return files + end + return files end - diff --git a/home/.config/awesome/rc.lua b/home/.config/awesome/rc.lua index ef79d2e3..ed9173b5 100644 --- a/home/.config/awesome/rc.lua +++ b/home/.config/awesome/rc.lua @@ -19,7 +19,7 @@ local menubar = require("menubar") require('freedesktop.utils') require('freedesktop.menu') freedesktop.utils.icon_theme = 'gnome' ---Vicious + Widgets +--Vicious + Widgets vicious = require("vicious") local wi = require("wi") @@ -27,24 +27,24 @@ local wi = require("wi") -- Check if awesome encountered an error during startup and fell back to -- another config (This code will only ever execute for the fallback config) if awesome.startup_errors then - naughty.notify({ preset = naughty.config.presets.critical, - title = "Oops, there were errors during startup!", - text = awesome.startup_errors }) + naughty.notify({ preset = naughty.config.presets.critical, + title = "Oops, there were errors during startup!", + text = awesome.startup_errors }) end -- Handle runtime errors after startup do - local in_error = false - awesome.connect_signal("debug::error", function (err) - -- Make sure we don't go into an endless error loop - if in_error then return end - in_error = true + local in_error = false + awesome.connect_signal("debug::error", function (err) + -- Make sure we don't go into an endless error loop + if in_error then return end + in_error = true - naughty.notify({ preset = naughty.config.presets.critical, - title = "Oops, an error happened!", - text = err }) - in_error = false - end) + naughty.notify({ preset = naughty.config.presets.critical, + title = "Oops, an error happened!", + text = err }) + in_error = false + end) end -- }}} @@ -53,8 +53,8 @@ terminal = "termite" editor = os.getenv("EDITOR") or "vim" editor_cmd = terminal .. " -e " .. editor rmenu = "rofi-gorice" -browser = "exo-open --launch WebBrowser" -filemgr = "exo-open --launch FileManager" +browser = "firefox" +filemgr = "thunar" txteditor = "geany" volumeup = "pamixer -i 2" volumedown = "pamixer -d 2" @@ -70,7 +70,7 @@ modkey = "Mod4" -- 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, @@ -83,7 +83,7 @@ local layouts = awful.layout.suit.max, awful.layout.suit.max.fullscreen, awful.layout.suit.magnifier -} + } -- }}} -- {{{ Naughty presets @@ -105,62 +105,62 @@ naughty.config.defaults.hover_timeout = nil -- {{{ Wallpaper if beautiful.wallpaper then - for s = 1, screen.count() do - gears.wallpaper.maximized(beautiful.wallpaper, s, true) - end + for s = 1, screen.count() do + gears.wallpaper.maximized(beautiful.wallpaper, s, true) + end end -- }}} -- {{{ Tags -- Define a tag table which hold all screen tags. tags = { - names = { - '☭:1', - '⚡:2', - '♨:3', - '☠:4', - '☃:5', - '⌥:6', - '⌘:7', - '✇:8', - '✣:9', - }, - layout = { - layouts[5], -- 1:1 - layouts[10], -- 2:2 - layouts[10], -- 3:3 - layouts[12], -- 4:4 - layouts[2], -- 5:5 - layouts[10], -- 6:6 - layouts[10], -- 7:7 - layouts[2], -- 8:8 - layouts[10], -- 9:9 - } - } - for s = 1, screen.count() do - -- Each screen has its own tag table. - tags[s] = awful.tag(tags.names, s, tags.layout) - end + names = { + ':1', + ':2', + ':3', + ':4', + ':5', + ':6', + ':7', + ':8', + ':9', + }, + layout = { + layouts[5], -- 1:1 + layouts[10], -- 2:2 + layouts[10], -- 3:3 + layouts[12], -- 4:4 + layouts[2], -- 5:5 + layouts[10], -- 6:6 + layouts[10], -- 7:7 + layouts[2], -- 8:8 + layouts[10], -- 9:9 + } +} +for s = 1, screen.count() do + -- Each screen has its own tag table. + tags[s] = awful.tag(tags.names, s, tags.layout) +end -- }}} --- Wallpaper Changer Based On +-- Wallpaper Changer Based On -- menu icon menu pdq 07-02-2012 - local wallmenu = {} - local function wall_load(wall) - local f = io.popen('ln -sfn ' .. home_path .. '.config/awesome/wallpapers/' .. wall .. ' ' .. home_path .. '.config/awesome/themes/default/bg.png') - awesome.restart() - end - local function wall_menu() - local f = io.popen('ls -1 ' .. home_path .. '.config/awesome/wallpapers/') - for l in f:lines() do -local item = { l, function () wall_load(l) end } - table.insert(wallmenu, item) - end - f:close() - end - wall_menu() +local wallmenu = {} +local function wall_load(wall) + local f = io.popen('ln -sfn ' .. '/usr/share/backgrounds/archlabs/' .. wall .. ' ' .. home_path .. '.config/awesome/themes/default/bg.png') + awesome.restart() +end +local function wall_menu() + local f = io.popen('ls -1 ' .. '/usr/share/backgrounds/archlabs/') + for l in f:lines() do + local item = { l, function () wall_load(l) end } + table.insert(wallmenu, item) + end + f:close() +end +wall_menu() --- Widgets +-- Widgets spacer = wibox.widget.textbox() spacer:set_text(' | ') @@ -179,19 +179,15 @@ vicious.register(batt, vicious.widgets.bat, "Batt: $2% Rem: $3", 61, "BAT1") menu_items = freedesktop.menu.new() myawesomemenu = { - { "manual", terminal .. " -e man awesome", freedesktop.utils.lookup_icon({ icon = 'help' }) }, - { "edit config", editor_cmd .. " " .. awesome.conffile, freedesktop.utils.lookup_icon({ icon = 'package_settings' }) }, - { "restart", awesome.restart, freedesktop.utils.lookup_icon({ icon = 'system-shutdown' }) }, - { "quit", awesome.quit, freedesktop.utils.lookup_icon({ icon = 'system-shutdown' }) } - } + { "manual", terminal .. " -e man awesome", freedesktop.utils.lookup_icon({ icon = 'help' }) }, + { "restart", awesome.restart, freedesktop.utils.lookup_icon({ icon = 'system-shutdown' }) }, + { "quit", awesome.quit, freedesktop.utils.lookup_icon({ icon = 'system-shutdown' }) } +} +table.insert(menu_items, { "Awesome", myawesomemenu, beautiful.awesome_icon }) +table.insert(menu_items, { "Wallpaper", wallmenu, freedesktop.utils.lookup_icon({ icon = 'gnome-settings-background' })}) - table.insert(menu_items, { "Awesome", myawesomemenu, beautiful.awesome_icon }) - table.insert(menu_items, { "Wallpaper", wallmenu, freedesktop.utils.lookup_icon({ icon = 'gnome-settings-background' })}) - - mymainmenu = awful.menu({ items = menu_items, width = 150 }) - -mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon, - menu = mymainmenu }) +mymainmenu = awful.menu({ items = menu_items, width = 200 }) +mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon, menu = mymainmenu }) -- Menubar configuration menubar.utils.terminal = terminal -- Set the terminal for applications that require it @@ -208,261 +204,251 @@ mypromptbox = {} mylayoutbox = {} mytaglist = {} mytaglist.buttons = awful.util.table.join( - awful.button({ }, 1, awful.tag.viewonly), - awful.button({ modkey }, 1, awful.client.movetotag), - awful.button({ }, 3, awful.tag.viewtoggle), - awful.button({ modkey }, 3, awful.client.toggletag), - awful.button({ }, 4, function(t) awful.tag.viewnext(awful.tag.getscreen(t)) end), - awful.button({ }, 5, function(t) awful.tag.viewprev(awful.tag.getscreen(t)) end) - ) + awful.button({ }, 1, awful.tag.viewonly), + awful.button({ modkey }, 1, awful.client.movetotag), + awful.button({ }, 3, awful.tag.viewtoggle), + awful.button({ modkey }, 3, awful.client.toggletag), + awful.button({ }, 4, function(t) awful.tag.viewnext(awful.tag.getscreen(t)) end), + awful.button({ }, 5, function(t) awful.tag.viewprev(awful.tag.getscreen(t)) end) +) mytasklist = {} mytasklist.buttons = awful.util.table.join( - awful.button({ }, 1, function (c) - if c == client.focus then - c.minimized = true - else - -- Without this, the following - -- :isvisible() makes no sense - c.minimized = false - if not c:isvisible() then - awful.tag.viewonly(c:tags()[1]) - end - -- This will also un-minimize - -- the client, if needed - client.focus = c - c:raise() - end - end), - awful.button({ }, 3, function () - if instance then - instance:hide() - instance = nil - else - instance = awful.menu.clients({ width=250 }) - end - end), - awful.button({ }, 4, function () - awful.client.focus.byidx(1) - if client.focus then client.focus:raise() end - end), - awful.button({ }, 5, function () - awful.client.focus.byidx(-1) - if client.focus then client.focus:raise() end - end)) + awful.button({ }, 1, function (c) + if c == client.focus then + c.minimized = true + else + -- Without this, the following + -- :isvisible() makes no sense + c.minimized = false + if not c:isvisible() then + awful.tag.viewonly(c:tags()[1]) + end + -- This will also un-minimize + -- the client, if needed + client.focus = c + c:raise() + end + end), + awful.button({ }, 3, function () + if instance then + instance:hide() + instance = nil + else + instance = awful.menu.clients({ width=250 }) + end + end), + awful.button({ }, 4, function () + awful.client.focus.byidx(1) + if client.focus then client.focus:raise() end + end), + awful.button({ }, 5, function () + awful.client.focus.byidx(-1) + if client.focus then client.focus:raise() end + end) +) for s = 1, screen.count() do - -- Create a promptbox for each screen - mypromptbox[s] = awful.widget.prompt() - -- Create an imagebox widget which will contains an icon indicating which layout we're using. - -- We need one layoutbox per screen. - mylayoutbox[s] = awful.widget.layoutbox(s) - mylayoutbox[s]:buttons(awful.util.table.join( + -- Create a promptbox for each screen + mypromptbox[s] = awful.widget.prompt() + -- Create an imagebox widget which will contains an icon indicating which layout we're using. + -- We need one layoutbox per screen. + mylayoutbox[s] = awful.widget.layoutbox(s) + mylayoutbox[s]:buttons(awful.util.table.join( awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end), awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end), awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end), awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end))) - -- Create a taglist widget - mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.filter.all, mytaglist.buttons) + -- Create a taglist widget + mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.filter.all, mytaglist.buttons) - -- Create a tasklist widget - mytasklist[s] = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, mytasklist.buttons) + -- Create a tasklist widget + mytasklist[s] = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, mytasklist.buttons) - -- Create the wibox - mywibox[s] = awful.wibox({ position = "top", screen = s }) + -- Create the wibox + mywibox[s] = awful.wibox({ position = "top", screen = s }) - -- Widgets that are aligned to the left - local left_layout = wibox.layout.fixed.horizontal() - left_layout:add(mylauncher) - left_layout:add(mytaglist[s]) - left_layout:add(mypromptbox[s]) + -- Widgets that are aligned to the left + local left_layout = wibox.layout.fixed.horizontal() + left_layout:add(mylauncher) + left_layout:add(mytaglist[s]) + left_layout:add(mypromptbox[s]) - -- Widgets that are aligned to the right - local right_layout = wibox.layout.fixed.horizontal() - if s == 1 then right_layout:add(wibox.widget.systray()) end - right_layout:add(spacer) - right_layout:add(mailicon) - right_layout:add(mailwidget) - right_layout:add(spacer) - right_layout:add(baticon) - right_layout:add(batpct) - right_layout:add(spacer) - right_layout:add(pacicon) - right_layout:add(pacwidget) - right_layout:add(spacer) - right_layout:add(volicon) - right_layout:add(volpct) - right_layout:add(volspace) - right_layout:add(spacer) - right_layout:add(mytextclock) - right_layout:add(mylayoutbox[s]) + -- Widgets that are aligned to the right + local right_layout = wibox.layout.fixed.horizontal() + if s == 1 then right_layout:add(wibox.widget.systray()) end + right_layout:add(spacer) + right_layout:add(spacer) + right_layout:add(baticon) + right_layout:add(batpct) + right_layout:add(spacer) + right_layout:add(pacicon) + right_layout:add(pacwidget) + right_layout:add(spacer) + right_layout:add(volicon) + right_layout:add(volpct) + right_layout:add(volspace) + right_layout:add(spacer) + right_layout:add(mytextclock) + right_layout:add(mylayoutbox[s]) - -- Now bring it all together (with the tasklist in the middle) - local layout = wibox.layout.align.horizontal() - layout:set_left(left_layout) - layout:set_middle(mytasklist[s]) - layout:set_right(right_layout) + -- Now bring it all together (with the tasklist in the middle) + local layout = wibox.layout.align.horizontal() + layout:set_left(left_layout) + layout:set_middle(mytasklist[s]) + layout:set_right(right_layout) - mywibox[s]:set_widget(layout) - - -- Create the bottom wibox - myinfowibox[s] = awful.wibox({ position = "bottom", screen = s }) - -- Widgets that are aligned to the bottom - local bottom_layout = wibox.layout.fixed.horizontal() - bottom_layout:add(cpuicon) - bottom_layout:add(cpu) - bottom_layout:add(spacer) - bottom_layout:add(memicon) - bottom_layout:add(mem) - bottom_layout:add(spacer) - bottom_layout:add(wifiicon) - bottom_layout:add(wifi) - bottom_layout:add(spacer) - bottom_layout:add(weather) - bottom_layout:add(spacer) + mywibox[s]:set_widget(layout) - -- Now bring it all together - --local layout = wibox.layout.align.horizontal() - --layout:set_bottom(bottom_layout) + -- Create the bottom wibox + myinfowibox[s] = awful.wibox({ position = "bottom", screen = s }) + -- Widgets that are aligned to the bottom + local bottom_layout = wibox.layout.fixed.horizontal() + bottom_layout:add(cpuicon) + bottom_layout:add(cpu) + bottom_layout:add(spacer) + bottom_layout:add(memicon) + bottom_layout:add(mem) + bottom_layout:add(spacer) + bottom_layout:add(wifiicon) + bottom_layout:add(wifi) + bottom_layout:add(spacer) + bottom_layout:add(weather) + bottom_layout:add(spacer) - myinfowibox[s]:set_widget(bottom_layout) + -- Now bring it all together + --local layout = wibox.layout.align.horizontal() + --layout:set_bottom(bottom_layout) + + myinfowibox[s]:set_widget(bottom_layout) end -- }}} -- {{{ 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) + 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, }, "Left", awful.tag.viewprev ), - awful.key({ modkey, }, "Right", awful.tag.viewnext ), - awful.key({ modkey, }, "Escape", awful.tag.history.restore), + 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({ }, "Print", function () awful.util.spawn("upload_screens scr") end), + 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({ }, "Print", function () awful.util.spawn("upload_screens scr") 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), + -- 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, }, "w", function () awful.util.spawn("luakit") end, "Start Luakit Web Browser"), - - 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) + -- Standard program + 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, "Control" }, "space", function () awful.layout.inc(layouts, -1) end), + awful.key({ modkey, }, "w", function () awful.util.spawn(browser) end), + awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end), + awful.key({ modkey }, "t", function () awful.util.spawn(terminal) end), + awful.key({ modkey }, "e", function () awful.util.spawn(txteditor) end), + awful.key({ modkey }, "f", function () awful.util.spawn(filemgr) end), + awful.key({ modkey }, "r", function () awful.util.spawn(rmenu) end), + awful.key({ modkey }, "space", function () awful.util.spawn(rmenu) end), + awful.key({ modkey, "Shift" }, "r", awesome.restart), + awful.key({ modkey, "Shift" }, "q", awesome.quit), + awful.key({ modkey, "Control" }, "n", awful.client.restore), + -- Menubar + awful.key({ modkey }, "b", 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) + awful.key({ modkey, "Shift" }, "f", function (c) c.fullscreen = not c.fullscreen end), + awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end), + awful.key({ modkey, "Shift" }, "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, "Shift" }, "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) ) -- Compute the maximum number of digit we need, limited to 9 keynumber = 0 for s = 1, screen.count() do - keynumber = math.min(9, math.max(#tags[s], keynumber)) + keynumber = math.min(9, math.max(#tags[s], keynumber)) 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, keynumber do - globalkeys = awful.util.table.join(globalkeys, - awful.key({ modkey }, "#" .. i + 9, - function () - local screen = mouse.screen - if tags[screen][i] then - awful.tag.viewonly(tags[screen][i]) - end - end), - awful.key({ modkey, "Control" }, "#" .. i + 9, - function () - local screen = mouse.screen - if tags[screen][i] then - awful.tag.viewtoggle(tags[screen][i]) - end - end), - awful.key({ modkey, "Shift" }, "#" .. i + 9, - function () - if client.focus and tags[client.focus.screen][i] then - awful.client.movetotag(tags[client.focus.screen][i]) - end - end), - awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, - function () - if client.focus and tags[client.focus.screen][i] then - awful.client.toggletag(tags[client.focus.screen][i]) - end - end)) + globalkeys = awful.util.table.join(globalkeys, + awful.key({ modkey }, "#" .. i + 9, + function () + local screen = mouse.screen + if tags[screen][i] then + awful.tag.viewonly(tags[screen][i]) + end + end), + awful.key({ modkey, "Control" }, "#" .. i + 9, + function () + local screen = mouse.screen + if tags[screen][i] then + awful.tag.viewtoggle(tags[screen][i]) + end + end), + awful.key({ modkey, "Shift" }, "#" .. i + 9, + function () + if client.focus and tags[client.focus.screen][i] then + awful.client.movetotag(tags[client.focus.screen][i]) + end + end), + awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, + function () + if client.focus and tags[client.focus.screen][i] then + awful.client.toggletag(tags[client.focus.screen][i]) + 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)) + 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) @@ -470,97 +456,91 @@ root.keys(globalkeys) -- {{{ Rules awful.rules.rules = { - -- All clients will match this rule. - { rule = { }, - properties = { border_width = beautiful.border_width, - border_color = beautiful.border_normal, - focus = awful.client.focus.filter, - keys = clientkeys, - buttons = clientbuttons } }, - { rule = { class = "MPlayer" }, - properties = { floating = true } }, - { rule = { class = "pinentry" }, - properties = { floating = true } }, - { rule = { class = "gimp" }, - properties = { floating = true } }, - { rule = { class = "Chromium" }, - properties = { tag = tags[1][3] } }, - { rule = { class = "Vlc" }, - properties = { tag = tags[1][6] } }, - { rule = { class = "VirtualBox" }, - properties = { tag = tags[1][5] } }, - { rule = { class = "Gns3" }, - properties = { tag = tags[1][5] } }, - { rule = { class = "Bitcoin-qt" }, - properties = { tag = tags[1][9] } }, - { rule = { class = "luakit" }, - properties = { tag = tags[1][2] } }, - -- Set Firefox to always map on tags number 2 of screen 1. - -- { rule = { class = "Firefox" }, - -- properties = { tag = tags[1][2] } }, + -- All clients will match this rule. + { rule = { }, + properties = { border_width = beautiful.border_width, + border_color = beautiful.border_normal, + focus = awful.client.focus.filter, + keys = clientkeys, + buttons = clientbuttons } }, + { rule = { class = "mpv" }, + properties = { floating = true } }, + { rule = { class = "pinentry" }, + properties = { floating = true } }, + { rule = { class = "gimp" }, + properties = { floating = true } }, + { rule = { class = "Firefox" }, + properties = { tag = tags[1][3] } }, + { rule = { class = "VirtualBox" }, + properties = { tag = tags[1][5] } }, + { rule = { class = "Gns3" }, + properties = { tag = tags[1][5] } }, + -- Set Firefox to always map on tags number 2 of screen 1. + -- { rule = { class = "Firefox" }, + -- properties = { tag = tags[1][2] } }, } -- }}} -- {{{ Signals -- Signal function to execute when a new client appears. client.connect_signal("manage", function (c, startup) - -- Enable sloppy focus - c:connect_signal("mouse::enter", function(c) - if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier - and awful.client.focus.filter(c) then - client.focus = c - end - end) + -- Enable sloppy focus + c:connect_signal("mouse::enter", function(c) + if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier + and awful.client.focus.filter(c) then + client.focus = c + end + end) - if not startup then - -- Set the windows at the slave, - -- i.e. put it at the end of others instead of setting it master. - -- awful.client.setslave(c) + if not startup then + -- Set the windows at the slave, + -- i.e. put it at the end of others instead of setting it master. + -- awful.client.setslave(c) - -- Put windows in a smart way, only if they does not set an initial position. - if not c.size_hints.user_position and not c.size_hints.program_position then - awful.placement.no_overlap(c) - awful.placement.no_offscreen(c) - end - end + -- Put windows in a smart way, only if they does not set an initial position. + if not c.size_hints.user_position and not c.size_hints.program_position then + awful.placement.no_overlap(c) + awful.placement.no_offscreen(c) + end + end - local titlebars_enabled = false - if titlebars_enabled and (c.type == "normal" or c.type == "dialog") then - -- Widgets that are aligned to the left - local left_layout = wibox.layout.fixed.horizontal() - left_layout:add(awful.titlebar.widget.iconwidget(c)) + local titlebars_enabled = false + if titlebars_enabled and (c.type == "normal" or c.type == "dialog") then + -- Widgets that are aligned to the left + local left_layout = wibox.layout.fixed.horizontal() + left_layout:add(awful.titlebar.widget.iconwidget(c)) - -- Widgets that are aligned to the right - local right_layout = wibox.layout.fixed.horizontal() - right_layout:add(awful.titlebar.widget.floatingbutton(c)) - right_layout:add(awful.titlebar.widget.maximizedbutton(c)) - right_layout:add(awful.titlebar.widget.stickybutton(c)) - right_layout:add(awful.titlebar.widget.ontopbutton(c)) - right_layout:add(awful.titlebar.widget.closebutton(c)) + -- Widgets that are aligned to the right + local right_layout = wibox.layout.fixed.horizontal() + right_layout:add(awful.titlebar.widget.floatingbutton(c)) + right_layout:add(awful.titlebar.widget.maximizedbutton(c)) + right_layout:add(awful.titlebar.widget.stickybutton(c)) + right_layout:add(awful.titlebar.widget.ontopbutton(c)) + right_layout:add(awful.titlebar.widget.closebutton(c)) - -- The title goes in the middle - local title = awful.titlebar.widget.titlewidget(c) - title:buttons(awful.util.table.join( - awful.button({ }, 1, function() - client.focus = c - c:raise() - awful.mouse.client.move(c) - end), - awful.button({ }, 3, function() - client.focus = c - c:raise() - awful.mouse.client.resize(c) - end) - )) + -- The title goes in the middle + local title = awful.titlebar.widget.titlewidget(c) + title:buttons(awful.util.table.join( + awful.button({ }, 1, function() + client.focus = c + c:raise() + awful.mouse.client.move(c) + end), + awful.button({ }, 3, function() + client.focus = c + c:raise() + awful.mouse.client.resize(c) + end) + )) - -- Now bring it all together - local layout = wibox.layout.align.horizontal() - layout:set_left(left_layout) - layout:set_right(right_layout) - layout:set_middle(title) + -- Now bring it all together + local layout = wibox.layout.align.horizontal() + layout:set_left(left_layout) + layout:set_right(right_layout) + layout:set_middle(title) - awful.titlebar(c):set_widget(layout) - end + awful.titlebar(c):set_widget(layout) + end end) client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end) diff --git a/home/.config/awesome/themes/default/README b/home/.config/awesome/themes/default/README deleted file mode 100644 index 1ddb3497..00000000 --- a/home/.config/awesome/themes/default/README +++ /dev/null @@ -1,3 +0,0 @@ -Background images: - Mikael Eriksson - Licensed under CC-BY-SA-3.0 diff --git a/home/.config/awesome/themes/default/bacground.png b/home/.config/awesome/themes/default/bacground.png deleted file mode 100644 index 33cbd2cd..00000000 Binary files a/home/.config/awesome/themes/default/bacground.png and /dev/null differ diff --git a/home/.config/awesome/themes/default/background.png.back b/home/.config/awesome/themes/default/background.png.back deleted file mode 100644 index d72a39e1..00000000 Binary files a/home/.config/awesome/themes/default/background.png.back and /dev/null differ diff --git a/home/.config/awesome/themes/default/icon/Arch.png b/home/.config/awesome/themes/default/icon/Arch.png deleted file mode 100644 index a9c0fecd..00000000 Binary files a/home/.config/awesome/themes/default/icon/Arch.png and /dev/null differ diff --git a/home/.config/awesome/themes/default/icon/ArchLabs.png b/home/.config/awesome/themes/default/icon/ArchLabs.png new file mode 100644 index 00000000..6776757b Binary files /dev/null and b/home/.config/awesome/themes/default/icon/ArchLabs.png differ diff --git a/home/.config/awesome/themes/sky/awesome-icon.png b/home/.config/awesome/themes/default/icon/awesome-icon.png similarity index 100% rename from home/.config/awesome/themes/sky/awesome-icon.png rename to home/.config/awesome/themes/default/icon/awesome-icon.png diff --git a/home/.config/awesome/themes/default/theme.lua b/home/.config/awesome/themes/default/theme.lua index 87b71e78..527a3883 100644 --- a/home/.config/awesome/themes/default/theme.lua +++ b/home/.config/awesome/themes/default/theme.lua @@ -1,5 +1,5 @@ --------------------------- --- Default SETKEH theme -- +-- Default ArchLabs theme -- --------------------------- local awful = require("awful") @@ -8,8 +8,8 @@ local awful = require("awful") home_path = os.getenv('HOME') .. '/' theme = {} -theme.wallpaper = awful.util.getdir("config") .. "/themes/default/bg.png" -theme.font = "terminus 8" +theme.wallpaper_cmd = { "awsetbg /usr/share/backgrounds/archlabs/archlabs.png" } +theme.font = "Ubuntu 10" theme.bg_normal = "#222222" theme.bg_focus = "#535d6c" @@ -59,8 +59,8 @@ theme.tasklist_floating_icon = home_path .. '.config/awesome/themes/default/task -- menu_[bg|fg]_[normal|focus] -- menu_[border_color|border_width] theme.menu_submenu_icon = home_path .. '.config/awesome/themes/default/submenu.png' -theme.menu_height = "15" -theme.menu_width = "100" +theme.menu_height = "20" +theme.menu_width = "150" -- You can add as many variables as -- you wish and access them by using @@ -105,8 +105,8 @@ theme.layout_tiletop = home_path .. '.config/awesome/themes/default/layouts/tile theme.layout_spiral = home_path .. '.config/awesome/themes/default/layouts/spiralw.png' theme.layout_dwindle = home_path .. '.config/awesome/themes/default/layouts/dwindlew.png' -theme.awesome_icon = home_path .. '.config/awesome/themes/default/icon/awesome16.png' -theme.arch_icon = home_path .. '.config/awesome/themes/default/icon/Arch.png' +theme.awesome_icon = home_path .. '.config/awesome/themes/default/icon/awesome-icon.png' +theme.arch_icon = home_path .. '.config/awesome/themes/default/icon/ArchLabs.png' -- {{{ Widgets theme.widget_disk = awful.util.getdir("config") .. "/themes/default/widgets/disk.png" @@ -122,8 +122,6 @@ theme.widget_vol = awful.util.getdir("config") .. "/themes/default/widgets/vol.p theme.widget_mute = awful.util.getdir("config") .. "/themes/default/widgets/mute.png" theme.widget_pac = awful.util.getdir("config") .. "/themes/default/widgets/pac.png" theme.widget_pacnew = awful.util.getdir("config") .. "/themes/default/widgets/pacnew.png" -theme.widget_mail = awful.util.getdir("config") .. "/themes/default/widgets/mail.png" -theme.widget_mailnew = awful.util.getdir("config") .. "/themes/default/widgets/mailnew.png" theme.widget_temp = awful.util.getdir("config") .. "/themes/default/widgets/temp.png" theme.widget_tempwarn = awful.util.getdir("config") .. "/themes/default/widgets/tempwarm.png" theme.widget_temphot = awful.util.getdir("config") .. "/themes/default/widgets/temphot.png" diff --git a/home/.config/awesome/themes/default/theme.lua~ b/home/.config/awesome/themes/default/theme.lua~ deleted file mode 100644 index 58fce696..00000000 --- a/home/.config/awesome/themes/default/theme.lua~ +++ /dev/null @@ -1,100 +0,0 @@ ---------------------------- --- Default awesome theme -- ---------------------------- - -theme = {} - -#theme.font = "sans 8" -theme.font = "terminus 8" - -theme.bg_normal = "#222222" -theme.bg_focus = "#535d6c" -theme.bg_urgent = "#ff0000" -theme.bg_minimize = "#444444" - -theme.fg_normal = "#aaaaaa" -theme.fg_focus = "#ffffff" -theme.fg_urgent = "#ffffff" -theme.fg_minimize = "#ffffff" - -theme.border_width = "1" -theme.border_normal = "#000000" -theme.border_focus = "#535d6c" -theme.border_marked = "#91231c" - --- There are other variable sets --- overriding the default one when --- defined, the sets are: --- [taglist|tasklist]_[bg|fg]_[focus|urgent] --- titlebar_[bg|fg]_[normal|focus] --- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color] --- mouse_finder_[color|timeout|animate_timeout|radius|factor] --- Example: ---theme.taglist_bg_focus = "#ff0000" - --- Display the taglist squares -theme.taglist_squares_sel = "/home/setkeh/.config/awesome/themes/default/taglist/squarefw.png" -theme.taglist_squares_unsel = "/home/setkeh/.config/awesome/themes/default/taglist/squarew.png" - -theme.tasklist_floating_icon = "/home/setkeh/.config/awesome/themes/default/tasklist/floatingw.png" - --- Variables set for theming the menu: --- menu_[bg|fg]_[normal|focus] --- menu_[border_color|border_width] -theme.menu_submenu_icon = "/home/setkeh/.config/awesome/themes/default/submenu.png" -theme.menu_height = "15" -theme.menu_width = "100" - --- You can add as many variables as --- you wish and access them by using --- beautiful.variable in your rc.lua ---theme.bg_widget = "#cc0000" - --- Define the image to load -theme.titlebar_close_button_normal = "/home/setkeh/.config/awesome/themes/default/titlebar/close_normal.png" -theme.titlebar_close_button_focus = "/home/setkeh/.config/awesome/themes/default/titlebar/close_focus.png" - -theme.titlebar_ontop_button_normal_inactive = "/home/setkeh/.config/awesome/themes/default/titlebar/ontop_normal_inactive.png" -theme.titlebar_ontop_button_focus_inactive = "/home/setkeh/.config/awesome/themes/default/titlebar/ontop_focus_inactive.png" -theme.titlebar_ontop_button_normal_active = "/home/setkeh/.config/awesome/themes/default/titlebar/ontop_normal_active.png" -theme.titlebar_ontop_button_focus_active = "/home/setkeh/.config/awesome/themes/default/titlebar/ontop_focus_active.png" - -theme.titlebar_sticky_button_normal_inactive = "/home/setkeh/.config/awesome/themes/default/titlebar/sticky_normal_inactive.png" -theme.titlebar_sticky_button_focus_inactive = "/home/setkeh/.config/awesome/themes/default/titlebar/sticky_focus_inactive.png" -theme.titlebar_sticky_button_normal_active = "/home/setkeh/.config/awesome/themes/default/titlebar/sticky_normal_active.png" -theme.titlebar_sticky_button_focus_active = "/home/setkeh/.config/awesome/themes/default/titlebar/sticky_focus_active.png" - -theme.titlebar_floating_button_normal_inactive = "/home/setkeh/.config/awesome/themes/default/titlebar/floating_normal_inactive.png" -theme.titlebar_floating_button_focus_inactive = "/home/setkeh/.config/awesome/themes/default/titlebar/floating_focus_inactive.png" -theme.titlebar_floating_button_normal_active = "/home/setkeh/.config/awesome/themes/default/titlebar/floating_normal_active.png" -theme.titlebar_floating_button_focus_active = "/home/setkeh/.config/awesome/themes/default/titlebar/floating_focus_active.png" - -theme.titlebar_maximized_button_normal_inactive = "/home/setkeh/.config/awesome/themes/default/titlebar/maximized_normal_inactive.png" -theme.titlebar_maximized_button_focus_inactive = "/home/setkeh/.config/awesome/themes/default/titlebar/maximized_focus_inactive.png" -theme.titlebar_maximized_button_normal_active = "/home/setkeh/.config/awesome/themes/default/titlebar/maximized_normal_active.png" -theme.titlebar_maximized_button_focus_active = "/home/setkeh/.config/awesome/themes/default/titlebar/maximized_focus_active.png" - --- You can use your own command to set your wallpaper -theme.wallpaper_cmd = { "awsetbg /home/setkeh/.config/awesome/themes/default/prettyff5.png" } ---theme.wallpaper_cmd = { "awsetbg /home/setkeh/.config/awesome/themes/default/Sultry.jpg" } ---theme.wallpaper_cmd = { "awsetbg /home/setkeh/.config/awesome/themes/default/x.jpg" } - --- You can use your own layout icons like this: -theme.layout_fairh = "/home/setkeh/.config/awesome/themes/default/layouts/fairhw.png" -theme.layout_fairv = "/home/setkeh/.config/awesome/themes/default/layouts/fairvw.png" -theme.layout_floating = "/home/setkeh/.config/awesome/themes/default/layouts/floatingw.png" -theme.layout_magnifier = "/home/setkeh/.config/awesome/themes/default/layouts/magnifierw.png" -theme.layout_max = "/home/setkeh/.config/awesome/themes/default/layouts/maxw.png" -theme.layout_fullscreen = "/home/setkeh/.config/awesome/themes/default/layouts/fullscreenw.png" -theme.layout_tilebottom = "/home/setkeh/.config/awesome/themes/default/layouts/tilebottomw.png" -theme.layout_tileleft = "/home/setkeh/.config/awesome/themes/default/layouts/tileleftw.png" -theme.layout_tile = "/home/setkeh/.config/awesome/themes/default/layouts/tilew.png" -theme.layout_tiletop = "/home/setkeh/.config/awesome/themes/default/layouts/tiletopw.png" -theme.layout_spiral = "/home/setkeh/.config/awesome/themes/default/layouts/spiralw.png" -theme.layout_dwindle = "/home/setkeh/.config/awesome/themes/default/layouts/dwindlew.png" - -theme.awesome_icon = "/home/setkeh/.config/awesome/themes/default/icon/awesome16.png" -theme.arch_icon = "/home/setkeh/.config/awesome/themes/default/icon/Arch.png" - -return theme --- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/home/.config/awesome/themes/default/widgets/mail.png b/home/.config/awesome/themes/default/widgets/mail.png deleted file mode 100644 index 0fb9243d..00000000 Binary files a/home/.config/awesome/themes/default/widgets/mail.png and /dev/null differ diff --git a/home/.config/awesome/themes/default/widgets/mailnew.png b/home/.config/awesome/themes/default/widgets/mailnew.png deleted file mode 100644 index f9ae2a7e..00000000 Binary files a/home/.config/awesome/themes/default/widgets/mailnew.png and /dev/null differ diff --git a/home/.config/awesome/themes/sky/layouts/dwindle.png b/home/.config/awesome/themes/sky/layouts/dwindle.png deleted file mode 100644 index 7d898fa6..00000000 Binary files a/home/.config/awesome/themes/sky/layouts/dwindle.png and /dev/null differ diff --git a/home/.config/awesome/themes/sky/layouts/fairh.png b/home/.config/awesome/themes/sky/layouts/fairh.png deleted file mode 100644 index e8d7ddb0..00000000 Binary files a/home/.config/awesome/themes/sky/layouts/fairh.png and /dev/null differ diff --git a/home/.config/awesome/themes/sky/layouts/fairv.png b/home/.config/awesome/themes/sky/layouts/fairv.png deleted file mode 100644 index ef47f9fa..00000000 Binary files a/home/.config/awesome/themes/sky/layouts/fairv.png and /dev/null differ diff --git a/home/.config/awesome/themes/sky/layouts/floating.png b/home/.config/awesome/themes/sky/layouts/floating.png deleted file mode 100644 index 978f7231..00000000 Binary files a/home/.config/awesome/themes/sky/layouts/floating.png and /dev/null differ diff --git a/home/.config/awesome/themes/sky/layouts/fullscreen.png b/home/.config/awesome/themes/sky/layouts/fullscreen.png deleted file mode 100644 index b1de0036..00000000 Binary files a/home/.config/awesome/themes/sky/layouts/fullscreen.png and /dev/null differ diff --git a/home/.config/awesome/themes/sky/layouts/magnifier.png b/home/.config/awesome/themes/sky/layouts/magnifier.png deleted file mode 100644 index d69ac685..00000000 Binary files a/home/.config/awesome/themes/sky/layouts/magnifier.png and /dev/null differ diff --git a/home/.config/awesome/themes/sky/layouts/max.png b/home/.config/awesome/themes/sky/layouts/max.png deleted file mode 100644 index 37491f93..00000000 Binary files a/home/.config/awesome/themes/sky/layouts/max.png and /dev/null differ diff --git a/home/.config/awesome/themes/sky/layouts/spiral.png b/home/.config/awesome/themes/sky/layouts/spiral.png deleted file mode 100644 index 600d1ec5..00000000 Binary files a/home/.config/awesome/themes/sky/layouts/spiral.png and /dev/null differ diff --git a/home/.config/awesome/themes/sky/layouts/tile.png b/home/.config/awesome/themes/sky/layouts/tile.png deleted file mode 100644 index 550393a2..00000000 Binary files a/home/.config/awesome/themes/sky/layouts/tile.png and /dev/null differ diff --git a/home/.config/awesome/themes/sky/layouts/tilebottom.png b/home/.config/awesome/themes/sky/layouts/tilebottom.png deleted file mode 100644 index 1dcc2271..00000000 Binary files a/home/.config/awesome/themes/sky/layouts/tilebottom.png and /dev/null differ diff --git a/home/.config/awesome/themes/sky/layouts/tileleft.png b/home/.config/awesome/themes/sky/layouts/tileleft.png deleted file mode 100644 index 14e13f58..00000000 Binary files a/home/.config/awesome/themes/sky/layouts/tileleft.png and /dev/null differ diff --git a/home/.config/awesome/themes/sky/layouts/tiletop.png b/home/.config/awesome/themes/sky/layouts/tiletop.png deleted file mode 100644 index 2bcb161c..00000000 Binary files a/home/.config/awesome/themes/sky/layouts/tiletop.png and /dev/null differ diff --git a/home/.config/awesome/themes/sky/sky-background.png b/home/.config/awesome/themes/sky/sky-background.png deleted file mode 100644 index bbc07cc1..00000000 Binary files a/home/.config/awesome/themes/sky/sky-background.png and /dev/null differ diff --git a/home/.config/awesome/themes/sky/theme.lua b/home/.config/awesome/themes/sky/theme.lua deleted file mode 100644 index 4b52ab87..00000000 --- a/home/.config/awesome/themes/sky/theme.lua +++ /dev/null @@ -1,80 +0,0 @@ -------------------------------- --- "Sky" awesome theme -- --- By Andrei "Garoth" Thorp -- -------------------------------- --- If you want SVGs and extras, get them from garoth.com/awesome/sky-theme - --- BASICS -theme = {} -theme.font = "sans 8" - -theme.bg_focus = "#e2eeea" -theme.bg_normal = "#729fcf" -theme.bg_urgent = "#fce94f" -theme.bg_minimize = "#0067ce" - -theme.fg_normal = "#2e3436" -theme.fg_focus = "#2e3436" -theme.fg_urgent = "#2e3436" -theme.fg_minimize = "#2e3436" - -theme.border_width = "2" -theme.border_normal = "#dae3e0" -theme.border_focus = "#729fcf" -theme.border_marked = "#eeeeec" - --- IMAGES -theme.layout_fairh = "/usr/share/awesome/themes/sky/layouts/fairh.png" -theme.layout_fairv = "/usr/share/awesome/themes/sky/layouts/fairv.png" -theme.layout_floating = "/usr/share/awesome/themes/sky/layouts/floating.png" -theme.layout_magnifier = "/usr/share/awesome/themes/sky/layouts/magnifier.png" -theme.layout_max = "/usr/share/awesome/themes/sky/layouts/max.png" -theme.layout_fullscreen = "/usr/share/awesome/themes/sky/layouts/fullscreen.png" -theme.layout_tilebottom = "/usr/share/awesome/themes/sky/layouts/tilebottom.png" -theme.layout_tileleft = "/usr/share/awesome/themes/sky/layouts/tileleft.png" -theme.layout_tile = "/usr/share/awesome/themes/sky/layouts/tile.png" -theme.layout_tiletop = "/usr/share/awesome/themes/sky/layouts/tiletop.png" -theme.layout_spiral = "/usr/share/awesome/themes/sky/layouts/spiral.png" -theme.layout_dwindle = "/usr/share/awesome/themes/sky/layouts/dwindle.png" - -theme.awesome_icon = "/usr/share/awesome/themes/sky/awesome-icon.png" -theme.tasklist_floating_icon = "/usr/share/awesome/themes/sky/layouts/floating.png" - --- from default for now... -theme.menu_submenu_icon = "/usr/share/awesome/themes/default/submenu.png" -theme.taglist_squares_sel = "/usr/share/awesome/themes/default/taglist/squarefw.png" -theme.taglist_squares_unsel = "/usr/share/awesome/themes/default/taglist/squarew.png" - --- MISC -theme.wallpaper_cmd = { "awsetbg /usr/share/awesome/themes/sky/sky-background.png" } -theme.taglist_squares = "true" -theme.titlebar_close_button = "true" -theme.menu_height = "15" -theme.menu_width = "100" - --- Define the image to load -theme.titlebar_close_button_normal = "/usr/share/awesome/themes/default/titlebar/close_normal.png" -theme.titlebar_close_button_focus = "/usr/share/awesome/themes/default/titlebar/close_focus.png" - -theme.titlebar_ontop_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/ontop_normal_inactive.png" -theme.titlebar_ontop_button_focus_inactive = "/usr/share/awesome/themes/default/titlebar/ontop_focus_inactive.png" -theme.titlebar_ontop_button_normal_active = "/usr/share/awesome/themes/default/titlebar/ontop_normal_active.png" -theme.titlebar_ontop_button_focus_active = "/usr/share/awesome/themes/default/titlebar/ontop_focus_active.png" - -theme.titlebar_sticky_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/sticky_normal_inactive.png" -theme.titlebar_sticky_button_focus_inactive = "/usr/share/awesome/themes/default/titlebar/sticky_focus_inactive.png" -theme.titlebar_sticky_button_normal_active = "/usr/share/awesome/themes/default/titlebar/sticky_normal_active.png" -theme.titlebar_sticky_button_focus_active = "/usr/share/awesome/themes/default/titlebar/sticky_focus_active.png" - -theme.titlebar_floating_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/floating_normal_inactive.png" -theme.titlebar_floating_button_focus_inactive = "/usr/share/awesome/themes/default/titlebar/floating_focus_inactive.png" -theme.titlebar_floating_button_normal_active = "/usr/share/awesome/themes/default/titlebar/floating_normal_active.png" -theme.titlebar_floating_button_focus_active = "/usr/share/awesome/themes/default/titlebar/floating_focus_active.png" - -theme.titlebar_maximized_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/maximized_normal_inactive.png" -theme.titlebar_maximized_button_focus_inactive = "/usr/share/awesome/themes/default/titlebar/maximized_focus_inactive.png" -theme.titlebar_maximized_button_normal_active = "/usr/share/awesome/themes/default/titlebar/maximized_normal_active.png" -theme.titlebar_maximized_button_focus_active = "/usr/share/awesome/themes/default/titlebar/maximized_focus_active.png" - -return theme --- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/home/.config/awesome/themes/zenburn/awesome-icon.png b/home/.config/awesome/themes/zenburn/awesome-icon.png deleted file mode 100644 index 70978d3a..00000000 Binary files a/home/.config/awesome/themes/zenburn/awesome-icon.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/layouts/dwindle.png b/home/.config/awesome/themes/zenburn/layouts/dwindle.png deleted file mode 100644 index 1aa4bf26..00000000 Binary files a/home/.config/awesome/themes/zenburn/layouts/dwindle.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/layouts/fairh.png b/home/.config/awesome/themes/zenburn/layouts/fairh.png deleted file mode 100644 index e176bb36..00000000 Binary files a/home/.config/awesome/themes/zenburn/layouts/fairh.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/layouts/fairv.png b/home/.config/awesome/themes/zenburn/layouts/fairv.png deleted file mode 100644 index 7c0a92c5..00000000 Binary files a/home/.config/awesome/themes/zenburn/layouts/fairv.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/layouts/floating.png b/home/.config/awesome/themes/zenburn/layouts/floating.png deleted file mode 100644 index a3990924..00000000 Binary files a/home/.config/awesome/themes/zenburn/layouts/floating.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/layouts/fullscreen.png b/home/.config/awesome/themes/zenburn/layouts/fullscreen.png deleted file mode 100644 index a0c795c5..00000000 Binary files a/home/.config/awesome/themes/zenburn/layouts/fullscreen.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/layouts/magnifier.png b/home/.config/awesome/themes/zenburn/layouts/magnifier.png deleted file mode 100644 index bca6db90..00000000 Binary files a/home/.config/awesome/themes/zenburn/layouts/magnifier.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/layouts/max.png b/home/.config/awesome/themes/zenburn/layouts/max.png deleted file mode 100644 index 96a237ab..00000000 Binary files a/home/.config/awesome/themes/zenburn/layouts/max.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/layouts/spiral.png b/home/.config/awesome/themes/zenburn/layouts/spiral.png deleted file mode 100644 index 8f5aeede..00000000 Binary files a/home/.config/awesome/themes/zenburn/layouts/spiral.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/layouts/tile.png b/home/.config/awesome/themes/zenburn/layouts/tile.png deleted file mode 100644 index 3fcc904d..00000000 Binary files a/home/.config/awesome/themes/zenburn/layouts/tile.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/layouts/tilebottom.png b/home/.config/awesome/themes/zenburn/layouts/tilebottom.png deleted file mode 100644 index dfe78322..00000000 Binary files a/home/.config/awesome/themes/zenburn/layouts/tilebottom.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/layouts/tileleft.png b/home/.config/awesome/themes/zenburn/layouts/tileleft.png deleted file mode 100644 index c5decfd5..00000000 Binary files a/home/.config/awesome/themes/zenburn/layouts/tileleft.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/layouts/tiletop.png b/home/.config/awesome/themes/zenburn/layouts/tiletop.png deleted file mode 100644 index b2516612..00000000 Binary files a/home/.config/awesome/themes/zenburn/layouts/tiletop.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/taglist/squarefz.png b/home/.config/awesome/themes/zenburn/taglist/squarefz.png deleted file mode 100644 index 09277204..00000000 Binary files a/home/.config/awesome/themes/zenburn/taglist/squarefz.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/taglist/squarez.png b/home/.config/awesome/themes/zenburn/taglist/squarez.png deleted file mode 100644 index 9b41c26e..00000000 Binary files a/home/.config/awesome/themes/zenburn/taglist/squarez.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/theme.lua b/home/.config/awesome/themes/zenburn/theme.lua deleted file mode 100644 index ae93bb1a..00000000 --- a/home/.config/awesome/themes/zenburn/theme.lua +++ /dev/null @@ -1,126 +0,0 @@ -------------------------------- --- "Zenburn" awesome theme -- --- By Adrian C. (anrxc) -- -------------------------------- - --- Alternative icon sets and widget icons: --- * http://awesome.naquadah.org/wiki/Nice_Icons - --- {{{ Main -theme = {} -theme.wallpaper_cmd = { "awsetbg /usr/share/awesome/themes/zenburn/zenburn-background.png" } --- }}} - --- {{{ Styles -theme.font = "sans 8" - --- {{{ Colors -theme.fg_normal = "#DCDCCC" -theme.fg_focus = "#F0DFAF" -theme.fg_urgent = "#CC9393" -theme.bg_normal = "#3F3F3F" -theme.bg_focus = "#1E2320" -theme.bg_urgent = "#3F3F3F" --- }}} - --- {{{ Borders -theme.border_width = "2" -theme.border_normal = "#3F3F3F" -theme.border_focus = "#6F6F6F" -theme.border_marked = "#CC9393" --- }}} - --- {{{ Titlebars -theme.titlebar_bg_focus = "#3F3F3F" -theme.titlebar_bg_normal = "#3F3F3F" --- }}} - --- There are other variable sets --- overriding the default one when --- defined, the sets are: --- [taglist|tasklist]_[bg|fg]_[focus|urgent] --- titlebar_[normal|focus] --- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color] --- Example: ---theme.taglist_bg_focus = "#CC9393" --- }}} - --- {{{ Widgets --- You can add as many variables as --- you wish and access them by using --- beautiful.variable in your rc.lua ---theme.fg_widget = "#AECF96" ---theme.fg_center_widget = "#88A175" ---theme.fg_end_widget = "#FF5656" ---theme.bg_widget = "#494B4F" ---theme.border_widget = "#3F3F3F" --- }}} - --- {{{ Mouse finder -theme.mouse_finder_color = "#CC9393" --- mouse_finder_[timeout|animate_timeout|radius|factor] --- }}} - --- {{{ Menu --- Variables set for theming the menu: --- menu_[bg|fg]_[normal|focus] --- menu_[border_color|border_width] -theme.menu_height = "15" -theme.menu_width = "100" --- }}} - --- {{{ Icons --- {{{ Taglist -theme.taglist_squares_sel = "/usr/share/awesome/themes/zenburn/taglist/squarefz.png" -theme.taglist_squares_unsel = "/usr/share/awesome/themes/zenburn/taglist/squarez.png" ---theme.taglist_squares_resize = "false" --- }}} - --- {{{ Misc -theme.awesome_icon = "/usr/share/awesome/themes/zenburn/awesome-icon.png" -theme.menu_submenu_icon = "/usr/share/awesome/themes/default/submenu.png" -theme.tasklist_floating_icon = "/usr/share/awesome/themes/default/tasklist/floatingw.png" --- }}} - --- {{{ Layout -theme.layout_tile = "/usr/share/awesome/themes/zenburn/layouts/tile.png" -theme.layout_tileleft = "/usr/share/awesome/themes/zenburn/layouts/tileleft.png" -theme.layout_tilebottom = "/usr/share/awesome/themes/zenburn/layouts/tilebottom.png" -theme.layout_tiletop = "/usr/share/awesome/themes/zenburn/layouts/tiletop.png" -theme.layout_fairv = "/usr/share/awesome/themes/zenburn/layouts/fairv.png" -theme.layout_fairh = "/usr/share/awesome/themes/zenburn/layouts/fairh.png" -theme.layout_spiral = "/usr/share/awesome/themes/zenburn/layouts/spiral.png" -theme.layout_dwindle = "/usr/share/awesome/themes/zenburn/layouts/dwindle.png" -theme.layout_max = "/usr/share/awesome/themes/zenburn/layouts/max.png" -theme.layout_fullscreen = "/usr/share/awesome/themes/zenburn/layouts/fullscreen.png" -theme.layout_magnifier = "/usr/share/awesome/themes/zenburn/layouts/magnifier.png" -theme.layout_floating = "/usr/share/awesome/themes/zenburn/layouts/floating.png" --- }}} - --- {{{ Titlebar -theme.titlebar_close_button_focus = "/usr/share/awesome/themes/zenburn/titlebar/close_focus.png" -theme.titlebar_close_button_normal = "/usr/share/awesome/themes/zenburn/titlebar/close_normal.png" - -theme.titlebar_ontop_button_focus_active = "/usr/share/awesome/themes/zenburn/titlebar/ontop_focus_active.png" -theme.titlebar_ontop_button_normal_active = "/usr/share/awesome/themes/zenburn/titlebar/ontop_normal_active.png" -theme.titlebar_ontop_button_focus_inactive = "/usr/share/awesome/themes/zenburn/titlebar/ontop_focus_inactive.png" -theme.titlebar_ontop_button_normal_inactive = "/usr/share/awesome/themes/zenburn/titlebar/ontop_normal_inactive.png" - -theme.titlebar_sticky_button_focus_active = "/usr/share/awesome/themes/zenburn/titlebar/sticky_focus_active.png" -theme.titlebar_sticky_button_normal_active = "/usr/share/awesome/themes/zenburn/titlebar/sticky_normal_active.png" -theme.titlebar_sticky_button_focus_inactive = "/usr/share/awesome/themes/zenburn/titlebar/sticky_focus_inactive.png" -theme.titlebar_sticky_button_normal_inactive = "/usr/share/awesome/themes/zenburn/titlebar/sticky_normal_inactive.png" - -theme.titlebar_floating_button_focus_active = "/usr/share/awesome/themes/zenburn/titlebar/floating_focus_active.png" -theme.titlebar_floating_button_normal_active = "/usr/share/awesome/themes/zenburn/titlebar/floating_normal_active.png" -theme.titlebar_floating_button_focus_inactive = "/usr/share/awesome/themes/zenburn/titlebar/floating_focus_inactive.png" -theme.titlebar_floating_button_normal_inactive = "/usr/share/awesome/themes/zenburn/titlebar/floating_normal_inactive.png" - -theme.titlebar_maximized_button_focus_active = "/usr/share/awesome/themes/zenburn/titlebar/maximized_focus_active.png" -theme.titlebar_maximized_button_normal_active = "/usr/share/awesome/themes/zenburn/titlebar/maximized_normal_active.png" -theme.titlebar_maximized_button_focus_inactive = "/usr/share/awesome/themes/zenburn/titlebar/maximized_focus_inactive.png" -theme.titlebar_maximized_button_normal_inactive = "/usr/share/awesome/themes/zenburn/titlebar/maximized_normal_inactive.png" --- }}} --- }}} - -return theme diff --git a/home/.config/awesome/themes/zenburn/titlebar/close_focus.png b/home/.config/awesome/themes/zenburn/titlebar/close_focus.png deleted file mode 100644 index e9b41791..00000000 Binary files a/home/.config/awesome/themes/zenburn/titlebar/close_focus.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/titlebar/close_normal.png b/home/.config/awesome/themes/zenburn/titlebar/close_normal.png deleted file mode 100644 index 86a16fd3..00000000 Binary files a/home/.config/awesome/themes/zenburn/titlebar/close_normal.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/titlebar/floating_focus_active.png b/home/.config/awesome/themes/zenburn/titlebar/floating_focus_active.png deleted file mode 100644 index 0f9ee0de..00000000 Binary files a/home/.config/awesome/themes/zenburn/titlebar/floating_focus_active.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/titlebar/floating_focus_inactive.png b/home/.config/awesome/themes/zenburn/titlebar/floating_focus_inactive.png deleted file mode 100644 index bd82c56b..00000000 Binary files a/home/.config/awesome/themes/zenburn/titlebar/floating_focus_inactive.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/titlebar/floating_normal_active.png b/home/.config/awesome/themes/zenburn/titlebar/floating_normal_active.png deleted file mode 100644 index 760e5ab3..00000000 Binary files a/home/.config/awesome/themes/zenburn/titlebar/floating_normal_active.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/titlebar/floating_normal_inactive.png b/home/.config/awesome/themes/zenburn/titlebar/floating_normal_inactive.png deleted file mode 100644 index cb03045e..00000000 Binary files a/home/.config/awesome/themes/zenburn/titlebar/floating_normal_inactive.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/titlebar/maximized_focus_active.png b/home/.config/awesome/themes/zenburn/titlebar/maximized_focus_active.png deleted file mode 100644 index 7e8498a1..00000000 Binary files a/home/.config/awesome/themes/zenburn/titlebar/maximized_focus_active.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/titlebar/maximized_focus_inactive.png b/home/.config/awesome/themes/zenburn/titlebar/maximized_focus_inactive.png deleted file mode 100644 index 9be9bf12..00000000 Binary files a/home/.config/awesome/themes/zenburn/titlebar/maximized_focus_inactive.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/titlebar/maximized_normal_active.png b/home/.config/awesome/themes/zenburn/titlebar/maximized_normal_active.png deleted file mode 100644 index d1856be3..00000000 Binary files a/home/.config/awesome/themes/zenburn/titlebar/maximized_normal_active.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/titlebar/maximized_normal_inactive.png b/home/.config/awesome/themes/zenburn/titlebar/maximized_normal_inactive.png deleted file mode 100644 index 37e8f842..00000000 Binary files a/home/.config/awesome/themes/zenburn/titlebar/maximized_normal_inactive.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/titlebar/ontop_focus_active.png b/home/.config/awesome/themes/zenburn/titlebar/ontop_focus_active.png deleted file mode 100644 index 86e61b7f..00000000 Binary files a/home/.config/awesome/themes/zenburn/titlebar/ontop_focus_active.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/titlebar/ontop_focus_inactive.png b/home/.config/awesome/themes/zenburn/titlebar/ontop_focus_inactive.png deleted file mode 100644 index 47add972..00000000 Binary files a/home/.config/awesome/themes/zenburn/titlebar/ontop_focus_inactive.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/titlebar/ontop_normal_active.png b/home/.config/awesome/themes/zenburn/titlebar/ontop_normal_active.png deleted file mode 100644 index 4b38d4ba..00000000 Binary files a/home/.config/awesome/themes/zenburn/titlebar/ontop_normal_active.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/titlebar/ontop_normal_inactive.png b/home/.config/awesome/themes/zenburn/titlebar/ontop_normal_inactive.png deleted file mode 100644 index 8dbc14ca..00000000 Binary files a/home/.config/awesome/themes/zenburn/titlebar/ontop_normal_inactive.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/titlebar/sticky_focus_active.png b/home/.config/awesome/themes/zenburn/titlebar/sticky_focus_active.png deleted file mode 100644 index b10e6041..00000000 Binary files a/home/.config/awesome/themes/zenburn/titlebar/sticky_focus_active.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/titlebar/sticky_focus_inactive.png b/home/.config/awesome/themes/zenburn/titlebar/sticky_focus_inactive.png deleted file mode 100644 index a6e65199..00000000 Binary files a/home/.config/awesome/themes/zenburn/titlebar/sticky_focus_inactive.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/titlebar/sticky_normal_active.png b/home/.config/awesome/themes/zenburn/titlebar/sticky_normal_active.png deleted file mode 100644 index 0c568cf8..00000000 Binary files a/home/.config/awesome/themes/zenburn/titlebar/sticky_normal_active.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/titlebar/sticky_normal_inactive.png b/home/.config/awesome/themes/zenburn/titlebar/sticky_normal_inactive.png deleted file mode 100644 index 6283f129..00000000 Binary files a/home/.config/awesome/themes/zenburn/titlebar/sticky_normal_inactive.png and /dev/null differ diff --git a/home/.config/awesome/themes/zenburn/zenburn-background.png b/home/.config/awesome/themes/zenburn/zenburn-background.png deleted file mode 100644 index 1eb94375..00000000 Binary files a/home/.config/awesome/themes/zenburn/zenburn-background.png and /dev/null differ diff --git a/home/.config/awesome/vicious/TODO b/home/.config/awesome/vicious/TODO deleted file mode 100644 index 3eb3a3c7..00000000 --- a/home/.config/awesome/vicious/TODO +++ /dev/null @@ -1,35 +0,0 @@ -#-*- mode: org -*- -#+TYP_TODO: TODO MAYBE CANCEL WAITING NEXT NOTE DONE -#+STARTUP: showall -#+STARTUP: hidestars - - -* Vicious -** TODO Implement intelligent multigraph support -** TODO Expand raid to grab data for all available devices -** TODO Consider commiting power drain support to bat.lua -** TODO Document contrib widgets in contrib/README -** TODO Complete the hddtemp fix - - In certain setups regexp does not match all devices - - The regexp catches the first device name, but last stats - - Shortening the match introduced new problems IIRC -** TODO Add fan speed to thermal.lua -** TODO Fix contrib/sensors for Ian - - > it does work and provides the lm_sensors - > information but only for one cpu core. -** TODO Return values of type number in NET and FS - - Note: tonumber() strips decimal points -** MAYBE Simplify scrolling using negative margins + fixed width -** TODO Try to simplify truncating with a fixed width -** NOTE Changelog header ---------------------------------------------------- -Full changelog is available online: - http://git.sysphere.org/vicious/log/?showmsg=1 ---------------------------------------------------- - - -* Git -** DONE Git hook post-update not executed on git push -** DONE Git post-update hook does not leave info/refs with correct permissions -** DONE Git persmission are incorrect since 1.6.5, does not honor umask -** TODO Git smart http transport with cgit diff --git a/home/.config/awesome/vicious/helpers.lua b/home/.config/awesome/vicious/helpers.lua index 7c8dd0c2..38984301 100644 --- a/home/.config/awesome/vicious/helpers.lua +++ b/home/.config/awesome/vicious/helpers.lua @@ -16,8 +16,8 @@ local io = { open = io.open } local setmetatable = setmetatable local getmetatable = getmetatable local string = { - upper = string.upper, - format = string.format + upper = string.upper, + format = string.format } -- }}} @@ -34,126 +34,126 @@ local scroller = {} -- {{{ Helper functions -- {{{ Loader of vicious modules function helpers.wrequire(table, key) - local module = rawget(table, key) - return module or require(table._NAME .. "." .. key) + local module = rawget(table, key) + return module or require(table._NAME .. "." .. key) end -- }}} -- {{{ Expose path as a Lua table function helpers.pathtotable(dir) - return setmetatable({ _path = dir }, - { __index = function(table, index) - local path = table._path .. '/' .. index - local f = io.open(path) - if f then - local s = f:read("*all") - f:close() - if s then - return s - else - local o = { _path = path } - setmetatable(o, getmetatable(table)) - return o - end - end + return setmetatable({ _path = dir }, + { __index = function(table, index) + local path = table._path .. '/' .. index + local f = io.open(path) + if f then + local s = f:read("*all") + f:close() + if s then + return s + else + local o = { _path = path } + setmetatable(o, getmetatable(table)) + return o + end end - }) + end + }) end -- }}} -- {{{ Format a string with args function helpers.format(format, args) - for var, val in pairs(args) do - format = format:gsub("$" .. (tonumber(var) and var or - var:gsub("[-+?*]", function(i) return "%"..i end)), - val) - end + for var, val in pairs(args) do + format = format:gsub("$" .. (tonumber(var) and var or + var:gsub("[-+?*]", function(i) return "%"..i end)), + val) + end - return format + return format end -- }}} -- {{{ Format units to one decimal point function helpers.uformat(array, key, value, unit) - for u, v in pairs(unit) do - array["{"..key.."_"..u.."}"] = string.format("%.1f", value/v) - end + for u, v in pairs(unit) do + array["{"..key.."_"..u.."}"] = string.format("%.1f", value/v) + end - return array + return array end -- }}} -- {{{ Escape a string function helpers.escape(text) - local xml_entities = { - ["\""] = """, - ["&"] = "&", - ["'"] = "'", - ["<"] = "<", - [">"] = ">" - } + local xml_entities = { + ["\""] = """, + ["&"] = "&", + ["'"] = "'", + ["<"] = "<", + [">"] = ">" + } - return text and text:gsub("[\"&'<>]", xml_entities) + return text and text:gsub("[\"&'<>]", xml_entities) end -- }}} -- {{{ Escape a string for save usage on the command line function helpers.shellquote(s) - if s == nil then return "" end - -- use single quotes, and put single quotes into double quotes - -- the string $'b is then quoted as '$'"'"'b'"'"' - return "'" .. s:gsub("'", "'\"'\"'") .. "'" + if s == nil then return "" end + -- use single quotes, and put single quotes into double quotes + -- the string $'b is then quoted as '$'"'"'b'"'"' + return "'" .. s:gsub("'", "'\"'\"'") .. "'" end -- }}} -- {{{ Capitalize a string function helpers.capitalize(text) - return text and text:gsub("([%w])([%w]*)", function(c, s) - return string.upper(c) .. s - end) + return text and text:gsub("([%w])([%w]*)", function(c, s) + return string.upper(c) .. s + end) end -- }}} -- {{{ Truncate a string function helpers.truncate(text, maxlen) - local txtlen = text:len() + local txtlen = text:len() - if txtlen > maxlen then - text = text:sub(1, maxlen - 3) .. "..." - end + if txtlen > maxlen then + text = text:sub(1, maxlen - 3) .. "..." + end - return text + return text end -- }}} -- {{{ Scroll through a string function helpers.scroll(text, maxlen, widget) - if not scroller[widget] then - scroller[widget] = { i = 1, d = true } + if not scroller[widget] then + scroller[widget] = { i = 1, d = true } + end + + local txtlen = text:len() + local state = scroller[widget] + + if txtlen > maxlen then + if state.d then + text = text:sub(state.i, state.i + maxlen) .. "..." + state.i = state.i + 3 + + if maxlen + state.i >= txtlen then + state.d = false + end + else + text = "..." .. text:sub(state.i, state.i + maxlen) + state.i = state.i - 3 + + if state.i <= 1 then + state.d = true + end end + end - local txtlen = text:len() - local state = scroller[widget] - - if txtlen > maxlen then - if state.d then - text = text:sub(state.i, state.i + maxlen) .. "..." - state.i = state.i + 3 - - if maxlen + state.i >= txtlen then - state.d = false - end - else - text = "..." .. text:sub(state.i, state.i + maxlen) - state.i = state.i - 3 - - if state.i <= 1 then - state.d = true - end - end - end - - return text + return text end -- }}} diff --git a/home/.config/awesome/wallpapers/CrabNebula.jpg b/home/.config/awesome/wallpapers/CrabNebula.jpg deleted file mode 100644 index 4ab43fa4..00000000 Binary files a/home/.config/awesome/wallpapers/CrabNebula.jpg and /dev/null differ diff --git a/home/.config/awesome/wallpapers/EagleNebula.jpg b/home/.config/awesome/wallpapers/EagleNebula.jpg deleted file mode 100644 index 72508ccb..00000000 Binary files a/home/.config/awesome/wallpapers/EagleNebula.jpg and /dev/null differ diff --git a/home/.config/awesome/wallpapers/MysticMountain-CarinaNebula.jpg b/home/.config/awesome/wallpapers/MysticMountain-CarinaNebula.jpg deleted file mode 100644 index ee7856a4..00000000 Binary files a/home/.config/awesome/wallpapers/MysticMountain-CarinaNebula.jpg and /dev/null differ diff --git a/home/.config/awesome/wallpapers/PlanetaryNebula-NGC-2818.jpg b/home/.config/awesome/wallpapers/PlanetaryNebula-NGC-2818.jpg deleted file mode 100644 index 6d81ea45..00000000 Binary files a/home/.config/awesome/wallpapers/PlanetaryNebula-NGC-2818.jpg and /dev/null differ diff --git a/home/.config/jgmenu/jgmenurc b/home/.config/jgmenu/jgmenurc index ba7c949c..557b0b45 100644 --- a/home/.config/jgmenu/jgmenurc +++ b/home/.config/jgmenu/jgmenurc @@ -7,36 +7,36 @@ tint2_look = 1 menu_halign = left menu_valign = top -menu_margin_x = 5 -menu_margin_y = 30 +menu_margin_x = 4 +menu_margin_y = 32 -menu_width = 200 -menu_radius = 0 -menu_border = 1 +menu_width = 200 +menu_radius = 0 +menu_border = 1 -menu_padding_top = 15 +menu_padding_top = 10 menu_padding_right = 2 menu_padding_bottom = 5 menu_padding_left = 2 -item_height = 30 -item_padding_x = 5 -item_margin_y = 5 -item_radius = 0 -item_border = 0 -sep_height = 5 +item_height = 30 +item_padding_x = 8 +item_margin_y = 5 +item_radius = 0 +item_border = 0 +sep_height = 5 -icon_size = 24 -font = Ubuntu 12px +icon_size = 24 +font = Ubuntu 12px -sub_hover_action = 1 -terminal_exec = termite -terminal_args = -e +sub_hover_action = 1 +terminal_exec = termite +terminal_args = -e -color_menu_bg = #2b303b 100 -color_menu_fg = #8fa1b3 100 -color_norm_bg = #2b303b 0 -color_norm_fg = #8fa1b3 100 -color_sel_bg = #8fa1b3 60 -color_sel_fg = #2b303b 100 -color_sep_fg = #8fa1b3 40 +color_menu_bg = #2b303b 100 +color_menu_fg = #8fa1b3 100 +color_norm_bg = #2b303b 0 +color_norm_fg = #8fa1b3 100 +color_sel_bg = #8fa1b3 60 +color_sel_fg = #2b303b 100 +color_sep_fg = #8fa1b3 40