diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua
index 2f639535..cd7c70a8 100644
--- a/.config/awesome/rc.lua
+++ b/.config/awesome/rc.lua
@@ -23,24 +23,24 @@ vicious = require("vicious")
-- 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.add_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.add_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
-- }}}
@@ -64,527 +64,518 @@ modkey = "Mod4"
-- Table of layouts to cover with awful.layout.inc, order matters.
layouts =
-{
- awful.layout.suit.tile,
- awful.layout.suit.tile.left,
- awful.layout.suit.tile.bottom,
- awful.layout.suit.tile.top,
- -- awful.layout.suit.fair,
- -- awful.layout.suit.fair.horizontal,
- -- awful.layout.suit.spiral,
- -- awful.layout.suit.spiral.dwindle,
- awful.layout.suit.max,
- awful.layout.suit.max.fullscreen,
- -- awful.layout.suit.magnifier,
- awful.layout.suit.floating
-}
--- }}}
+ {
+ awful.layout.suit.tile,
+ awful.layout.suit.tile.left,
+ awful.layout.suit.tile.bottom,
+ awful.layout.suit.tile.top,
+ -- awful.layout.suit.fair,
+ -- awful.layout.suit.fair.horizontal,
+ -- awful.layout.suit.spiral,
+ -- awful.layout.suit.spiral.dwindle,
+ awful.layout.suit.max,
+ awful.layout.suit.max.fullscreen,
+ -- awful.layout.suit.magnifier,
+ awful.layout.suit.floating
+ }
+ -- }}}
--- {{{ Tags
--- Define a tag table which hold all screen tags.
-tags = {}
-for s = 1, screen.count() do
- -- Each screen has its own tag table.
- -- tags[s] = awful.tag({ 1, 2, 3, 4, 5, 6, 7, 8, 9 }, s, layouts[1])
- -- tags[s] = awful.tag({ " 1 ", " 2 "," 3 "," 4 ", " 5. Factory ", " 6. Music ", "7. Mail " }, s, layouts[1])
- tags[s] = awful.tag({ " 1 ", " 2 "," 3 "," 4 ", " 5 ⚒ ", " 6 ♫ ", "7 ✉ " }, s, layouts[1])
-end
--- }}}
+ -- {{{ Tags
+ -- Define a tag table which hold all screen tags.
+ tags = {}
+ for s = 1, screen.count() do
+ -- Each screen has its own tag table.
+ -- tags[s] = awful.tag({ 1, 2, 3, 4, 5, 6, 7, 8, 9 }, s, layouts[1])
+ -- tags[s] = awful.tag({ " 1 ", " 2 "," 3 "," 4 ", " 5. Factory ", " 6. Music ", "7. Mail " }, s, layouts[1])
+ tags[s] = awful.tag({ " 1 ", " 2 "," 3 "," 4 ", " 5 ⚒ ", " 6 ♫ ", "7 ✉ " }, s, layouts[1])
+ end
+ -- }}}
---------------------------------------------------------------------------------
+ --------------------------------------------------------------------------------
--- {{{ Wibox
+ -- {{{ Wibox
--- Clock
-clockwidget = awful.widget.textclock({ align = "right" })
+ -- Separator
+ separator = " | "
+ separator_date = widget({ type = "textbox" })
+ separator_date.text = " |"
--- Systray
-systraywidget = widget({ type = "systray" })
+ -- Systray
+ systraywidget = widget({ type = "systray" })
--- CPU
-cpuwidget = widget({ type = "textbox" })
-vicious.register(cpuwidget, vicious.widgets.cpu, 'CPU $1%')
+ -- Clock
+ clockwidget = awful.widget.textclock({ align = "right" })
--- Net
-netwidget = widget({ type = "textbox" })
-networks = { "eth0", "wlan0" }
-vicious.register(netwidget, vicious.widgets.net,
- function (widget, args)
- for _,device in pairs(networks) do
- value = tonumber(args["{".. device .." carrier}"])
- if value ~= nil and value > 0 then
- return '↓' .. args["{" .. device .. " down_kb}"] .. ' ↑' .. args["{" .. device .. " up_kb}"] .. ''
- end
- end
- end, 3)
+ -- CPU
+ cpuwidget = widget({ type = "textbox" })
+ vicious.register(cpuwidget, vicious.widgets.cpu, separator .. 'CPU $1%')
--- Battery
-batwidget = widget({ type = "textbox" })
-local batf = io.popen("ls '/sys/class/power_supply' 2>/dev/null")
-local batl = batf:read("*a")
-local batlimit = 10
-if batl ~= "" then
- --{{ Simple version (perf friendly)
- -- vicious.register(batwidget, vicious.widgets.bat, '$2%$1$3 | ', 60, "BAT0")
- --{{ Complex version (time warning)
- -- This functions changes the status color when batlimit is reached.
- vicious.register(batwidget, vicious.widgets.bat,
+ -- Net
+ netwidget = widget({ type = "textbox" })
+ networks = { "eth0", "wlan0" }
+ vicious.register(netwidget, vicious.widgets.net,
function (widget, args)
- -- We check if time is displayed (otherwise it's 'N/A'), and if minutes are less than limit.
- if args[1] == "-"
- and string.len(args[3]) == 5
- and tonumber(string.sub(args[3],1,2)) == 0
- and tonumber(string.sub(args[3],4,5)) <= batlimit
- then
- return '' .. args[2] .. '%' .. args[1] .. args[3] .. ''
- else
- return '' .. args[2] .. '%' .. args[1] .. args[3] .. ''
+ for _,device in pairs(networks) do
+ value = tonumber(args["{".. device .." carrier}"])
+ if value ~= nil and value > 0 then
+ return separator .. '↓' .. args["{" .. device .. " down_kb}"] .. ' ↑' .. args["{" .. device .. " up_kb}"] .. ''
+ end
end
- end,
- 60, "BAT0")
-end
-batf:close()
+ end, 3)
--- Volume
-volmwidget = widget({ type = "textbox" })
-vicious.register(volmwidget, vicious.widgets.volume, "Master $1% $2 ", 1, "Master")
--- PCM may not be available all the time on every machine.
--- If PCM is toggled after awesome has been started, you'll need to reload the
--- configuration.
--- If 'amixer' is not installed, status will never display.
-local volpf = io.popen("amixer | grep PCM 2>/dev/null")
-local volpl = volpf:read("*a")
-if volpl ~= "" then
- volpwidget = widget({ type = "textbox" })
- vicious.register(volpwidget, vicious.widgets.volume, "PCM $1%", 1, "PCM")
-end
-volpf:close()
+ -- Volume
+ volmwidget = widget({ type = "textbox" })
+ vicious.register(volmwidget, vicious.widgets.volume, separator .. "Master $1% $2 ", 1, "Master")
+ -- PCM may not be available all the time on every machine. If PCM is toggled
+ -- after awesome has been started, you'll need to reload the configuration.
+ -- If 'amixer' is not installed, status will never display.
+ local volpf = io.popen("amixer | grep PCM 2>/dev/null")
+ local volpl = volpf:read("*a")
+ if volpl ~= "" then
+ volpwidget = widget({ type = "textbox" })
+ vicious.register(volpwidget, vicious.widgets.volume, "PCM $1%", 1, "PCM")
+ end
+ volpf:close()
--- Separator
-separator = widget({ type = "textbox" })
-separator.text = " | "
-separatordate = widget({ type = "textbox" })
-separatordate.text = " |"
-separatorapps = widget({ type = "textbox" })
-separatorapps.text = " "
+ -- Battery
+ batwidget = widget({ type = "textbox" })
+ local batf = io.popen("ls '/sys/class/power_supply' 2>/dev/null")
+ local batl = batf:read("*a")
+ local batlimit = 10
+ if batl ~= "" then
+ --{{ Simple version (perf friendly)
+ -- vicious.register(batwidget, vicious.widgets.bat, '$2%$1$3 | ', 60, "BAT0")
+ --{{ Complex version (time warning)
+ -- This functions changes the status color when batlimit is reached.
+ vicious.register(batwidget, vicious.widgets.bat,
+ function (widget, args)
+ -- We check if time is displayed (otherwise it's 'N/A'), and if minutes are less than limit.
+ if args[1] == "-"
+ and string.len(args[3]) == 5
+ and tonumber(string.sub(args[3],1,2)) == 0
+ and tonumber(string.sub(args[3],4,5)) <= batlimit
+ then
+ return separator .. '' .. args[2] .. '%' .. args[1] .. args[3] .. ''
+ else
+ return separator .. '' .. args[2] .. '%' .. args[1] .. args[3] .. ''
+ end
+ end,
+ 60, "BAT0")
+ end
+ batf:close()
--- Create a wibox for each screen and add it
-mywibox = {}
-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, awful.tag.viewnext),
- awful.button({ }, 5, awful.tag.viewprev)
- )
-mytasklist = {}
-mytasklist.buttons = awful.util.table.join(
- awful.button({ }, 1, function (c)
- if c == client.focus then
- c.minimized = true
- else
- 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))
+ -- Create a wibox for each screen and add it
+ mywibox = {}
+ 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, awful.tag.viewnext),
+ awful.button({ }, 5, awful.tag.viewprev)
+ )
+ mytasklist = {}
+ mytasklist.buttons = awful.util.table.join(
+ awful.button({ }, 1, function (c)
+ if c == client.focus then
+ c.minimized = true
+ else
+ 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({ layout = awful.widget.layout.horizontal.leftright })
- -- 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.label.all, mytaglist.buttons)
+ for s = 1, screen.count() do
+ -- Create a promptbox for each screen
+ mypromptbox[s] = awful.widget.prompt({ layout = awful.widget.layout.horizontal.leftright })
+ -- 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.label.all, mytaglist.buttons)
- -- Create a tasklist widget
- mytasklist[s] = awful.widget.tasklist(function(c)
- return awful.widget.tasklist.label.currenttags(c, s)
- end, mytasklist.buttons)
+ -- Create a tasklist widget
+ mytasklist[s] = awful.widget.tasklist(function(c)
+ return awful.widget.tasklist.label.currenttags(c, s)
+ end, mytasklist.buttons)
- -- Create the wibox
- mywibox[s] = awful.wibox({ position = "top", screen = s })
- -- Add widgets to the wibox - order matters
- mywibox[s].widgets = {
- {
- mylayoutbox[s],
- -- mylauncher,
+ -- Create the wibox
+ mywibox[s] = awful.wibox({ position = "top", screen = s })
+ -- Add widgets to the wibox - order matters
+ mywibox[s].widgets = {
+ {
+ mylayoutbox[s],
mytaglist[s],
mypromptbox[s],
layout = awful.widget.layout.horizontal.leftright
- },
- s == 1 and systraywidget or nil,
- clockwidget,
- separatordate,
- volpwidget,
- volmwidget,
- separator,
- cpuwidget,
- separator,
- netwidget,
- separator,
- batwidget,
- separatorapps,
- mytasklist[s],
- layout = awful.widget.layout.horizontal.rightleft
- }
-end
--- }}}
+ },
+ s == 1 and systraywidget or nil,
+ clockwidget,
+ separator_date,
+ cpuwidget,
+ netwidget,
+ volpwidget,
+ volmwidget,
+ batwidget,
+ mytasklist[s],
+ layout = awful.widget.layout.horizontal.rightleft
+ }
+ end
+ -- }}}
---------------------------------------------------------------------------------
--- CUSTOM
---------------------------------------------------------------------------------
+ --------------------------------------------------------------------------------
+ -- CUSTOM
+ --------------------------------------------------------------------------------
--- Mouse control
--- set the desired pixel coordinates:
-local safeCoords = {x=0, y=0}
--- Flag to tell Awesome whether to do this at startup.
-local moveMouseOnStartup = true
+ -- Mouse control
+ -- set the desired pixel coordinates:
+ local safeCoords = {x=0, y=0}
+ -- Flag to tell Awesome whether to do this at startup.
+ local moveMouseOnStartup = true
--- Simple function to move the mouse to the coordinates set above.
-local function moveMouseAway(x_co, y_co)
- mouse.coords({ x=x_co, y=y_co })
-end
+ -- Simple function to move the mouse to the coordinates set above.
+ local function moveMouseAway(x_co, y_co)
+ mouse.coords({ x=x_co, y=y_co })
+ end
-local function moveMouse(x_co, y_co)
- t=mouse.coords()
- mouse.coords( {x = t.x + x_co, y = t.y + y_co} )
-end
+ local function moveMouse(x_co, y_co)
+ t=mouse.coords()
+ mouse.coords( {x = t.x + x_co, y = t.y + y_co} )
+ end
--- Optionally move the mouse when rc.lua is read (startup)
-if moveMouseOnStartup then
- moveMouseAway(safeCoords.x, safeCoords.y)
-end
+ -- Optionally move the mouse when rc.lua is read (startup)
+ if moveMouseOnStartup then
+ moveMouseAway(safeCoords.x, safeCoords.y)
+ end
---------------------------------------------------------------------------------
--- Key bindings
--- Note that some laptop will not work when pressing Super+Fn.
--- Therefore we only use Fn and Mod1+Fn.
---------------------------------------------------------------------------------
-term = "urxvt"
-termcmd = term .. " -e "
+ --------------------------------------------------------------------------------
+ -- Key bindings
+ -- Note that some laptop will not work when pressing Super+Fn.
+ -- Therefore we only use Fn and Mod1+Fn.
+ --------------------------------------------------------------------------------
+ term = "urxvt"
+ termcmd = term .. " -e "
-globalkeys = awful.util.table.join(
- -- Terminal
- awful.key({ modkey, }, "Return", function () awful.util.spawn(term) end),
- awful.key({ }, "XF86Terminal", function () awful.util.spawn(term) end),
+ globalkeys = awful.util.table.join(
+ -- Terminal
+ awful.key({ modkey, }, "Return", function () awful.util.spawn(term) end),
+ awful.key({ }, "XF86Terminal", function () awful.util.spawn(term) end),
- -- Calc
- awful.key({ modkey, }, "b", function () awful.util.spawn(termcmd .. "calc") end),
- awful.key({ }, "XF86Calculator", function () awful.util.spawn(termcmd .. "calc") end),
+ -- Calc
+ awful.key({ modkey, }, "b", function () awful.util.spawn(termcmd .. "calc") end),
+ awful.key({ }, "XF86Calculator", function () awful.util.spawn(termcmd .. "calc") end),
- -- File browser
- awful.key({ modkey, }, "e", function () awful.util.spawn(termcmd .. "ranger") end),
- awful.key({ }, "XF86Explorer", function () awful.util.spawn(termcmd .. "ranger") end),
- awful.key({ }, "XF86MyComputer", function () awful.util.spawn(termcmd .. "ranger") end),
+ -- File browser
+ awful.key({ modkey, }, "e", function () awful.util.spawn(termcmd .. "ranger") end),
+ awful.key({ }, "XF86Explorer", function () awful.util.spawn(termcmd .. "ranger") end),
+ awful.key({ }, "XF86MyComputer", function () awful.util.spawn(termcmd .. "ranger") end),
- -- Screen lock
- awful.key({ modkey, }, "s", function () awful.util.spawn("slock") end),
- awful.key({ }, "XF86ScreenSaver", function () awful.util.spawn("slock") end),
- awful.key({ }, "XF86Sleep", function () awful.util.spawn("slock") end),
- awful.key({ }, "XF86Standby", function () awful.util.spawn("slock") end),
+ -- Screen lock
+ awful.key({ modkey, }, "s", function () awful.util.spawn("slock") end),
+ awful.key({ }, "XF86ScreenSaver", function () awful.util.spawn("slock") end),
+ awful.key({ }, "XF86Sleep", function () awful.util.spawn("slock") end),
+ awful.key({ }, "XF86Standby", function () awful.util.spawn("slock") end),
- -- PDF Reader
- awful.key({ modkey, }, "p", function () awful.util.spawn("zathura") end),
+ -- PDF Reader
+ awful.key({ modkey, }, "p", function () awful.util.spawn("zathura") end),
- -- Mail user agent
- awful.key({ modkey, }, "m", function () awful.util.spawn(termcmd .. "mutt") end),
- awful.key({ }, "XF86Mail", function () awful.util.spawn(termcmd .. "mutt") end),
+ -- Mail user agent
+ awful.key({ modkey, }, "m", function () awful.util.spawn(termcmd .. "mutt") end),
+ awful.key({ }, "XF86Mail", function () awful.util.spawn(termcmd .. "mutt") end),
- -- Web browser
- awful.key({ modkey, }, "w", function () awful.util.spawn_with_shell("luakit 2>>/tmp/luakit.log") end),
- awful.key({ }, "XF86WWW", function () awful.util.spawn_with_shell("luakit 2>>/tmp/luakit.log") end),
+ -- Web browser
+ awful.key({ modkey, }, "w", function () awful.util.spawn_with_shell("luakit 2>>/tmp/luakit.log") end),
+ awful.key({ }, "XF86WWW", function () awful.util.spawn_with_shell("luakit 2>>/tmp/luakit.log") end),
- -- Music player
- awful.key({ modkey, }, "a", function () awful.util.spawn(termcmd .. "cmus") end),
- awful.key({ modkey, "Mod1" }, "a", function () awful.util.spawn("cmus-remote -u") end),
- awful.key({ modkey, "Shift" }, "a", function () awful.util.spawn("cmus-remote -n") end),
- awful.key({ modkey, "Control" }, "a", function () awful.util.spawn("cmus-remote -r") end),
+ -- Music player
+ awful.key({ modkey, }, "a", function () awful.util.spawn(termcmd .. "cmus") end),
+ awful.key({ modkey, "Mod1" }, "a", function () awful.util.spawn("cmus-remote -u") end),
+ awful.key({ modkey, "Shift" }, "a", function () awful.util.spawn("cmus-remote -n") end),
+ awful.key({ modkey, "Control" }, "a", function () awful.util.spawn("cmus-remote -r") end),
- awful.key({ }, "XF86AudioMedia", function () awful.util.spawn(termcmd .. "cmus") end),
- awful.key({ }, "XF86AudioPlay", function () awful.util.spawn("cmus-remote -u") end),
- awful.key({ }, "XF86AudioNext", function () awful.util.spawn("cmus-remote -n") end),
- awful.key({ }, "XF86AudioPrev", function () awful.util.spawn("cmus-remote -r") end),
+ awful.key({ }, "XF86AudioMedia", function () awful.util.spawn(termcmd .. "cmus") end),
+ awful.key({ }, "XF86AudioPlay", function () awful.util.spawn("cmus-remote -u") end),
+ awful.key({ }, "XF86AudioNext", function () awful.util.spawn("cmus-remote -n") end),
+ awful.key({ }, "XF86AudioPrev", function () awful.util.spawn("cmus-remote -r") end),
- -- Screenshot
- awful.key({}, "Print", function () awful.util.spawn("scrot 'screen-%Y-%m-%d-%H%M%S.png' -e 'mkdir -p ~/temp && mv $f ~/temp/'") end),
+ -- Screenshot
+ awful.key({}, "Print", function () awful.util.spawn("scrot 'screen-%Y-%m-%d-%H%M%S.png' -e 'mkdir -p ~/temp && mv $f ~/temp/'") end),
- -- Sound Volume
- awful.key({ modkey, }, "KP_Subtract", function () awful.util.spawn("amixer set Master 5%- >/dev/null") end),
- awful.key({ modkey, }, "KP_Add", function () awful.util.spawn("amixer set Master 5%+ >/dev/null") end),
- awful.key({ modkey, }, "KP_Enter", function () awful.util.spawn("amixer set Master toggle >/dev/null") end),
- awful.key({ modkey, "Mod1" }, "KP_Subtract", function () awful.util.spawn("amixer set PCM 5%- >/dev/null") end),
- awful.key({ modkey, "Mod1" }, "KP_Add", function () awful.util.spawn("amixer set PCM 5%+ >/dev/null") end),
+ -- Sound Volume
+ awful.key({ modkey, }, "KP_Subtract", function () awful.util.spawn("amixer set Master 5%- >/dev/null") end),
+ awful.key({ modkey, }, "KP_Add", function () awful.util.spawn("amixer set Master 5%+ >/dev/null") end),
+ awful.key({ modkey, }, "KP_Enter", function () awful.util.spawn("amixer set Master toggle >/dev/null") end),
+ awful.key({ modkey, "Mod1" }, "KP_Subtract", function () awful.util.spawn("amixer set PCM 5%- >/dev/null") end),
+ awful.key({ modkey, "Mod1" }, "KP_Add", function () awful.util.spawn("amixer set PCM 5%+ >/dev/null") end),
- awful.key({ }, "XF86AudioRaiseVolume", function () awful.util.spawn("amixer set Master 5%+ >/dev/null") end),
- awful.key({ }, "XF86AudioLowerVolume", function () awful.util.spawn("amixer set Master 5%- >/dev/null") end),
- awful.key({ }, "XF86AudioMute", function () awful.util.spawn("amixer set Master toggle >/dev/null") end),
- awful.key({ "Mod1" }, "XF86AudioRaiseVolume", function () awful.util.spawn("amixer set PCM 5%+ >/dev/null") end),
- awful.key({ "Mod1" }, "XF86AudioLowerVolume", function () awful.util.spawn("amixer set PCM 5%- >/dev/null") end),
+ awful.key({ }, "XF86AudioRaiseVolume", function () awful.util.spawn("amixer set Master 5%+ >/dev/null") end),
+ awful.key({ }, "XF86AudioLowerVolume", function () awful.util.spawn("amixer set Master 5%- >/dev/null") end),
+ awful.key({ }, "XF86AudioMute", function () awful.util.spawn("amixer set Master toggle >/dev/null") end),
+ awful.key({ "Mod1" }, "XF86AudioRaiseVolume", function () awful.util.spawn("amixer set PCM 5%+ >/dev/null") end),
+ awful.key({ "Mod1" }, "XF86AudioLowerVolume", function () awful.util.spawn("amixer set PCM 5%- >/dev/null") end),
- -- Touchpad
- awful.key({ }, "XF86TouchpadToggle", function () os.execute("synclient TouchpadOff=`synclient -l | grep -c 'TouchpadOff.*=.*0'`") end),
- awful.key({ }, "XF86Tools", function () os.execute("synclient TouchpadOff=`synclient -l | grep -c 'TouchpadOff.*=.*0'`") end),
+ -- Touchpad
+ awful.key({ }, "XF86TouchpadToggle", function () os.execute("synclient TouchpadOff=`synclient -l | grep -c 'TouchpadOff.*=.*0'`") end),
+ awful.key({ }, "XF86Tools", function () os.execute("synclient TouchpadOff=`synclient -l | grep -c 'TouchpadOff.*=.*0'`") end),
- -- Mouse control
- -- Bind ''Meta4+Ctrl+m'' to move the mouse to the coordinates set above.
- -- This is useful if you needed the mouse for something and now want it out of the way.
- awful.key({ modkey, "Control" }, "m", function() moveMouseAway(safeCoords.x, safeCoords.y) end),
- -- awful.key({ modkey, "Control" }, "h", function() moveMouse(-5, 0) end),
- -- awful.key({ modkey, "Control" }, "j", function() moveMouse(0, 5) end),
- -- awful.key({ modkey, "Control" }, "k", function() moveMouse(0, -5) end),
- -- awful.key({ modkey, "Control" }, "l", function() moveMouse(5, 0) end),
+ -- Mouse control
+ -- Bind ''Meta4+Ctrl+m'' to move the mouse to the coordinates set above.
+ -- This is useful if you needed the mouse for something and now want it out of the way.
+ awful.key({ modkey, "Control" }, "m", function() moveMouseAway(safeCoords.x, safeCoords.y) end),
+ -- awful.key({ modkey, "Control" }, "h", function() moveMouse(-5, 0) end),
+ -- awful.key({ modkey, "Control" }, "j", function() moveMouse(0, 5) end),
+ -- awful.key({ modkey, "Control" }, "k", function() moveMouse(0, -5) end),
+ -- awful.key({ modkey, "Control" }, "l", function() moveMouse(5, 0) end),
- --------------------------------------------------------------------------------
- -- Awesome specific
- --------------------------------------------------------------------------------
+ --------------------------------------------------------------------------------
+ -- Awesome specific
+ --------------------------------------------------------------------------------
- -- Standard program
- awful.key({ modkey, "Control" }, "r", awesome.restart),
- awful.key({ modkey, "Shift" }, "q", awesome.quit),
+ -- Standard program
+ awful.key({ modkey, "Control" }, "r", awesome.restart),
+ awful.key({ modkey, "Shift" }, "q", awesome.quit),
- -- Tags
- awful.key({ modkey }, "Prior", awful.tag.viewprev ),
- awful.key({ modkey }, "Next", awful.tag.viewnext ),
- awful.key({ modkey }, "Escape", awful.tag.history.restore),
+ -- Tags
+ awful.key({ modkey }, "Prior", awful.tag.viewprev ),
+ awful.key({ modkey }, "Next", awful.tag.viewnext ),
+ awful.key({ modkey }, "Escape", awful.tag.history.restore),
- -- Layout select and switch
- awful.key({ modkey }, "Up", function () awful.client.swap.byidx( 1) end),
- awful.key({ modkey }, "Down", function () awful.client.swap.byidx( -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 select and switch
+ awful.key({ modkey }, "Up", function () awful.client.swap.byidx( 1) end),
+ awful.key({ modkey }, "Down", function () awful.client.swap.byidx( -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({ modkey }, "Right",
- function ()
- awful.client.focus.byidx( 1)
- if client.focus then client.focus:raise() end
- end),
- awful.key({ modkey }, "Left",
- function ()
- awful.client.focus.byidx(-1)
- if client.focus then client.focus:raise() end
- end),
+ awful.key({ modkey }, "Right",
+ function ()
+ awful.client.focus.byidx( 1)
+ if client.focus then client.focus:raise() end
+ end),
+ awful.key({ modkey }, "Left",
+ function ()
+ awful.client.focus.byidx(-1)
+ if client.focus then client.focus:raise() end
+ end),
- -- Layout resize
- awful.key({ modkey, "Mod1" }, "Left", function () awful.tag.incmwfact(-0.05) end),
- awful.key({ modkey, "Mod1" }, "Right", function () awful.tag.incmwfact(0.05) end),
- awful.key({ modkey, "Mod1" }, "Up", function () awful.client.incwfact(0.05) end),
- awful.key({ modkey, "Mod1" }, "Down", function () awful.client.incwfact(-0.05) end),
+ -- Layout resize
+ awful.key({ modkey, "Mod1" }, "Left", function () awful.tag.incmwfact(-0.05) end),
+ awful.key({ modkey, "Mod1" }, "Right", function () awful.tag.incmwfact(0.05) end),
+ awful.key({ modkey, "Mod1" }, "Up", function () awful.client.incwfact(0.05) end),
+ awful.key({ modkey, "Mod1" }, "Down", function () awful.client.incwfact(-0.05) end),
- -- Floating clients resize
- awful.key({ modkey , "Mod1"}, "j", function () awful.client.moveresize( 20, 20, -40, -40) end),
- awful.key({ modkey , "Mod1"}, "k", function () awful.client.moveresize(-20, -20, 40, 40) end),
+ -- Floating clients resize
+ awful.key({ modkey , "Mod1"}, "j", function () awful.client.moveresize( 20, 20, -40, -40) end),
+ awful.key({ modkey , "Mod1"}, "k", function () awful.client.moveresize(-20, -20, 40, 40) end),
- -- Layout organization
- awful.key({ modkey, "Control" }, "Left", function () awful.tag.incnmaster( 1) end),
- awful.key({ modkey, "Control" }, "Right", function () awful.tag.incnmaster(-1) end),
- awful.key({ modkey, "Control" }, "Up", function () awful.tag.incncol( 1) end),
- awful.key({ modkey, "Control" }, "Down", function () awful.tag.incncol(-1) end),
+ -- Layout organization
+ awful.key({ modkey, "Control" }, "Left", function () awful.tag.incnmaster( 1) end),
+ awful.key({ modkey, "Control" }, "Right", function () awful.tag.incnmaster(-1) end),
+ awful.key({ modkey, "Control" }, "Up", function () awful.tag.incncol( 1) end),
+ awful.key({ modkey, "Control" }, "Down", 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, }, "space", function () awful.layout.inc(layouts, 1) end),
+ awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end),
- -- Multi screen
- awful.key({ modkey, "Mod1" }, "Next", function () awful.screen.focus_relative( 1) end),
- awful.key({ modkey, "Mod1" }, "Prior", function () awful.screen.focus_relative(-1) end),
+ -- Multi screen
+ awful.key({ modkey, "Mod1" }, "Next", function () awful.screen.focus_relative( 1) end),
+ awful.key({ modkey, "Mod1" }, "Prior", function () awful.screen.focus_relative(-1) end),
- -- Prompt
- awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end),
+ -- Prompt
+ awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end),
- -- Lua code
- 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)
-)
+ -- Lua code
+ 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)
+ )
--- Client keys
-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, "Shift" }, "r", function (c) c:redraw() end),
- awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end),
+ -- Client keys
+ 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, "Shift" }, "r", function (c) c:redraw() end),
+ awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end),
-
- -- Floating clients move
- awful.key({ modkey }, "j", function () awful.client.moveresize( 0, 20, 0, 0) end),
- awful.key({ modkey }, "k", function () awful.client.moveresize( 0, -20, 0, 0) end),
- awful.key({ modkey }, "h", function () awful.client.moveresize(-20, 0, 0, 0) end),
- awful.key({ modkey }, "l", function () awful.client.moveresize( 20, 0, 0, 0) end),
+
+ -- Floating clients move
+ awful.key({ modkey }, "j", function () awful.client.moveresize( 0, 20, 0, 0) end),
+ awful.key({ modkey }, "k", function () awful.client.moveresize( 0, -20, 0, 0) end),
+ awful.key({ modkey }, "h", function () awful.client.moveresize(-20, 0, 0, 0) end),
+ awful.key({ modkey }, "l", function () awful.client.moveresize( 20, 0, 0, 0) 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, "Control" }, "n", awful.client.restore),
+ -- 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, "Control" }, "n", awful.client.restore),
- awful.key({ modkey, "Mod1" }, "m",
- function (c)
- c.maximized_horizontal = not c.maximized_horizontal
- c.maximized_vertical = not c.maximized_vertical
- end)
-)
+ awful.key({ modkey, "Mod1" }, "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));
-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));
+ 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])
+ -- 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, "Mod1" }, "#" .. 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))
+
+ -- 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 = true,
+ keys = clientkeys,
+ buttons = clientbuttons } },
+
+ { rule = { class = "MPlayer" },
+ properties = { floating = true } },
+ { rule = { class = "mplayer2" },
+ properties = { floating = true } },
+
+ { rule = { class = "pinentry" },
+ properties = { floating = true } },
+
+ { rule = { class = "Gimp" },
+ properties = { floating = false } },
+
+ -- Flash workaround. Does not work?
+ { rule = { instance = "plugin-container" },
+ properties = { floating = true } },
+
+ { rule = { instance = "exe" },
+ properties = { floating = true } },
+
+ -- Only works for terminal with WM_COMMAND property?
+ -- Does not work with LXTerminal.
+ { rule = { name = "cmus"},
+ properties = { tag = tags[1][6] } },
+ { rule = { name = "mutt"},
+ properties = { tag = tags[1][7] } },
+
+ }
+ -- }}}
+
+ -- {{{ Signals
+ -- Signal function to execute when a new client appears.
+ client.add_signal("manage", function (c, startup)
+ -- Add a titlebar
+ -- awful.titlebar.add(c, { modkey = modkey })
+
+ -- Enable sloppy focus
+ c:add_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)
+
+ -- 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
- 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, "Mod1" }, "#" .. 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
+ 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 = true,
- keys = clientkeys,
- buttons = clientbuttons } },
-
- { rule = { class = "MPlayer" },
- properties = { floating = true } },
- { rule = { class = "mplayer2" },
- properties = { floating = true } },
-
- { rule = { class = "pinentry" },
- properties = { floating = true } },
-
- { rule = { class = "Gimp" },
- properties = { floating = false } },
-
- -- Flash workaround. Does not work?
- { rule = { instance = "plugin-container" },
- properties = { floating = true } },
-
- { rule = { instance = "exe" },
- properties = { floating = true } },
-
- -- Only works for terminal with WM_COMMAND property?
- -- Does not work with LXTerminal.
- { rule = { name = "cmus"},
- properties = { tag = tags[1][6] } },
- { rule = { name = "mutt"},
- properties = { tag = tags[1][7] } },
-
-}
--- }}}
-
--- {{{ Signals
--- Signal function to execute when a new client appears.
-client.add_signal("manage", function (c, startup)
- -- Add a titlebar
- -- awful.titlebar.add(c, { modkey = modkey })
-
- -- Enable sloppy focus
- c:add_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)
-
- -- 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
-end)
-
-client.add_signal("focus", function(c) c.border_color = beautiful.border_focus end)
-client.add_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
--- }}}
+ client.add_signal("focus", function(c) c.border_color = beautiful.border_focus end)
+ client.add_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
+ -- }}}
diff --git a/.config/ranger/apps.py b/.config/ranger/apps.py
index 6a35917f..692f5a23 100644
--- a/.config/ranger/apps.py
+++ b/.config/ranger/apps.py
@@ -37,6 +37,11 @@ class CustomApplications(DefaultApps):
c.flags += 'd'
return self.either(c, 'zathura', 'evince')
+ # CUSTOM
+ if f.extension == 'svg':
+ c.flags += 'd'
+ return self.either(c, 'inkscape')
+
# CUSTOM
if f.extension == 'm2ts':
c.flags += 'd'
diff --git a/.shell.d/dircolorsdb b/.shell.d/dircolorsdb
new file mode 100644
index 00000000..ec5f9e3a
--- /dev/null
+++ b/.shell.d/dircolorsdb
@@ -0,0 +1,177 @@
+# Attribute codes:
+# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
+# Text color codes:
+# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
+# Background color codes:
+# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
+
+# Filesystem
+MULTIHARDLINK 01;37 # regular file with more than one link
+FIFO 01;33 # pipe
+
+ # archives or compressed (bright red)
+.tar 00;31
+.tgz 00;31
+.arj 00;31
+.taz 00;31
+.lzh 00;31
+.lzma 00;31
+.tlz 00;31
+.txz 00;31
+.zip 00;31
+.z 00;31
+.Z 00;31
+.dz 00;31
+.gz 00;31
+.lz 00;31
+.xz 00;31
+.bz2 00;31
+.bz 00;31
+.tbz 00;31
+.tbz2 00;31
+.tz 00;31
+.deb 00;31
+.rpm 00;31
+.jar 00;31
+.war 00;31
+.ear 00;31
+.sar 00;31
+.rar 00;31
+.ace 00;31
+.zoo 00;31
+.cpio 00;31
+.7z 00;31
+.rz 00;31
+
+# Disc image
+.iso 04;31
+
+# image formats
+.jpg 04;33
+.jpeg 04;33
+.gif 04;33
+.bmp 04;33
+.pbm 04;33
+.pgm 04;33
+.ppm 04;33
+.tga 04;33
+.xbm 04;33
+.xpm 04;33
+.tif 04;33
+.tiff 04;33
+.png 04;33
+.svg 04;33
+.svgz 04;33
+.mng 04;33
+.pcx 04;33
+
+# image formats UPPERCASE
+.JPG 04;33
+.JPEG 04;33
+.GIF 04;33
+.BMP 04;33
+.PBM 04;33
+.PGM 04;33
+.PPM 04;33
+.TGA 04;33
+.XBM 04;33
+.XPM 04;33
+.TIF 04;33
+.TIFF 04;33
+.PNG 04;33
+.SVG 04;33
+.SVGZ 04;33
+.MNG 04;33
+.PCX 04;33
+
+# Documents
+.pdf 00;33
+.ps 00;33
+.dvi 00;33
+.0 00;33
+.1 00;33
+.2 00;33
+.3 00;33
+.4 00;33
+.5 00;33
+.6 00;33
+.7 00;33
+.8 00;33
+.9 00;33
+
+# videos
+.mov 00;35
+.mpg 00;35
+.mpeg 00;35
+.m2v 00;35
+.mkv 00;35
+.webm 00;35
+.ogm 00;35
+.mp4 00;35
+.m4v 00;35
+.mp4v 00;35
+.vob 00;35
+.qt 00;35
+.nuv 00;35
+.wmv 00;35
+.asf 00;35
+.rm 00;35
+.rmvb 00;35
+.flc 00;35
+.avi 00;35
+.fli 00;35
+.flv 00;35
+.gl 00;35
+.dl 00;35
+.xcf 00;35
+.xwd 00;35
+.yuv 00;35
+.cgm 00;35
+.emf 00;35
+
+# audio formats
+.aac 04;35
+.au 04;35
+.flac 04;35
+.mid 04;35
+.midi 04;35
+.mka 04;35
+.mp3 04;35
+.mpc 04;35
+.ogg 04;35
+.ra 04;35
+.wav 04;35
+
+# Text files
+.txt 04;37
+.log 04;37
+.tex 04;37
+.srt 04;37
+.sub 04;37
+
+# Web
+.html 04;37
+.htm 04;37
+.css 04;37
+.js 04;37
+
+# Makefile
+.mk 04;36
+.in 04;36
+
+# Prog
+.lua 00;36
+.py 00;36
+.pl 00;36
+.el 00;36
+.c 00;36
+.h 00;36
+.cpp 00;36
+.hpp 00;36
+.cc 00;36
+.hh 00;36
+.sh 00;36
+.bash 00;36
+.zsh 00;36
+.csh 00;36
+.ksh 00;36
diff --git a/.shell.d/main_rc b/.shell.d/main_rc
index e0571681..8e845deb 100644
--- a/.shell.d/main_rc
+++ b/.shell.d/main_rc
@@ -30,7 +30,7 @@ unset TEXDIR
## Enable color support of ls.
if [ "$TERM" != "dumb" ]; then
- eval "`dircolors -b`"
+ eval "`dircolors $HOME/.shell.d/dircolorsdb`"
fi
## Terminal