-
-
Save ctlajoie/5fccfdeefc2019dbe770 to your computer and use it in GitHub Desktop.
crashing rc.lua
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- {{{ Required libraries | |
local gears = require("gears") | |
local awful = require("awful") | |
awful.rules = require("awful.rules") | |
require("awful.autofocus") | |
local wibox = require("wibox") | |
local beautiful = require("beautiful") | |
local naughty = require("naughty") | |
local lain = require("lain") | |
local radical = require("radical") | |
-- }}} | |
-- {{{ Error handling | |
if awesome.startup_errors then | |
naughty.notify({ preset = naughty.config.presets.critical, | |
title = "Oops, there were errors during startup!", | |
text = awesome.startup_errors }) | |
end | |
do | |
local in_error = false | |
awesome.connect_signal("debug::error", function (err) | |
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) | |
end | |
-- }}} | |
-- beautiful init | |
beautiful.init(os.getenv("HOME") .. "/.config/awesome/themes/holo/theme.lua") | |
-- {{{ Variable definitions | |
modkey = "Mod4" | |
altkey = "Mod1" | |
terminal = "terminator" | |
browser = "chromium" | |
local layouts = { | |
awful.layout.suit.floating, | |
lain.layout.uselesstile, | |
awful.layout.suit.fair, | |
lain.layout.uselesstile.left, | |
lain.layout.uselesstile.top | |
} | |
-- }}} | |
-- {{{ Tags | |
tags = { | |
names = { " WEB ", " TERMINAL ", " FILES ", " OTHER " }, | |
layout = { layouts[1], layouts[3], layouts[2], layouts[4] } | |
} | |
for s = 1, screen.count() do | |
tags[s] = awful.tag(tags.names, s, tags.layout) | |
end | |
-- }}} | |
-- {{{ Wallpaper | |
if beautiful.wallpaper then | |
for s = 1, screen.count() do | |
gears.wallpaper.maximized(beautiful.wallpaper, s, true) | |
end | |
end | |
-- }}} | |
-- {{{ Menu | |
mymainmenu = awful.menu.new({ items = require("menugen").build_menu(), | |
theme = { height = 16, width = 130 }}) | |
mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon, | |
menu = mymainmenu }) | |
-- }}} | |
-- {{{ Wibox | |
markup = lain.util.markup | |
blue = "#80CCE6" | |
space3 = markup.font("Tamsyn 3", " ") | |
space2 = markup.font("Tamsyn 2", " ") | |
-- Clock | |
mytextclock = awful.widget.textclock(markup("#FFFFFF", space3 .. "%H:%M" .. space2)) | |
clock_icon = wibox.widget.imagebox() | |
clock_icon:set_image(beautiful.clock) | |
clockwidget = wibox.widget.background() | |
clockwidget:set_widget(mytextclock) | |
clockwidget:set_bgimage(beautiful.widget_bg) | |
-- Calendar | |
mytextcalendar = awful.widget.textclock(markup("#FFFFFF", space3 .. "%d %b<span font='Tamsyn 5'> </span>")) | |
calendar_icon = wibox.widget.imagebox() | |
calendar_icon:set_image(beautiful.calendar) | |
calendarwidget = wibox.widget.background() | |
calendarwidget:set_widget(mytextcalendar) | |
calendarwidget:set_bgimage(beautiful.widget_bg) | |
lain.widgets.calendar:attach(calendarwidget, { fg = "#FFFFFF", position = "bottom_right" }) | |
-- Battery | |
batwidget = lain.widgets.bat({ | |
settings = function() | |
bat_header = " Bat " | |
bat_p = bat_now.perc .. " " | |
if bat_now.status == "Not present" then | |
bat_header = "" | |
bat_p = "" | |
end | |
widget:set_markup(markup(blue, bat_header) .. bat_p) | |
end | |
}) | |
-- ALSA volume bar | |
myvolumebar = lain.widgets.alsabar({ | |
ticks = true, | |
width = 80, | |
height = 10, | |
colors = { | |
background = "#383838", | |
unmute = "#80CCE6", | |
mute = "#FF9F9F" | |
}, | |
notifications = { | |
font = "Tamsyn", | |
font_size = "12", | |
bar_size = 32 | |
} | |
}) | |
alsamargin = wibox.layout.margin(myvolumebar.bar, 5, 8, 80) | |
wibox.layout.margin.set_top(alsamargin, 12) | |
wibox.layout.margin.set_bottom(alsamargin, 12) | |
volumewidget = wibox.widget.background() | |
volumewidget:set_widget(alsamargin) | |
volumewidget:set_bgimage(beautiful.widget_bg) | |
-- CPU | |
cpu_widget = lain.widgets.cpu({ | |
settings = function() | |
widget:set_markup(space3 .. "CPU " .. cpu_now.usage | |
.. "%" .. markup.font("Tamsyn 5", " ")) | |
end | |
}) | |
cpuwidget = wibox.widget.background() | |
cpuwidget:set_widget(cpu_widget) | |
cpuwidget:set_bgimage(beautiful.widget_bg) | |
cpu_icon = wibox.widget.imagebox() | |
cpu_icon:set_image(beautiful.cpu) | |
-- Net | |
netdown_icon = wibox.widget.imagebox() | |
netdown_icon:set_image(beautiful.net_down) | |
netup_icon = wibox.widget.imagebox() | |
netup_icon:set_image(beautiful.net_up) | |
netwidget = lain.widgets.net({ | |
settings = function() | |
widget:set_markup(markup.font("Tamsyn 1", " ") .. net_now.received .. " - " | |
.. net_now.sent .. space2) | |
end | |
}) | |
networkwidget = wibox.widget.background() | |
networkwidget:set_widget(netwidget) | |
networkwidget:set_bgimage(beautiful.widget_bg) | |
-- Weather | |
yawn = lain.widgets.yawn(12793909) | |
-- Separators | |
first = wibox.widget.textbox('<span font="Tamsyn 4"> </span>') | |
last = wibox.widget.imagebox() | |
last:set_image(beautiful.last) | |
spr = wibox.widget.imagebox() | |
spr:set_image(beautiful.spr) | |
spr_small = wibox.widget.imagebox() | |
spr_small:set_image(beautiful.spr_small) | |
spr_very_small = wibox.widget.imagebox() | |
spr_very_small:set_image(beautiful.spr_very_small) | |
spr_right = wibox.widget.imagebox() | |
spr_right:set_image(beautiful.spr_right) | |
spr_bottom_right = wibox.widget.imagebox() | |
spr_bottom_right:set_image(beautiful.spr_bottom_right) | |
spr_left = wibox.widget.imagebox() | |
spr_left:set_image(beautiful.spr_left) | |
bar = wibox.widget.imagebox() | |
bar:set_image(beautiful.bar) | |
bottom_bar = wibox.widget.imagebox() | |
bottom_bar:set_image(beautiful.bottom_bar) | |
-- Create a wibox for each screen and add it | |
mywibox = {} | |
mybottomwibox = {} | |
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) | |
) | |
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)) | |
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( | |
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 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, height = 32 }) | |
-- Widgets that are aligned to the upper left | |
local left_layout = wibox.layout.fixed.horizontal() | |
--TEST RADICAL MENU | |
local menu = radical.context{} | |
menu:add_item {text="Screen 1",button1=function(_menu,item,mods) print("Hello World! ") end} | |
menu:add_item {text="Screen 9"} | |
-- menu:add_item {text="Sub Menu", sub_menu = function() | |
-- local smenu = radical.context{} | |
-- smenu:add_item{text="item 1"} | |
-- smenu:add_item{text="item 2"} | |
-- return smenu | |
-- end} | |
-- To add the menu to a widget: | |
local mytextbox = wibox.widget.textbox() | |
mytextbox:set_text('foo') | |
mytextbox:set_menu(menu,3) -- 3 = right mouse button, 1 = left mouse button | |
left_layout:add(mytextbox) | |
--END TEST MENU | |
left_layout:add(first) | |
left_layout:add(mytaglist[s]) | |
left_layout:add(spr_small) | |
left_layout:add(mylayoutbox[s]) | |
left_layout:add(mypromptbox[s]) | |
-- Widgets that are aligned to the upper right | |
local right_layout = wibox.layout.fixed.horizontal() | |
if s == 1 then right_layout:add(wibox.widget.systray()) end | |
--right_layout:add(mailwidget) | |
right_layout:add(batwidget) | |
right_layout:add(spr_right) | |
right_layout:add(volumewidget) | |
right_layout:add(spr_left) | |
-- Now bring it all together (with the tasklist in the middle) | |
local layout = wibox.layout.align.horizontal() | |
layout:set_left(left_layout) | |
layout:set_right(right_layout) | |
mywibox[s]:set_widget(layout) | |
-- Create the bottom wibox | |
mybottomwibox[s] = awful.wibox({ position = "bottom", screen = s, border_width = 0, height = 32 }) | |
-- Widgets that are aligned to the bottom left | |
bottom_left_layout = wibox.layout.fixed.horizontal() | |
bottom_left_layout:add(mylauncher) | |
-- Widgets that are aligned to the bottom right | |
bottom_right_layout = wibox.layout.fixed.horizontal() | |
bottom_right_layout:add(spr_bottom_right) | |
bottom_right_layout:add(netdown_icon) | |
bottom_right_layout:add(networkwidget) | |
bottom_right_layout:add(netup_icon) | |
bottom_right_layout:add(bottom_bar) | |
bottom_right_layout:add(cpu_icon) | |
bottom_right_layout:add(cpuwidget) | |
bottom_right_layout:add(bottom_bar) | |
bottom_right_layout:add(calendar_icon) | |
bottom_right_layout:add(calendarwidget) | |
bottom_right_layout:add(bottom_bar) | |
bottom_right_layout:add(clock_icon) | |
bottom_right_layout:add(clockwidget) | |
bottom_right_layout:add(last) | |
-- Now bring it all together (with the tasklist in the middle) | |
bottom_layout = wibox.layout.align.horizontal() | |
bottom_layout:set_left(bottom_left_layout) | |
bottom_layout:set_middle(mytasklist[s]) | |
bottom_layout:set_right(bottom_right_layout) | |
mybottomwibox[s]:set_widget(bottom_layout) | |
-- Set proper backgrounds, instead of beautiful.bg_normal | |
mywibox[s]:set_bg(beautiful.topbar_path .. screen[mouse.screen].workarea.width .. ".png") | |
mybottomwibox[s]:set_bg("#242424") | |
-- Create a borderbox above the bottomwibox | |
lain.widgets.borderbox(mybottomwibox[s], s, { position = "top", color = "#0099CC" } ) | |
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) | |
)) | |
-- }}} | |
-- {{{ Key bindings | |
globalkeys = awful.util.table.join( | |
-- Take a screenshot | |
-- https://github.com/copycat-killer/dots/blob/master/bin/screenshot | |
awful.key({ altkey }, "p", function() os.execute("screenshot") end), | |
-- Tag browsing | |
awful.key({ modkey }, "Left", awful.tag.viewprev ), | |
awful.key({ modkey }, "Right", awful.tag.viewnext ), | |
awful.key({ modkey }, "Escape", awful.tag.history.restore), | |
-- Non-empty tag browsing | |
awful.key({ altkey }, "Left", function () lain.util.tag_view_nonempty(-1) end), | |
awful.key({ altkey }, "Right", function () lain.util.tag_view_nonempty(1) end), | |
-- Default client focus | |
awful.key({ altkey }, "k", | |
function () | |
awful.client.focus.byidx( 1) | |
if client.focus then client.focus:raise() end | |
end), | |
awful.key({ altkey }, "j", | |
function () | |
awful.client.focus.byidx(-1) | |
if client.focus then client.focus:raise() end | |
end), | |
-- By direction client focus | |
awful.key({ modkey }, "j", | |
function() | |
awful.client.focus.bydirection("down") | |
if client.focus then client.focus:raise() end | |
end), | |
awful.key({ modkey }, "k", | |
function() | |
awful.client.focus.bydirection("up") | |
if client.focus then client.focus:raise() end | |
end), | |
awful.key({ modkey }, "h", | |
function() | |
awful.client.focus.bydirection("left") | |
if client.focus then client.focus:raise() end | |
end), | |
awful.key({ modkey }, "l", | |
function() | |
awful.client.focus.bydirection("right") | |
if client.focus then client.focus:raise() end | |
end), | |
-- Show Menu | |
awful.key({ modkey }, "w", | |
function () | |
mymainmenu:show({ keygrabber = true }) | |
end), | |
-- Show/Hide Wibox | |
awful.key({ modkey }, "b", function () | |
mywibox[mouse.screen].visible = not mywibox[mouse.screen].visible | |
mybottomwibox[mouse.screen].visible = not mybottomwibox[mouse.screen].visible | |
end), | |
-- On the fly useless gaps change | |
awful.key({ altkey, "Control" }, "+", function () lain.util.useless_gaps_resize(1) end), | |
awful.key({ altkey, "Control" }, "-", function () lain.util.useless_gaps_resize(-1) 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), | |
awful.key({ altkey, "Shift" }, "l", function () awful.tag.incmwfact( 0.05) end), | |
awful.key({ altkey, "Shift" }, "h", function () awful.tag.incmwfact(-0.05) end), | |
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1) end), | |
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end), | |
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end), | |
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1) end), | |
awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end), | |
awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end), | |
awful.key({ modkey, "Control" }, "n", awful.client.restore), | |
-- 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), | |
-- Widgets popups | |
awful.key({ altkey, }, "c", function () lain.widgets.calendar:show(7) end), | |
awful.key({ altkey, }, "w", function () yawn.show(7) end), | |
-- ALSA volume control | |
awful.key({ }, "XF86AudioMute", | |
function() | |
awful.util.spawn("amixer -q set Master toggle") | |
myvolumebar.notify() | |
end), | |
awful.key({ }, "XF86AudioRaiseVolume", | |
function() | |
awful.util.spawn("amixer -q set Master 2%+ unmute") | |
myvolumebar.notify() | |
end), | |
awful.key({ }, "XF86AudioLowerVolume", | |
function() | |
awful.util.spawn("amixer -q set Master 2%-") | |
myvolumebar.notify() | |
end), | |
-- Copy to clipboard | |
awful.key({ modkey }, "c", function () os.execute("xsel -p -o | xsel -i -b") end), | |
-- User programs | |
awful.key({ modkey }, "q", function () awful.util.spawn(browser) end), | |
-- 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) | |
) | |
clientkeys = awful.util.table.join( | |
awful.key({ modkey, }, "f", function (c) c.fullscreen = not c.fullscreen end), | |
awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end), | |
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ), | |
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end), | |
awful.key({ modkey, }, "o", awful.client.movetoscreen ), | |
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end), | |
awful.key({ modkey, }, "n", | |
function (c) | |
-- The client currently has the input focus, so it cannot be | |
-- minimized, since minimized clients can't have the focus. | |
c.minimized = true | |
end), | |
awful.key({ modkey, }, "m", | |
function (c) | |
c.maximized_horizontal = not c.maximized_horizontal | |
c.maximized_vertical = not c.maximized_vertical | |
end) | |
) | |
-- Bind all key numbers to tags. | |
-- Be careful: we use keycodes to make it works on any keyboard layout. | |
-- This should map on the top row of your keyboard, usually 1 to 9. | |
for i = 1, 9 do | |
globalkeys = awful.util.table.join(globalkeys, | |
awful.key({ modkey }, "#" .. i + 9, | |
function () | |
local screen = mouse.screen | |
local tag = awful.tag.gettags(screen)[i] | |
if tag then | |
awful.tag.viewonly(tag) | |
end | |
end), | |
awful.key({ modkey, "Control" }, "#" .. i + 9, | |
function () | |
local screen = mouse.screen | |
local tag = awful.tag.gettags(screen)[i] | |
if tag then | |
awful.tag.viewtoggle(tag) | |
end | |
end), | |
awful.key({ modkey, "Shift" }, "#" .. i + 9, | |
function () | |
local tag = awful.tag.gettags(client.focus.screen)[i] | |
if client.focus and tag then | |
awful.client.movetotag(tag) | |
end | |
end), | |
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, | |
function () | |
local tag = awful.tag.gettags(client.focus.screen)[i] | |
if client.focus and tag then | |
awful.client.toggletag(tag) | |
end | |
end)) | |
end | |
clientbuttons = awful.util.table.join( | |
awful.button({ }, 1, function (c) client.focus = c; c:raise() end), | |
awful.button({ modkey }, 1, awful.mouse.client.move), | |
awful.button({ modkey }, 3, awful.mouse.client.resize)) | |
-- Set keys | |
root.keys(globalkeys) | |
-- }}} | |
-- {{{ 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, | |
size_hints_honor = false } }, | |
} | |
-- }}} | |
-- {{{ 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) | |
if not startup and 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 | |
local titlebars_enabled = false | |
if titlebars_enabled and (c.type == "normal" or c.type == "dialog") then | |
-- buttons for the titlebar | |
local 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) | |
) | |
-- 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 middle_layout = wibox.layout.flex.horizontal() | |
local title = awful.titlebar.widget.titlewidget(c) | |
title:set_align("center") | |
middle_layout:add(title) | |
middle_layout:buttons(buttons) | |
-- Now bring it all together | |
local layout = wibox.layout.align.horizontal() | |
layout:set_right(right_layout) | |
layout:set_middle(middle_layout) | |
awful.titlebar(c,{size=16}):set_widget(layout) | |
end | |
end) | |
-- No border for maximized clients | |
client.connect_signal("focus", | |
function(c) | |
if c.maximized_horizontal == true and c.maximized_vertical == true then | |
c.border_color = beautiful.border_normal | |
else | |
c.border_color = beautiful.border_focus | |
end | |
end) | |
client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end) | |
-- }}} | |
-- {{{ Arrange signal handler | |
for s = 1, screen.count() do screen[s]:connect_signal("arrange", function () | |
local clients = awful.client.visible(s) | |
local layout = awful.layout.getname(awful.layout.get(s)) | |
if #clients > 0 then -- Fine grained borders and floaters control | |
for _, c in pairs(clients) do -- Floaters always have borders | |
if awful.client.floating.get(c) or layout == "floating" then | |
c.border_width = beautiful.border_width | |
-- No borders with only one visible client | |
elseif #clients == 1 or layout == "max" then | |
clients[1].border_width = 0 | |
else | |
c.border_width = beautiful.border_width | |
end | |
end | |
end | |
end) | |
end | |
-- }}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--[[ | |
Holo Awesome WM config 2.0 | |
github.com/copycat-killer | |
--]] | |
theme = {} | |
theme.icon_dir = os.getenv("HOME") .. "/.config/awesome/themes/holo/icons" | |
theme.wallpaper = os.getenv("HOME") .. "/.config/awesome/themes/holo/wall.png" | |
theme.topbar_path = "png:" .. theme.icon_dir .. "/topbar/" | |
theme.font = "Tamsyn 10.5" | |
theme.taglist_font = "Tamsyn 8" | |
theme.fg_normal = "#FFFFFF" | |
theme.fg_focus = "#0099CC" | |
theme.bg_normal = "#242424" | |
theme.fg_urgent = "#CC9393" | |
theme.bg_urgent = "#2A1F1E" | |
theme.border_width = "1" | |
theme.border_normal = "#252525" | |
theme.border_focus = "#0099CC" | |
theme.taglist_fg_focus = "#FFFFFF" | |
theme.taglist_bg_focus = "png:" .. theme.icon_dir .. "/taglist_bg_focus.png" | |
theme.tasklist_bg_normal = "#222222" | |
theme.tasklist_fg_focus = "#4CB7DB" | |
theme.tasklist_bg_focus = "png:" .. theme.icon_dir .. "/bg_focus_noline.png" | |
theme.textbox_widget_margin_top = 1 | |
theme.awful_widget_height = 14 | |
theme.awful_widget_margin_top = 2 | |
theme.menu_height = "20" | |
theme.menu_width = "400" | |
theme.menu_submenu_icon = "/usr/share/awesome/themes/default/submenu.png" | |
theme.widget_bg = theme.icon_dir .. "/bg_focus_noline.png" | |
theme.awesome_icon = theme.icon_dir .. "/awesome_icon.png" | |
theme.vol_bg = theme.icon_dir .. "/vol_bg.png" | |
theme.submenu_icon = theme.icon_dir .. "/submenu.png" | |
theme.taglist_squares_sel = theme.icon_dir .. "/square_sel.png" | |
theme.taglist_squares_unsel = theme.icon_dir .. "/square_unsel.png" | |
theme.last = theme.icon_dir .. "/last.png" | |
theme.spr = theme.icon_dir .. "/spr.png" | |
theme.spr_small = theme.icon_dir .. "/spr_small.png" | |
theme.spr_very_small = theme.icon_dir .. "/spr_very_small.png" | |
theme.spr_right = theme.icon_dir .. "/spr_right.png" | |
theme.spr_bottom_right = theme.icon_dir .. "/spr_bottom_right.png" | |
theme.spr_left = theme.icon_dir .. "/spr_left.png" | |
theme.bar = theme.icon_dir .. "/bar.png" | |
theme.bottom_bar = theme.icon_dir .. "/bottom_bar.png" | |
theme.mpd = theme.icon_dir .. "/mpd.png" | |
theme.mpd_on = theme.icon_dir .. "/mpd_on.png" | |
theme.prev = theme.icon_dir .. "/prev.png" | |
theme.nex = theme.icon_dir .. "/next.png" | |
theme.stop = theme.icon_dir .. "/stop.png" | |
theme.pause = theme.icon_dir .. "/pause.png" | |
theme.play = theme.icon_dir .. "/play.png" | |
theme.clock = theme.icon_dir .. "/clock.png" | |
theme.calendar = theme.icon_dir .. "/cal.png" | |
theme.cpu = theme.icon_dir .. "/cpu.png" | |
theme.net_up = theme.icon_dir .. "/net_up.png" | |
theme.net_down = theme.icon_dir .. "/net_down.png" | |
theme.widget_mail_notify = theme.icon_dir .. "/mail_notify.png" | |
theme.layout_tile = theme.icon_dir .. "/tile.png" | |
theme.layout_tilegaps = theme.icon_dir .. "/tilegaps.png" | |
theme.layout_tileleft = theme.icon_dir .. "/tileleft.png" | |
theme.layout_tilebottom = theme.icon_dir .. "/tilebottom.png" | |
theme.layout_tiletop = theme.icon_dir .. "/tiletop.png" | |
theme.layout_fairv = theme.icon_dir .. "/fairv.png" | |
theme.layout_fairh = theme.icon_dir .. "/fairh.png" | |
theme.layout_spiral = theme.icon_dir .. "/spiral.png" | |
theme.layout_dwindle = theme.icon_dir .. "/dwindle.png" | |
theme.layout_max = theme.icon_dir .. "/max.png" | |
theme.layout_fullscreen = theme.icon_dir .. "/fullscreen.png" | |
theme.layout_magnifier = theme.icon_dir .. "/magnifier.png" | |
theme.layout_floating = theme.icon_dir .. "/floating.png" | |
theme.tasklist_disable_icon = false | |
theme.tasklist_floating = "" | |
theme.tasklist_maximized_horizontal = "" | |
theme.tasklist_maximized_vertical = "" | |
-- lain related | |
theme.useless_gap_width = 10 | |
theme.layout_uselesstile = theme.icon_dir .. "/uselesstile.png" | |
theme.layout_uselesstileleft = theme.icon_dir .. "/uselesstileleft.png" | |
theme.layout_uselesstiletop = theme.icon_dir .. "/uselesstiletop.png" | |
return theme |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment