summary refs log tree commit diff
path: root/.config/awesome/rc.lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/awesome/rc.lua')
-rw-r--r--.config/awesome/rc.lua341
1 files changed, 0 insertions, 341 deletions
diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua
deleted file mode 100644
index d5d26cf4..00000000
--- a/.config/awesome/rc.lua
+++ /dev/null
@@ -1,341 +0,0 @@
--- Standard awesome library
-local gears = require("gears")
-local awful = require("awful")
-awful.rules = require("awful.rules")
-require("awful.autofocus")
--- Widget and layout library
-local wibox = require("wibox")
--- Theme handling library
-local beautiful = require("beautiful")
--- Notification library
-local naughty = require("naughty")
-local menubar = require("menubar")
-
-local vicious = require("vicious")
-
--- {{{ Error handling
--- 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 })
-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
-
-        naughty.notify({ preset = naughty.config.presets.critical,
-                         title = "Oops, an error happened!",
-                         text = err })
-        in_error = false
-    end)
-end
--- }}}
-
-home = os.getenv("HOME")
-awesome_home = home .. "/.config/awesome"
-terminal = "xfce4-terminal"
-editor = "gvim"
-
-modkey = "Mod4"
-
--- Theming
-beautiful.init(awesome_home .. "/themes/current/theme.lua")
-
-layouts = {
-    awful.layout.suit.tile,
-    awful.layout.suit.tile.left,
-    awful.layout.suit.tile.bottom,
-    awful.layout.suit.tile.top,
-    awful.layout.suit.max,
-    awful.layout.suit.floating
-}
-
-tags = {
-    names = { 1, 2, 3, 4, 5, 6, 7, 8, 9 },
-    layouts = {
-        layouts[5],
-        layouts[3],
-        layouts[1],
-        layouts[1],
-        layouts[1],
-        layouts[1],
-        layouts[1],
-        layouts[1],
-        layouts[6]
-    }
-}
-
-for s = 1, screen.count() do
-    tags[s] = awful.tag(tags.names, s, tags.layouts)
-end
-
--- disable startup-notification globally
-local oldspawn = awful.util.spawn
-awful.util.spawn = function (s)
-  oldspawn(s, false)
-end
-
--- wibox junk
-mywibox = {}
-mypromptbox = {}
-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)
-                    )
-
-myseparator = wibox.widget.textbox()
-myseparator:set_text(" ")
-
-myclock = awful.widget.textclock("%a %b %d, %I:%M %p")
-
-mysystray = wibox.widget.systray()
-
-mympd = wibox.widget.textbox()
-
-function icon(i)
-    return awesome_home .. "/icons/" .. i .. ".png"
-end
-
-myicons = {
-    play = icon("play"),
-    pause = icon("pause"),
-    stop = icon("stop"),
-    clock = icon("clock"),
-}
-
-myclockicon = wibox.widget.imagebox()
-myclockicon:set_image(myicons.clock)
-
-mympdicon = wibox.widget.imagebox()
-mympdicon:set_image(myicons.stop)
-
-vicious.register(mympd, vicious.widgets.mpd, function (widget, args)
-    if args["{state}"] == "Stop" then
-        mympdicon:set_image(myicons.stop)
-        return ""
-    end
-    if args["{state}"] == "Pause" then
-        mympdicon:set_image(myicons.pause)
-    else
-        mympdicon:set_image(myicons.play)
-    end
-    return args["{Artist}"] .. " - " .. args["{Title}"]
-end)
-
-for s = 1, screen.count() do
-    mypromptbox[s] = awful.widget.prompt()
-    mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.filter.all, mytaglist.buttons)
-    mywibox[s] = awful.wibox({ position = "top", screen = s, height = 16})
- 
-    local left_layout = wibox.layout.fixed.horizontal()
-    left_layout:add(mytaglist[s])
-    left_layout:add(mypromptbox[s])
-
-    local right_layout = wibox.layout.fixed.horizontal()
-    right_layout:add(mympdicon)
-    right_layout:add(mympd)
-    right_layout:add(myseparator)
-    right_layout:add(myclockicon)
-    right_layout:add(myclock)
-    if s == 1 then right_layout:add(mysystray) end
-
-    local layout = wibox.layout.align.horizontal()
-    layout:set_left(left_layout)
-    layout:set_right(right_layout)
-
-    mywibox[s]:set_widget(layout)
-end
-
--- Bindings
-root.buttons(awful.util.table.join(
-    awful.button({ }, 4, awful.tag.viewnext),
-    awful.button({ }, 5, awful.tag.viewprev)))
-
-globalkeys = awful.util.table.join(
-    awful.key({ modkey }, "Left", awful.tag.viewprev),
-    awful.key({ modkey }, "Right", awful.tag.viewnext),
-
-    -- Client focus
-    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),
-
-    -- Client movement
-    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, "Control" }, "n", awful.client.restore),
-
-    -- Tag modification
-    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),
-
-    -- Prompts
-    awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end),
-    awful.key({ modkey }, "x", function ()
-        awful.prompt.run({ prompt = "Lua: " },
-            mypromptbox[mouse.screen].widget,
-            awful.util.eval, nil,
-            awful.util.getdir("cache") .. "/history_eval")
-        end),
-
-    awful.key({ }, "Print", function () awful.util.spawn(home .. "/bin/scrot-upload") end),
-    awful.key({ modkey }, "Print", function () awful.util.spawn(home .. "/bin/scrot-upload -b -s") end),
-    awful.key({ }, "XF86AudioPlay", function () awful.util.spawn("mpc toggle") end),
-    awful.key({ }, "XF86AudioStop", function () awful.util.spawn("mpc stop") end),
-    awful.key({ }, "XF86AudioNext", function () awful.util.spawn("mpc next") end),
-    awful.key({ }, "XF86AudioPrev", function () awful.util.spawn("mpc prev") end),
-
-    awful.key({ modkey }, "Return", function () awful.util.spawn(terminal) end),
-    awful.key({ modkey, "Control" }, "r", awesome.restart),
-    awful.key({ modkey, "Shift" }, "q", awesome.quit))
-
-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)
-)
--- 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])
-                        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))
-
--- 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 = true } },
-    { rule = { class = "qemu" },
-      properties = { floating = true } },
-    { rule = { class = "feh" },
-      properties = { floating = true } },
-    -- 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)
-    -- Add a titlebar
-    -- awful.titlebar.add(c, { modkey = modkey })
-
-    -- 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)
-
-        -- 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.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
-client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
--- }}}