Awesome wm tags

I'm editing my rc.lua file at ~/.config/awesome/rc.lua attempting to edit my tags. So two problems. The tags are still just the default numbers. Here's the relevant code in the rc.lua file.
screenshot
Yeah, thats a picture taken with my phone. Problem number 2, how on earth do I copy some code in vim to paste in to the new post box. For the life of me I can't work it out. Right clicking and left clicking just change the selected text and pressing ctrl whilst clicking brings up irrelevent menus regards copying.
Cheers Jonny

As I see, it's just a mistype - table with tag names are called "names", but in "awful.tag(tags.name, s, tags.layout)" you refer to it as "name".
Second question. Long answer ":help mouse". Short answer: do ":set mouse=" before copying.

Similar Messages

  • Best way to natively tag photos on OS X

    For years, I've been simply taking the native image stored on my iphone and placing them in a chronologic folder (Year > Month > Event)...that was it. No tagging, no renaming photos, no nothing. Then, I was dinking around in Windows 7 and saw how awesome the tagging seemingly was. Simply stated, I don't do ANY photo editing at all. All I'm interested in is tagging photos based on the topics in them (work, dog, house, christmas, etc) so that while I can store the native images as I am now but be able to search my photos based on those topics in them. My biggest thing is to have this be a native function if possible as I don't want to get started and find that in 2 years, I can no longer use it because the third party crapped out on me.
    Does anyone have any suggestions or know of the best way to do this? 

    Trouble is, Spotlight comments are restricted to Macs (they use .ds_store files) and the Windows commenting system you mention in your first post is restricted to Windows. Neither actually "natively tags" the file in an environment-neutral way.
    However, EXIF data is actually embedded in image files. You can edit a file's EXIF data from within iPhoto if you want. I do understand what you mean about longevity, but I would honestly prefer to use something like iPhoto's tagging features, which are much more flexible, and make it really easy to tag and smart-group pictures into sets. You don't have to use any of iPhoto's editing features - it does very well on organization alone. If you absolutely don't want to touch your existing folder structure, get Aperture instead, which allows you to keep the organization you've done.
    Matt

  • Awesome: Best Way to Implement/Use Shifty?

    Howdy-ha, folks.  Here's my situation: Currently, I use Eminent to hide tags which aren't in use in the taglist, as I typically don't have more than two or three tags open.  Eminent does a decent job, but while most of my tags are dedicated categories or tasks, I have about a half-dozen apps I'd like to open in their own tags.  Now, while Eminent does what it does well enough, the problem I see is that it requires one to use the pre-defined tag scheme, which a) is limited the total of 9 tags; and b) hard-codes those tags to number keys in the order they're listed in rc.lua.  Since I'm dealing with either full-screen apps or groups of tiled apps, this would mean flipping from, say, tag 2 to tag 7, which with Eminent can get tedious, whereas with Shifty I could create a list of more than 9 tags that will be created and destroyed as necessary, and switch between two tags using "Mod + 1" and "Mod + 2."  Or at least, this is my understanding. 
    The problem is that the Awesome wiki page on Shifty is outdated, with the last update coming in a full year ago (someone was polite enough to edit the page to state just that, without actually noting the changes that need to be made).  The instructions aren't at all clear to me (does "Remove all the existing tag creation/settings code from your rc.lua" mean every instance of the term "tag" that appears?  Because there whole sections seem to depend on a single instance of that term).  Moreover, most of the links on the page are dead, save for the link to bioe007's github, which contains shifty.rc.lua--which also appears outdated (as evidenced by the keybinding syntax and the fact that using it as the default config file results in Awesome returning to fallback mode, with "awesome -k" reporting no errors).  So how might I go about implementing this?  The closest thing to a real guide I've found so far is this; I've tried using that as a stand-in for my own config, I've tried diffing that as well as other configs on the Awesome wiki and shifty.rc.lua into my own config--no luck.  The closest I've come is just pasting the code on the Shifty page into my rc.lua, which results in the first "init = true" Shifty tag being created, plus my predefined tags, with no apparent extra functionality.  What's the best advice on going about this?  Am I just looking at this all wrong, or should I maybe just stick with Eminent for now, until I build my Lua chops?

    Thanks for the feedback bioe007; over the past couple days I've managed to get Shifty working to a usable degree.  I did so by taking the example rc.lua you linked to and inserting bits of my config piecemeal; it was a little tedious, but it works well enough for now until I can get everything "just so." I do have a couple follow-up questions, for anyone able to help.
    Firstly, I can't resize or move floating clients, or rearrange tiled clients, using "Modkey + [relevant mouse button]".  As near as I can tell, the relevant code for this is
    {match = { "" }, buttons = {
    awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
    awful.button({ modkey }, 1, function (c) awful.mouse.client.move() end),
    awful.button({ modkey }, 3, awful.mouse.client.resize ), }, },
    but merely inserting it into my config file under the tag assignments (as per the Awesome wiki) has no effect.  What  am I missing here?  Here's my rc.lua for reference:
    -- default rc.lua for shifty
    -- Standard awesome library
    require("awful")
    -- Theme handling library
    require("beautiful")
    -- Notification library
    require("naughty")
    -- shifty - dynamic tagging library
    require("shifty")
    require("scratch")
    require("revalation")
    -- useful for debugging, marks the beginning of rc.lua exec
    print("Entered rc.lua: " .. os.time())
    -- {{{ Variable definitions
    -- Themes define colours, icons, and wallpapers
    -- The default is a dark theme
    beautiful.init("/home/anoknusa/.config/awesome/themes/yum/theme.lua")
    theme.wallpaper_cmd = { "/usr/bin/nitrogen --restore" }
    awesome.font = ("anorexia 10")
    -- Actually load theme
    beautiful.init(theme_path)
    -- This is used later as the default terminal and editor to run.
    browser = "chromium"
    terminal = "terminator"
    editor = os.getenv("EDITOR") or "nano"
    editor_cmd = terminal .. " -e " .. editor
    -- Default modkey.
    -- Usually, Mod4 is the key with a logo between Control and Alt.
    -- If you do not like this or do not have such a key, I suggest you to remap
    -- Mod4 to another key using xmodmap or other tools. However, you can use
    -- another modifier like Mod1, but it may interact with others.
    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.max,
    awful.layout.suit.max.fullscreen,
    awful.layout.suit.magnifier,
    awful.layout.suit.floating
    -- Define if we want to use titlebar on all applications.
    use_titlebar = false
    --{{{ Shifty configured tags.
    shifty.config.tags = {
    ["[Chromium]"] = {
    layout = awful.layout.suit.max,
    mwfact = 0.70,
    exclusive = false,
    solitary = false,
    position = 1,
    init = true,
    screen = 1,
    persist = false,},
    ["[Util]"] = {
    layout = awful.layout.suit.tile.bottom,
    mwfact = 0.50,
    exclusive = true,
    solitary = true,
    persist = false,
    position = 2,},
    ["[Work]"] = {
    layout = awful.layout.suit.tile.bottom,
    mwfact = 0.50,
    exclusive = false,
    solitary = false,
    persist = false,
    position = 3,
    slave = true},
    ["[What]"] = {
    layout = awful.layout.suit.tile,
    exclusive = false,
    solitary = false,
    persist = false,
    position = 4},
    ["[Amarok]"] = {
    layout = awful.layout.suit.maximum,
    persist = false,
    position = 4},
    ["[Okular]"] = {
    layout = awful.layout.suit.maximum,
    persist = false,
    position = 4},
    ["[Comix]"] = {
    layout = awful.layout.suit.maximum,
    persist = false,
    position = 4},
    ["[Media]"] = {
    layout = awful.layout.suit.tile,
    persist = false,
    position = 4},
    ["[Media]"] = {
    layout = awful.layout.suit.tile,
    persist = false,
    position = 4},
    --{{{SHIFTY: application matching rules
    -- order here matters, early rules will be applied first
    shifty.config.apps = { buttons = clientbuttons,
    {match = {"Chromium"}, honorsizehints = false, tag = "[Chromium]"},
    {match = {"Dolphin", "Transmission", "Gpartedbin", "luckybackup"}, tag = "[Util]", nopopup = true},
    {match = {"Meld", "Gtg"}, tag = "[Work]", slave = true},
    {match = {"Kate", "lowriter"}, tag = "[Work]", nopopup = true},
    {match = {}, tag = "[Work]",},
    {match = {"Soundkonverter", "Easytag", "Audacity"}, tag = "[What]", nopopup = true},
    {match = {"Comix", "Okular"}, tag = "[Reader]", nopopup = true},
    {match = {"Vlc", "K9copy"}, tag = "[Media]", nopopup = true},
    {match = {"Amarok"}, tag = "[Amarok]", nopopup = true},
    {match = {"Gimp"}, tag = "[Gimp]", nopopup = true},
    {match = {"Tomboy"}, slave = true},
    {match = {terminal}, honorsizehints = false, slave = true},
    {match = { "" }, buttons = {
    awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
    awful.button({ modkey }, 1, function (c) awful.mouse.client.move() end),
    awful.button({ modkey }, 3, awful.mouse.client.resize ), }, },
    --{{{SHIFTY: default tag creation rules
    -- parameter description
    -- * floatBars : if floating clients should always have a titlebar
    -- * guess_name : should shifty try and guess tag names when creating
    -- new (unconfigured) tags?
    -- * guess_position: as above, but for position parameter
    -- * run : function to exec when shifty creates a new tag
    -- * all other parameters (e.g. layout, mwfact) follow awesome's tag API
    shifty.config.defaults = {
    layout = awful.layout.suit.tile.bottom,
    ncol = 1,
    mwfact = 0.60,
    floatBars = false,
    guess_name = true,
    guess_position = true,
    -- {{{Wibox
    -- Create a textclock widget
    mytextclock = awful.widget.textclock({ align = "right" }, "%a %b %d - %I:%M", 59)
    -- Separator/Spacer icons
    separator = widget({ type = "textbox", align = "left"})
    separator.text = '<span color="#ab7c00"> || </span>'
    space = widget({ type = "textbox" })
    space.text = " "
    -- Status Labels
    c1 = widget({ type = "textbox" })
    c1.text = "(1)"
    c2 = widget({ type = "textbox" })
    c2.text = "(2)"
    rlabel = widget({ type = "textbox" })
    rlabel.text = "Root:"
    hlabel = widget({ type = "textbox" })
    hlabel.text = "Home:"
    vlabel = widget({ type = "textbox" })
    vlabel.text = "<span color='#ab7c00'>Vol:</span>"
    wlabel = widget({ type = "textbox" })
    wlabel.text = "<span color='#ab7c00'>WiFi:</span>"
    -- Separator/Spacer icons
    separator = widget({ type = "textbox", align = "left"})
    separator.text = '<span color="#ab7c00"> || </span>'
    space = widget({ type = "textbox" })
    space.text = " "
    -- Status Labels
    c1 = widget({ type = "textbox" })
    c1.text = "(1)"
    c2 = widget({ type = "textbox" })
    c2.text = "(2)"
    rlabel = widget({ type = "textbox" })
    rlabel.text = "Root:"
    hlabel = widget({ type = "textbox" })
    hlabel.text = "Home:"
    vlabel = widget({ type = "textbox" })
    vlabel.text = "<span color='#ab7c00'>Vol:</span>"
    wlabel = widget({ type = "textbox" })
    wlabel.text = "<span color='#ab7c00'>WiFi:</span>"
    -- Create a laucher widget and a main menu
    myawesomemenu = {
    {"manual", terminal .. " -e man awesome"},
    {"edit config",
    editor_cmd .. " " .. awful.util.getdir("config") .. "/rc.lua"},
    {"restart", awesome.restart},
    {"quit", awesome.quit}
    mymainmenu = awful.menu(
    {items = {{"awesome", myawesomemenu, beautiful.awesome_icon},
    {"open terminal", terminal}}
    mylauncher = awful.widget.launcher({image = image(beautiful.awesome_icon),
    menu = mymainmenu})
    -- Create a systray
    mysystray = widget({type = "systray", align = "right"})
    -- 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.new(s,
    awful.widget.taglist.label.all,
    mytaglist.buttons)
    -- Create a tasklist widget
    mytasklist[s] = awful.widget.tasklist.new(function(c)
    return awful.widget.tasklist.label.currenttags(c, s)
    end,
    mytasklist.buttons)
    -- Create the wibox
    mywibox[s] = awful.wibox({position = "top", height = 16, screen = s})
    -- Add widgets to the wibox - order matters
    mywibox[s].widgets = {
    mylauncher, space,
    mytaglist[s],
    mypromptbox[s],
    layout = awful.widget.layout.horizontal.leftright
    mylayoutbox[s],
    mytextclock,
    s == 1 and mysystray or nil,
    mytasklist[s],
    layout = awful.widget.layout.horizontal.rightleft
    mywibox[s].screen = s
    end
    --{{{SHIFTY: initialize shifty
    -- the assignment of shifty.taglist must always be after its actually
    -- initialized with awful.widget.taglist.new()
    shifty.taglist = mytaglist
    shifty.init()
    -- {{{Mouse bindings
    root.buttons({
    awful.button({}, 3, function() mymainmenu:toggle() end),
    awful.button({}, 4, awful.tag.viewnext),
    awful.button({}, 5, awful.tag.viewprev)
    -- disable startup-notification globally
    local oldspawn = awful.util.spawn
    awful.util.spawn = function (s)
    oldspawn(s, false)
    end
    -- {{{ 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, }, "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({}, "Menu", function () mymainmenu:show({keygrabber=true}) end),
    awful.key({ modkey }, "b", function ()
    mywibox[mouse.screen].visible = not mywibox[mouse.screen].visible
    end),
    -- Shifty: keybindings specific to shifty
    awful.key({modkey, "Shift"}, "d", shifty.del), -- delete a tag
    awful.key({modkey}, "/", shifty.send_next), -- client to next tag
    awful.key({modkey, "Control"}, "n", function()
    shifty.tagtoscr(awful.util.cycle(screen.count(), mouse.screen + 1))
    end), -- move client to next tag
    awful.key({modkey}, "a", shifty.add), -- creat a new tag
    awful.key({modkey,}, "r", shifty.rename), -- rename a tag
    awful.key({modkey, "Shift"}, "a", -- nopopup new tag
    function()
    shifty.add({nopopup = true})
    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({modkey,}, "w", function() mymainmenu:show(true) end),
    -- Volume Control
    awful.key({ }, "XF86AudioRaiseVolume", function () awful.util.spawn("amixer set Master 2+") end),
    awful.key({ }, "XF86AudioLowerVolume", function () awful.util.spawn("amixer set Master 2-") end),
    -- Power Management
    awful.key({ }, "XF86PowerOff", function () awful.util.spawn("obshutdown") end),
    awful.key({modkey, }, "XF86PowerOff", function () awful.util.spawn("sudo pm-suspend") end),
    -- Brightness Control
    awful.key({modkey }, "F6", function () awful.util.spawn("xbacklight -dec 50") end),
    awful.key({modkey }, "F7", function () awful.util.spawn("xbacklight -inc 50") end),
    -- Dmenu
    --awful.key({modkey }, "space", function()
    --awful.util.spawn_with_shell( "dmenu_run -p 'Arch Linux' -nf '#838383' -nb '#1b1b1b' -sf '#B50000' -sb '#838383'")
    --end),
    awful.key({ modkey }, "space", function ()
    awful.util.spawn("dmenu_run -i -p 'Arch Linux' -nb '" ..
    beautiful.bg_normal .. "' -nf '" .. beautiful.fg_normal ..
    "' -sb '" .. beautiful.bg_focus ..
    "' -sf '" .. beautiful.fg_focus .. "'") end),
    -- Lock Screen
    awful.key({modkey }, "F1", function () awful.util.spawn("slimlock") end),
    -- Turn off touchpad
    awful.key({modkey, "Shift" }, "x", function () awful.util.spawn("touchoff") end),
    -- Revalation
    awful.key({ modkey }, "e", revelation.revelation),
    -- Drop-down terminal
    awful.key({}, "F12", function () scratch.drop("terminator", "top", "center", 1, .70) end),
    -- Print Screen
    awful.key({ }, "Print", function () awful.util.spawn("ksnapshot") 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, }, ",", function () awful.layout.inc(layouts, 1) end),
    awful.key({ modkey, }, ".", function () awful.layout.inc(layouts, -1) end),
    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)
    clientkeys = awful.util.table.join(
    awful.key({ modkey, }, "f", function (c) c.fullscreen = not c.fullscreen end),
    awful.key({ modkey }, "F4", 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)
    -- SHIFTY: assign client keys to shifty for use in
    -- match() function(manage hook)
    shifty.config.clientkeys = clientkeys
    shifty.config.modkey = modkey
    -- Compute the maximum number of digit we need, limited to 9
    for i = 1, (shifty.config.maxtags or 9) do
    globalkeys = awful.util.table.join(globalkeys,
    awful.key({modkey}, i, function()
    local t = awful.tag.viewonly(shifty.getpos(i))
    end),
    awful.key({modkey, "Control"}, i, function()
    local t = shifty.getpos(i)
    t.selected = not t.selected
    end),
    awful.key({modkey, "Control", "Shift"}, i, function()
    if client.focus then
    awful.client.toggletag(shifty.getpos(i))
    end
    end),
    -- move clients to other tags
    awful.key({modkey, "Shift"}, i, function()
    if client.focus then
    t = shifty.getpos(i)
    awful.client.movetotag(t)
    awful.tag.viewonly(t)
    end
    end))
    end
    -- Set keys
    root.keys(globalkeys)
    -- {{{ Naughty settings
    naughty.config.notify_callback = function(args)
    awful.util.spawn("twmnc -c '" .. args.text .. "' -t '" .. args.title .. "'")
    return nil
    end
    -- {{{Hooks
    -- Hook function to execute when focusing a client.
    client.add_signal("focus", function(c)
    if not awful.client.ismarked(c) then
    c.border_color = beautiful.border_focus
    end
    end)
    -- Hook function to execute when unfocusing a client.
    client.add_signal("unfocus", function(c)
    if not awful.client.ismarked(c) then
    c.border_color = beautiful.border_normal
    end
    end)
    -- Naughty / TWMN
    naughty.config.notify_callback = function(args)
    awful.util.spawn("twmnc -c '" .. args.text .. "' -t '" .. args.title .. "'")
    return nil
    end
    -- vim: fdm=marker:tw=80:
    The second issue is that, when switching tags, a client won't grab focus unless I pass the mouse pointer over its entry in the tasklist; even clicking on the window has no effect.  I have no idea what the issue may be there.
    Thanks in advance to anyone who can help.

  • [Solved]After upgrade: Random system stalls, invisible text. drm/i915?

    Hi,
    Short version: I think I have a problem with drm and my graphic card drivers after an update, but I'm not quite sure what to do about it.
    Longer version: ever since an update 2 days ago, I have a range of system problems.
    Most notably, the system stalls or hangs for between 2 and 10 seconds every few minutes. This may happen during any kind of activity - viewing pdfs (zathura or acroread), working in the terminal (lilyterm), web browsing (firefox) or reading/writing email (thunderbird). It also very often stalls during change of awesome's tags, but not every time (only every third or so).
    Then, similar to this recently necromanced thread ( https://bbs.archlinux.org/viewtopic.php?id=135259 ), I have random letters disappearing in thunderbird, but also random paragraphs disappearing in firefox, see screenshot here: http://imgur.com/RhOhL3a
    With the help of dmesg I discovered errors like
    [15170.335247] [drm] stuck on render ring
    [15170.335310] [drm:i915_set_reset_status] *ERROR* render ring hung inside bo (0xebf0000 ctx 0) at 0xec0a050
    popping up a lot, and google-found a few related threads or bug reports ( https://bugs.archlinux.org/task/34611 ,  https://bbs.archlinux.org/viewtopic.php?id=160186 ,  https://bbs.archlinux.org/viewtopic.php?pid=1251547 ). But then my troubles start, because I don't know just exactly what to do with this information. Some seem to speak of downgrading, but downgrade what exactly? Some say this is fixed/solved, but in what sense (reported upstream, fixed upstream, fixed in arch) and then what does is mean that I still get such errors? Should I re-report them, or what should I do to fix? Some system info below.
    Thanks for any pointers!
    $ uname -a
    Linux hostname 3.12.9-1-ARCH #1 SMP PREEMPT Sun Jan 26 09:01:37 CET 2014 x86_64 GNU/Linux
    $ Xorg -version
    X.Org X Server 1.15.0
    $lspci
    00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07)
    00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
    00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
    00:03.0 Communication controller: Intel Corporation Mobile 4 Series Chipset MEI Controller (rev 07)
    00:03.2 IDE interface: Intel Corporation Mobile 4 Series Chipset PT IDER Controller (rev 07)
    00:03.3 Serial controller: Intel Corporation Mobile 4 Series Chipset AMT SOL Redirection (rev 07)
    00:19.0 Ethernet controller: Intel Corporation 82567LM Gigabit Network Connection (rev 03)
    00:1a.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03)
    00:1a.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03)
    00:1a.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03)
    00:1a.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03)
    00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
    00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03)
    00:1c.1 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 (rev 03)
    00:1d.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)
    00:1d.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)
    00:1d.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)
    00:1d.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)
    00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 93)
    00:1f.0 ISA bridge: Intel Corporation ICH9M-E LPC Interface Controller (rev 03)
    00:1f.2 SATA controller: Intel Corporation 82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode] (rev 03)
    00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 03)
    03:00.0 Network controller: Intel Corporation PRO/Wireless 5100 AGN [Shiloh] Network Connection
    15:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ba)
    15:00.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21)
    15:00.4 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 11)
    15:00.5 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 11)
    $ dmesg
    [ 0.000000] Initializing cgroup subsys cpuset
    [ 0.000000] Initializing cgroup subsys cpu
    [ 0.000000] Initializing cgroup subsys cpuacct
    [ 0.000000] Linux version 3.12.9-1-ARCH (tobias@T-POWA-LX) (gcc version 4.8.2 20131219 (prerelease) (GCC) ) #1 SMP PREEMPT Sun Jan 26 09:01:37 CET 2014
    [ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-linux root=UUID=37e98755-f4db-4377-8615-60068771034d rw quiet
    [ 0.000000] Disabled fast string operations
    [ 0.000000] e820: BIOS-provided physical RAM map:
    [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009ebff] usable
    [ 0.000000] BIOS-e820: [mem 0x000000000009ec00-0x000000000009ffff] reserved
    [ 0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
    [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000bd6a0fff] usable
    [ 0.000000] BIOS-e820: [mem 0x00000000bd6a1000-0x00000000bd6a6fff] reserved
    [ 0.000000] BIOS-e820: [mem 0x00000000bd6a7000-0x00000000bd7b6fff] usable
    [ 0.000000] BIOS-e820: [mem 0x00000000bd7b7000-0x00000000bd80efff] reserved
    [ 0.000000] BIOS-e820: [mem 0x00000000bd80f000-0x00000000bd8c6fff] usable
    [ 0.000000] BIOS-e820: [mem 0x00000000bd8c7000-0x00000000bd8d1fff] ACPI NVS
    [ 0.000000] BIOS-e820: [mem 0x00000000bd8d2000-0x00000000bd8d4fff] ACPI data
    [ 0.000000] BIOS-e820: [mem 0x00000000bd8d5000-0x00000000bd8d8fff] reserved
    [ 0.000000] BIOS-e820: [mem 0x00000000bd8d9000-0x00000000bd8dcfff] ACPI NVS
    [ 0.000000] BIOS-e820: [mem 0x00000000bd8dd000-0x00000000bd8dffff] reserved
    [ 0.000000] BIOS-e820: [mem 0x00000000bd8e0000-0x00000000bd906fff] ACPI NVS
    [ 0.000000] BIOS-e820: [mem 0x00000000bd907000-0x00000000bd907fff] ACPI data
    [ 0.000000] BIOS-e820: [mem 0x00000000bd908000-0x00000000bdb0efff] reserved
    [ 0.000000] BIOS-e820: [mem 0x00000000bdb0f000-0x00000000bdb9efff] ACPI NVS
    [ 0.000000] BIOS-e820: [mem 0x00000000bdb9f000-0x00000000bdbfefff] ACPI data
    [ 0.000000] BIOS-e820: [mem 0x00000000bdbff000-0x00000000bdbfffff] usable
    [ 0.000000] BIOS-e820: [mem 0x00000000bdc00000-0x00000000bfffffff] reserved
    [ 0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved
    [ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec0ffff] reserved
    [ 0.000000] BIOS-e820: [mem 0x00000000fed00000-0x00000000fed003ff] reserved
    [ 0.000000] BIOS-e820: [mem 0x00000000fed10000-0x00000000fed13fff] reserved
    [ 0.000000] BIOS-e820: [mem 0x00000000fed18000-0x00000000fed19fff] reserved
    [ 0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed8ffff] reserved
    [ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
    [ 0.000000] BIOS-e820: [mem 0x00000000ff800000-0x00000000ffffffff] reserved
    [ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000013bffffff] usable
    [ 0.000000] NX (Execute Disable) protection: active
    [ 0.000000] SMBIOS 2.4 present.
    [ 0.000000] DMI: LENOVO 2767WSD/2767WSD, BIOS 7UET70WW (3.00 ) 04/17/2009
    [ 0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
    [ 0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
    [ 0.000000] No AGP bridge found
    [ 0.000000] e820: last_pfn = 0x13c000 max_arch_pfn = 0x400000000
    [ 0.000000] MTRR default type: uncachable
    [ 0.000000] MTRR fixed ranges enabled:
    [ 0.000000] 00000-9FFFF write-back
    [ 0.000000] A0000-BFFFF uncachable
    [ 0.000000] C0000-D3FFF write-protect
    [ 0.000000] D4000-DBFFF uncachable
    [ 0.000000] DC000-FFFFF write-protect
    [ 0.000000] MTRR variable ranges enabled:
    [ 0.000000] 0 base 13C000000 mask FFC000000 uncachable
    [ 0.000000] 1 base 0BE000000 mask FFE000000 uncachable
    [ 0.000000] 2 base 000000000 mask F80000000 write-back
    [ 0.000000] 3 base 080000000 mask FC0000000 write-back
    [ 0.000000] 4 base 100000000 mask FC0000000 write-back
    [ 0.000000] 5 base 0BDE00000 mask FFFE00000 uncachable
    [ 0.000000] 6 disabled
    [ 0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
    [ 0.000000] e820: update [mem 0xbde00000-0xffffffff] usable ==> reserved
    [ 0.000000] e820: last_pfn = 0xbdc00 max_arch_pfn = 0x400000000
    [ 0.000000] found SMP MP-table at [mem 0x000f64d0-0x000f64df] mapped at [ffff8800000f64d0]
    [ 0.000000] Scanning 1 areas for low memory corruption
    [ 0.000000] Base memory trampoline at [ffff880000098000] 98000 size 24576
    [ 0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]
    [ 0.000000] [mem 0x00000000-0x000fffff] page 4k
    [ 0.000000] BRK [0x01b32000, 0x01b32fff] PGTABLE
    [ 0.000000] BRK [0x01b33000, 0x01b33fff] PGTABLE
    [ 0.000000] BRK [0x01b34000, 0x01b34fff] PGTABLE
    [ 0.000000] init_memory_mapping: [mem 0x13be00000-0x13bffffff]
    [ 0.000000] [mem 0x13be00000-0x13bffffff] page 2M
    [ 0.000000] BRK [0x01b35000, 0x01b35fff] PGTABLE
    [ 0.000000] init_memory_mapping: [mem 0x138000000-0x13bdfffff]
    [ 0.000000] [mem 0x138000000-0x13bdfffff] page 2M
    [ 0.000000] init_memory_mapping: [mem 0x100000000-0x137ffffff]
    [ 0.000000] [mem 0x100000000-0x137ffffff] page 2M
    [ 0.000000] init_memory_mapping: [mem 0x00100000-0xbd6a0fff]
    [ 0.000000] [mem 0x00100000-0x001fffff] page 4k
    [ 0.000000] [mem 0x00200000-0xbd5fffff] page 2M
    [ 0.000000] [mem 0xbd600000-0xbd6a0fff] page 4k
    [ 0.000000] init_memory_mapping: [mem 0xbd6a7000-0xbd7b6fff]
    [ 0.000000] [mem 0xbd6a7000-0xbd7b6fff] page 4k
    [ 0.000000] init_memory_mapping: [mem 0xbd80f000-0xbd8c6fff]
    [ 0.000000] [mem 0xbd80f000-0xbd8c6fff] page 4k
    [ 0.000000] BRK [0x01b36000, 0x01b36fff] PGTABLE
    [ 0.000000] init_memory_mapping: [mem 0xbdbff000-0xbdbfffff]
    [ 0.000000] [mem 0xbdbff000-0xbdbfffff] page 4k
    [ 0.000000] BRK [0x01b37000, 0x01b37fff] PGTABLE
    [ 0.000000] RAMDISK: [mem 0x37998000-0x37cc3fff]
    [ 0.000000] ACPI: RSDP 00000000000f6490 00024 (v02 LENOVO)
    [ 0.000000] ACPI: XSDT 00000000bdb4a35d 0008C (v01 LENOVO TP-7U 00003000 LTP 00000000)
    [ 0.000000] ACPI: FACP 00000000bdb4a500 000F4 (v03 LENOVO TP-7U 00003000 LNVO 00000001)
    [ 0.000000] ACPI: DSDT 00000000bdb4a8db 0F48F (v01 LENOVO TP-7U 00003000 MSFT 03000000)
    [ 0.000000] ACPI: FACS 00000000bdb8e000 00040
    [ 0.000000] ACPI: SSDT 00000000bdb4a6b4 00227 (v01 LENOVO TP-7U 00003000 MSFT 03000000)
    [ 0.000000] ACPI: ECDT 00000000bdb59d6a 00052 (v01 LENOVO TP-7U 00003000 LNVO 00000001)
    [ 0.000000] ACPI: APIC 00000000bdb59dbc 00078 (v01 LENOVO TP-7U 00003000 LNVO 00000001)
    [ 0.000000] ACPI: MCFG 00000000bdb59e34 0003C (v01 LENOVO TP-7U 00003000 LNVO 00000001)
    [ 0.000000] ACPI: HPET 00000000bdb59e70 00038 (v01 LENOVO TP-7U 00003000 LNVO 00000001)
    [ 0.000000] ACPI: BOOT 00000000bdb59f38 00028 (v01 LENOVO TP-7U 00003000 LTP 00000001)
    [ 0.000000] ACPI: ASF! 00000000bdb59f60 000A0 (v16 LENOVO TP-7U 00003000 PTL 00000001)
    [ 0.000000] ACPI: SSDT 00000000bdb8d213 0054F (v01 LENOVO TP-7U 00003000 INTL 20050513)
    [ 0.000000] ACPI: TCPA 00000000bd907000 00032 (v00 00000000 00000000)
    [ 0.000000] ACPI: SSDT 00000000bd8d4000 00655 (v01 PmRef CpuPm 00003000 INTL 20050624)
    [ 0.000000] ACPI: SSDT 00000000bd8d3000 00274 (v01 PmRef Cpu0Tst 00003000 INTL 20050624)
    [ 0.000000] ACPI: SSDT 00000000bd8d2000 00242 (v01 PmRef ApTst 00003000 INTL 20050624)
    [ 0.000000] ACPI: DMI detected: Lenovo ThinkPad T400
    [ 0.000000] ACPI: Local APIC address 0xfee00000
    [ 0.000000] No NUMA configuration found
    [ 0.000000] Faking a node at [mem 0x0000000000000000-0x000000013bffffff]
    [ 0.000000] Initmem setup node 0 [mem 0x00000000-0x13bffffff]
    [ 0.000000] NODE_DATA [mem 0x13bff8000-0x13bffcfff]
    [ 0.000000] [ffffea0000000000-ffffea0004ffffff] PMD -> [ffff880137600000-ffff88013b5fffff] on node 0
    [ 0.000000] Zone ranges:
    [ 0.000000] DMA [mem 0x00001000-0x00ffffff]
    [ 0.000000] DMA32 [mem 0x01000000-0xffffffff]
    [ 0.000000] Normal [mem 0x100000000-0x13bffffff]
    [ 0.000000] Movable zone start for each node
    [ 0.000000] Early memory node ranges
    [ 0.000000] node 0: [mem 0x00001000-0x0009dfff]
    [ 0.000000] node 0: [mem 0x00100000-0xbd6a0fff]
    [ 0.000000] node 0: [mem 0xbd6a7000-0xbd7b6fff]
    [ 0.000000] node 0: [mem 0xbd80f000-0xbd8c6fff]
    [ 0.000000] node 0: [mem 0xbdbff000-0xbdbfffff]
    [ 0.000000] node 0: [mem 0x100000000-0x13bffffff]
    [ 0.000000] On node 0 totalpages: 1021959
    [ 0.000000] DMA zone: 64 pages used for memmap
    [ 0.000000] DMA zone: 21 pages reserved
    [ 0.000000] DMA zone: 3997 pages, LIFO batch:0
    [ 0.000000] DMA32 zone: 12066 pages used for memmap
    [ 0.000000] DMA32 zone: 772202 pages, LIFO batch:31
    [ 0.000000] Normal zone: 3840 pages used for memmap
    [ 0.000000] Normal zone: 245760 pages, LIFO batch:31
    [ 0.000000] ACPI: PM-Timer IO Port: 0x1008
    [ 0.000000] ACPI: Local APIC address 0xfee00000
    [ 0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
    [ 0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
    [ 0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] disabled)
    [ 0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] disabled)
    [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
    [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
    [ 0.000000] ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0])
    [ 0.000000] IOAPIC[0]: apic_id 1, version 32, address 0xfec00000, GSI 0-23
    [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
    [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
    [ 0.000000] ACPI: IRQ0 used by override.
    [ 0.000000] ACPI: IRQ2 used by override.
    [ 0.000000] ACPI: IRQ9 used by override.
    [ 0.000000] Using ACPI (MADT) for SMP configuration information
    [ 0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
    [ 0.000000] smpboot: Allowing 4 CPUs, 2 hotplug CPUs
    [ 0.000000] nr_irqs_gsi: 40
    [ 0.000000] PM: Registered nosave memory: [mem 0x0009e000-0x0009efff]
    [ 0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff]
    [ 0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000dffff]
    [ 0.000000] PM: Registered nosave memory: [mem 0x000e0000-0x000fffff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xbd6a1000-0xbd6a6fff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xbd7b7000-0xbd80efff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xbd8c7000-0xbd8d1fff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xbd8d2000-0xbd8d4fff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xbd8d5000-0xbd8d8fff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xbd8d9000-0xbd8dcfff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xbd8dd000-0xbd8dffff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xbd8e0000-0xbd906fff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xbd907000-0xbd907fff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xbd908000-0xbdb0efff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xbdb0f000-0xbdb9efff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xbdb9f000-0xbdbfefff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xbdc00000-0xbfffffff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xc0000000-0xdfffffff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xe0000000-0xefffffff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xf0000000-0xfebfffff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xfec00000-0xfec0ffff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xfec10000-0xfecfffff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xfed00000-0xfed0ffff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xfed10000-0xfed13fff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xfed14000-0xfed17fff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xfed18000-0xfed19fff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xfed1a000-0xfed1bfff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xfed1c000-0xfed8ffff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xfed90000-0xfedfffff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xfee00000-0xfee00fff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xfee01000-0xff7fffff]
    [ 0.000000] PM: Registered nosave memory: [mem 0xff800000-0xffffffff]
    [ 0.000000] e820: [mem 0xc0000000-0xdfffffff] available for PCI devices
    [ 0.000000] Booting paravirtualized kernel on bare hardware
    [ 0.000000] setup_percpu: NR_CPUS:128 nr_cpumask_bits:128 nr_cpu_ids:4 nr_node_ids:1
    [ 0.000000] PERCPU: Embedded 29 pages/cpu @ffff88013bc00000 s86464 r8192 d24128 u524288
    [ 0.000000] pcpu-alloc: s86464 r8192 d24128 u524288 alloc=1*2097152
    [ 0.000000] pcpu-alloc: [0] 0 1 2 3
    [ 0.000000] Built 1 zonelists in Node order, mobility grouping on. Total pages: 1005968
    [ 0.000000] Policy zone: Normal
    [ 0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-linux root=UUID=37e98755-f4db-4377-8615-60068771034d rw quiet
    [ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
    [ 0.000000] xsave: enabled xstate_bv 0x3, cntxt size 0x240
    [ 0.000000] Checking aperture...
    [ 0.000000] No AGP bridge found
    [ 0.000000] Calgary: detecting Calgary via BIOS EBDA area
    [ 0.000000] Calgary: Unable to locate Rio Grande table in EBDA - bailing!
    [ 0.000000] Memory: 3940680K/4087836K available (5119K kernel code, 807K rwdata, 1628K rodata, 1144K init, 1288K bss, 147156K reserved)
    [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
    [ 0.000000] Preemptible hierarchical RCU implementation.
    [ 0.000000] RCU dyntick-idle grace-period acceleration is enabled.
    [ 0.000000] Dump stacks of tasks blocking RCU-preempt GP.
    [ 0.000000] RCU restricting CPUs from NR_CPUS=128 to nr_cpu_ids=4.
    [ 0.000000] NR_IRQS:8448 nr_irqs:712 16
    [ 0.000000] Console: colour dummy device 80x25
    [ 0.000000] console [tty0] enabled
    [ 0.000000] allocated 16777216 bytes of page_cgroup
    [ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
    [ 0.000000] hpet clockevent registered
    [ 0.000000] tsc: Fast TSC calibration using PIT
    [ 0.000000] tsc: Detected 2527.053 MHz processor
    [ 0.003338] Calibrating delay loop (skipped), value calculated using timer frequency.. 5056.69 BogoMIPS (lpj=8423510)
    [ 0.003341] pid_max: default: 32768 minimum: 301
    [ 0.003375] Security Framework initialized
    [ 0.003387] AppArmor: AppArmor disabled by boot time parameter
    [ 0.003388] Yama: becoming mindful.
    [ 0.003735] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
    [ 0.007112] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
    [ 0.008042] Mount-cache hash table entries: 256
    [ 0.008292] Initializing cgroup subsys memory
    [ 0.008312] Initializing cgroup subsys devices
    [ 0.008315] Initializing cgroup subsys freezer
    [ 0.008317] Initializing cgroup subsys net_cls
    [ 0.008319] Initializing cgroup subsys blkio
    [ 0.008341] Disabled fast string operations
    [ 0.008346] CPU: Physical Processor ID: 0
    [ 0.008347] CPU: Processor Core ID: 0
    [ 0.008349] mce: CPU supports 6 MCE banks
    [ 0.008357] CPU0: Thermal monitoring enabled (TM2)
    [ 0.008365] Last level iTLB entries: 4KB 128, 2MB 4, 4MB 4
    Last level dTLB entries: 4KB 256, 2MB 0, 4MB 32
    tlb_flushall_shift: -1
    [ 0.008437] Freeing SMP alternatives memory: 20K (ffffffff819e9000 - ffffffff819ee000)
    [ 0.009258] ACPI: Core revision 20130725
    [ 0.015569] ACPI: All ACPI Tables successfully acquired
    [ 0.016678] ftrace: allocating 20320 entries in 80 pages
    [ 0.027168] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
    [ 0.061017] smpboot: CPU0: Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz (fam: 06, model: 17, stepping: 0a)
    [ 0.063333] Performance Events: PEBS fmt0+, 4-deep LBR, Core2 events, Intel PMU driver.
    [ 0.063333] ... version: 2
    [ 0.063333] ... bit width: 40
    [ 0.063333] ... generic registers: 2
    [ 0.063333] ... value mask: 000000ffffffffff
    [ 0.063333] ... max period: 000000007fffffff
    [ 0.063333] ... fixed-purpose events: 3
    [ 0.063333] ... event mask: 0000000700000003
    [ 0.083392] smpboot: Booting Node 0, Processors # 1 OK
    [ 0.006666] Disabled fast string operations
    [ 0.096626] NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter.
    [ 0.096639] Brought up 2 CPUs
    [ 0.096642] smpboot: Total of 2 processors activated (10112.38 BogoMIPS)
    [ 0.098382] devtmpfs: initialized
    [ 0.105175] PM: Registering ACPI NVS region [mem 0xbd8c7000-0xbd8d1fff] (45056 bytes)
    [ 0.105175] PM: Registering ACPI NVS region [mem 0xbd8d9000-0xbd8dcfff] (16384 bytes)
    [ 0.105175] PM: Registering ACPI NVS region [mem 0xbd8e0000-0xbd906fff] (159744 bytes)
    [ 0.105175] PM: Registering ACPI NVS region [mem 0xbdb0f000-0xbdb9efff] (589824 bytes)
    [ 0.105175] RTC time: 9:58:53, date: 01/27/14
    [ 0.105175] NET: Registered protocol family 16
    [ 0.105175] cpuidle: using governor ladder
    [ 0.105175] cpuidle: using governor menu
    [ 0.105175] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it
    [ 0.105175] ACPI: bus type PCI registered
    [ 0.105175] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
    [ 0.105175] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xe0000000-0xe3ffffff] (base 0xe0000000)
    [ 0.105175] PCI: MMCONFIG at [mem 0xe0000000-0xe3ffffff] reserved in E820
    [ 0.110884] PCI: Using configuration type 1 for base access
    [ 0.111004] mtrr: your CPUs had inconsistent variable MTRR settings
    [ 0.111005] mtrr: probably your BIOS does not setup all CPUs.
    [ 0.111006] mtrr: corrected configuration.
    [ 0.113386] bio: create slab <bio-0> at 0
    [ 0.113399] ACPI: Added _OSI(Module Device)
    [ 0.113399] ACPI: Added _OSI(Processor Device)
    [ 0.113399] ACPI: Added _OSI(3.0 _SCP Extensions)
    [ 0.113399] ACPI: Added _OSI(Processor Aggregator Device)
    [ 0.113399] ACPI: Added _OSI(Linux)
    [ 0.114883] ACPI: EC: EC description table is found, configuring boot EC
    [ 0.120617] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query honored via DMI
    [ 0.136948] ACPI: SSDT 00000000bd8d7c20 002C8 (v01 PmRef Cpu0Ist 00003000 INTL 20050624)
    [ 0.137309] ACPI: Dynamic OEM Table Load:
    [ 0.137311] ACPI: SSDT (null) 002C8 (v01 PmRef Cpu0Ist 00003000 INTL 20050624)
    [ 0.137428] ACPI: SSDT 00000000bd8d5020 0087A (v01 PmRef Cpu0Cst 00003001 INTL 20050624)
    [ 0.137809] ACPI: Dynamic OEM Table Load:
    [ 0.137811] ACPI: SSDT (null) 0087A (v01 PmRef Cpu0Cst 00003001 INTL 20050624)
    [ 0.156862] ACPI: SSDT 00000000bd8d6ca0 001CF (v01 PmRef ApIst 00003000 INTL 20050624)
    [ 0.157236] ACPI: Dynamic OEM Table Load:
    [ 0.157238] ACPI: SSDT (null) 001CF (v01 PmRef ApIst 00003000 INTL 20050624)
    [ 0.163404] ACPI: SSDT 00000000bd8d6f20 0008D (v01 PmRef ApCst 00003000 INTL 20050624)
    [ 0.166956] ACPI: Dynamic OEM Table Load:
    [ 0.166958] ACPI: SSDT (null) 0008D (v01 PmRef ApCst 00003000 INTL 20050624)
    [ 0.176786] ACPI: Interpreter enabled
    [ 0.176792] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S1_] (20130725/hwxface-571)
    [ 0.176796] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20130725/hwxface-571)
    [ 0.176808] ACPI: (supports S0 S3 S4 S5)
    [ 0.176810] ACPI: Using IOAPIC for interrupt routing
    [ 0.176832] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
    [ 0.180490] ACPI: ACPI Dock Station Driver: 3 docks/bays found
    [ 0.200183] ACPI: Power Resource [PUBS] (on)
    [ 0.204053] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 9 10 *11)
    [ 0.204145] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 9 10 *11)
    [ 0.204234] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 9 10 *11)
    [ 0.204323] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 9 10 *11)
    [ 0.204413] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 9 10 *11)
    [ 0.204501] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 9 10 *11)
    [ 0.204593] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 9 10 *11)
    [ 0.204682] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 9 10 *11)
    [ 0.204732] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
    [ 0.204914] acpi PNP0A08:00: Requesting ACPI _OSC control (0x1d)
    [ 0.205251] acpi PNP0A08:00: ACPI _OSC control (0x1d) granted
    [ 0.205280] acpi PNP0A08:00: [Firmware Info]: MMCONFIG for domain 0000 [bus 00-3f] only partially covers this bridge
    [ 0.205450] PCI host bridge to bus 0000:00
    [ 0.205453] pci_bus 0000:00: root bus resource [bus 00-ff]
    [ 0.205455] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7]
    [ 0.205457] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff]
    [ 0.205459] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff]
    [ 0.205461] pci_bus 0000:00: root bus resource [mem 0x000d4000-0x000d7fff]
    [ 0.205462] pci_bus 0000:00: root bus resource [mem 0x000d8000-0x000dbfff]
    [ 0.205464] pci_bus 0000:00: root bus resource [mem 0x000dc000-0x000dffff]
    [ 0.205466] pci_bus 0000:00: root bus resource [mem 0xc0000000-0xfebfffff]
    [ 0.205474] pci 0000:00:00.0: [8086:2a40] type 00 class 0x060000
    [ 0.205493] DMAR: Forcing write-buffer flush capability
    [ 0.205494] DMAR: Disabling IOMMU for graphics on this chipset
    [ 0.205570] pci 0000:00:02.0: [8086:2a42] type 00 class 0x030000
    [ 0.205582] pci 0000:00:02.0: reg 0x10: [mem 0xfa000000-0xfa3fffff 64bit]
    [ 0.205589] pci 0000:00:02.0: reg 0x18: [mem 0xd0000000-0xdfffffff 64bit pref]
    [ 0.205594] pci 0000:00:02.0: reg 0x20: [io 0x1800-0x1807]
    [ 0.205673] pci 0000:00:02.1: [8086:2a43] type 00 class 0x038000
    [ 0.205683] pci 0000:00:02.1: reg 0x10: [mem 0xf4100000-0xf41fffff 64bit]
    [ 0.205773] pci 0000:00:03.0: [8086:2a44] type 00 class 0x078000
    [ 0.205788] pci 0000:00:03.0: reg 0x10: [mem 0xfa626800-0xfa62680f 64bit]
    [ 0.205837] pci 0000:00:03.0: PME# supported from D0 D3hot D3cold
    [ 0.205906] pci 0000:00:03.2: [8086:2a46] type 00 class 0x010185
    [ 0.205919] pci 0000:00:03.2: reg 0x10: [io 0x1828-0x182f]
    [ 0.205926] pci 0000:00:03.2: reg 0x14: [io 0x180c-0x180f]
    [ 0.205932] pci 0000:00:03.2: reg 0x18: [io 0x1820-0x1827]
    [ 0.205939] pci 0000:00:03.2: reg 0x1c: [io 0x1808-0x180b]
    [ 0.205945] pci 0000:00:03.2: reg 0x20: [io 0x1810-0x181f]
    [ 0.206039] pci 0000:00:03.3: [8086:2a47] type 00 class 0x070002
    [ 0.206052] pci 0000:00:03.3: reg 0x10: [io 0x1830-0x1837]
    [ 0.206059] pci 0000:00:03.3: reg 0x14: [mem 0xfa424000-0xfa424fff]
    [ 0.206206] pci 0000:00:19.0: [8086:10f5] type 00 class 0x020000
    [ 0.206230] pci 0000:00:19.0: reg 0x10: [mem 0xfa400000-0xfa41ffff]
    [ 0.206241] pci 0000:00:19.0: reg 0x14: [mem 0xfa425000-0xfa425fff]
    [ 0.206252] pci 0000:00:19.0: reg 0x18: [io 0x1840-0x185f]
    [ 0.206338] pci 0000:00:19.0: PME# supported from D0 D3hot D3cold
    [ 0.206385] pci 0000:00:19.0: System wakeup disabled by ACPI
    [ 0.206423] pci 0000:00:1a.0: [8086:2937] type 00 class 0x0c0300
    [ 0.206478] pci 0000:00:1a.0: reg 0x20: [io 0x1860-0x187f]
    [ 0.206577] pci 0000:00:1a.0: System wakeup disabled by ACPI
    [ 0.206692] pci 0000:00:1a.1: [8086:2938] type 00 class 0x0c0300
    [ 0.206747] pci 0000:00:1a.1: reg 0x20: [io 0x1880-0x189f]
    [ 0.206860] pci 0000:00:1a.2: [8086:2939] type 00 class 0x0c0300
    [ 0.206915] pci 0000:00:1a.2: reg 0x20: [io 0x18a0-0x18bf]
    [ 0.207011] pci 0000:00:1a.2: System wakeup disabled by ACPI
    [ 0.207061] pci 0000:00:1a.7: [8086:293c] type 00 class 0x0c0320
    [ 0.207086] pci 0000:00:1a.7: reg 0x10: [mem 0xfa626c00-0xfa626fff]
    [ 0.207194] pci 0000:00:1a.7: PME# supported from D0 D3hot D3cold
    [ 0.207238] pci 0000:00:1a.7: System wakeup disabled by ACPI
    [ 0.207283] pci 0000:00:1b.0: [8086:293e] type 00 class 0x040300
    [ 0.207303] pci 0000:00:1b.0: reg 0x10: [mem 0xfa420000-0xfa423fff 64bit]
    [ 0.207398] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold
    [ 0.207451] pci 0000:00:1b.0: System wakeup disabled by ACPI
    [ 0.207492] pci 0000:00:1c.0: [8086:2940] type 01 class 0x060400
    [ 0.207592] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
    [ 0.207640] pci 0000:00:1c.0: System wakeup disabled by ACPI
    [ 0.207679] pci 0000:00:1c.1: [8086:2942] type 01 class 0x060400
    [ 0.207778] pci 0000:00:1c.1: PME# supported from D0 D3hot D3cold
    [ 0.207826] pci 0000:00:1c.1: System wakeup disabled by ACPI
    [ 0.207874] pci 0000:00:1d.0: [8086:2934] type 00 class 0x0c0300
    [ 0.207929] pci 0000:00:1d.0: reg 0x20: [io 0x18c0-0x18df]
    [ 0.208024] pci 0000:00:1d.0: System wakeup disabled by ACPI
    [ 0.208063] pci 0000:00:1d.1: [8086:2935] type 00 class 0x0c0300
    [ 0.208118] pci 0000:00:1d.1: reg 0x20: [io 0x18e0-0x18ff]
    [ 0.208231] pci 0000:00:1d.2: [8086:2936] type 00 class 0x0c0300
    [ 0.208286] pci 0000:00:1d.2: reg 0x20: [io 0x1c00-0x1c1f]
    [ 0.208410] pci 0000:00:1d.7: [8086:293a] type 00 class 0x0c0320
    [ 0.208436] pci 0000:00:1d.7: reg 0x10: [mem 0xfa627000-0xfa6273ff]
    [ 0.208543] pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold
    [ 0.208588] pci 0000:00:1d.7: System wakeup disabled by ACPI
    [ 0.208629] pci 0000:00:1e.0: [8086:2448] type 01 class 0x060401
    [ 0.208735] pci 0000:00:1e.0: System wakeup disabled by ACPI
    [ 0.208776] pci 0000:00:1f.0: [8086:2917] type 00 class 0x060100
    [ 0.208987] pci 0000:00:1f.2: [8086:2929] type 00 class 0x010601
    [ 0.209014] pci 0000:00:1f.2: reg 0x10: [io 0x1c48-0x1c4f]
    [ 0.209025] pci 0000:00:1f.2: reg 0x14: [io 0x183c-0x183f]
    [ 0.209036] pci 0000:00:1f.2: reg 0x18: [io 0x1c40-0x1c47]
    [ 0.209047] pci 0000:00:1f.2: reg 0x1c: [io 0x1838-0x183b]
    [ 0.209057] pci 0000:00:1f.2: reg 0x20: [io 0x1c20-0x1c3f]
    [ 0.209068] pci 0000:00:1f.2: reg 0x24: [mem 0xfa626000-0xfa6267ff]
    [ 0.209136] pci 0000:00:1f.2: PME# supported from D3hot
    [ 0.209212] pci 0000:00:1f.3: [8086:2930] type 00 class 0x0c0500
    [ 0.209233] pci 0000:00:1f.3: reg 0x10: [mem 0xfa627400-0xfa6274ff 64bit]
    [ 0.209262] pci 0000:00:1f.3: reg 0x20: [io 0x1c60-0x1c7f]
    [ 0.209416] pci 0000:00:1c.0: PCI bridge to [bus 02]
    [ 0.209529] pci 0000:03:00.0: [8086:4237] type 00 class 0x028000
    [ 0.209568] pci 0000:03:00.0: reg 0x10: [mem 0xf4200000-0xf4201fff 64bit]
    [ 0.209761] pci 0000:03:00.0: PME# supported from D0 D3hot D3cold
    [ 0.216689] pci 0000:00:1c.1: PCI bridge to [bus 03]
    [ 0.216696] pci 0000:00:1c.1: bridge window [mem 0xf4200000-0xf42fffff]
    [ 0.216780] pci 0000:15:00.0: [1180:0476] type 02 class 0x060700
    [ 0.216803] pci 0000:15:00.0: proprietary Ricoh MMC controller disabled (via cardbus function)
    [ 0.216805] pci 0000:15:00.0: MMC cards are now supported by standard SDHCI controller
    [ 0.216823] pci 0000:15:00.0: reg 0x10: [mem 0xf4300000-0xf4300fff]
    [ 0.216864] pci 0000:15:00.0: supports D1 D2
    [ 0.216866] pci 0000:15:00.0: PME# supported from D0 D1 D2 D3hot D3cold
    [ 0.216927] pci 0000:15:00.2: [1180:0822] type 00 class 0x080500
    [ 0.216953] pci 0000:15:00.2: reg 0x10: [mem 0xf4301000-0xf43010ff]
    [ 0.217066] pci 0000:15:00.2: supports D1 D2
    [ 0.217068] pci 0000:15:00.2: PME# supported from D0 D1 D2 D3hot D3cold
    [ 0.217125] pci 0000:15:00.4: [1180:0592] type 00 class 0x088000
    [ 0.217150] pci 0000:15:00.4: reg 0x10: [mem 0xf4301800-0xf43018ff]
    [ 0.217263] pci 0000:15:00.4: supports D1 D2
    [ 0.217265] pci 0000:15:00.4: PME# supported from D0 D1 D2 D3hot D3cold
    [ 0.217322] pci 0000:15:00.5: [1180:0852] type 00 class 0x088000
    [ 0.217347] pci 0000:15:00.5: reg 0x10: [mem 0xf4301c00-0xf4301cff]
    [ 0.217460] pci 0000:15:00.5: supports D1 D2
    [ 0.217462] pci 0000:15:00.5: PME# supported from D0 D1 D2 D3hot D3cold
    [ 0.217564] pci 0000:00:1e.0: PCI bridge to [bus 15-18] (subtractive decode)
    [ 0.217569] pci 0000:00:1e.0: bridge window [io 0x3000-0x6fff]
    [ 0.217574] pci 0000:00:1e.0: bridge window [mem 0xf4300000-0xf7ffffff]
    [ 0.217581] pci 0000:00:1e.0: bridge window [mem 0xf0000000-0xf3ffffff 64bit pref]
    [ 0.217583] pci 0000:00:1e.0: bridge window [io 0x0000-0x0cf7] (subtractive decode)
    [ 0.217585] pci 0000:00:1e.0: bridge window [io 0x0d00-0xffff] (subtractive decode)
    [ 0.217586] pci 0000:00:1e.0: bridge window [mem 0x000a0000-0x000bffff] (subtractive decode)
    [ 0.217588] pci 0000:00:1e.0: bridge window [mem 0x000d4000-0x000d7fff] (subtractive decode)
    [ 0.217590] pci 0000:00:1e.0: bridge window [mem 0x000d8000-0x000dbfff] (subtractive decode)
    [ 0.217592] pci 0000:00:1e.0: bridge window [mem 0x000dc000-0x000dffff] (subtractive decode)
    [ 0.217593] pci 0000:00:1e.0: bridge window [mem 0xc0000000-0xfebfffff] (subtractive decode)
    [ 0.217653] pci_bus 0000:16: busn_res: can not insert [bus 16-ff] under [bus 15-18] (conflicts with (null) [bus 15-18])
    [ 0.217657] pci_bus 0000:16: busn_res: [bus 16-ff] end is updated to 17
    [ 0.217685] acpi PNP0A08:00: Disabling ASPM (FADT indicates it is unsupported)
    [ 0.223809] ACPI: Enabled 3 GPEs in block 00 to 3F
    [ 0.223820] ACPI: \_SB_.PCI0: notify handler is installed
    [ 0.223857] Found 1 acpi root devices
    [ 0.223922] ACPI: EC: GPE = 0x11, I/O: command/status = 0x66, data = 0x62
    [ 0.223986] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
    [ 0.223986] vgaarb: loaded
    [ 0.223986] vgaarb: bridge control possible 0000:00:02.0
    [ 0.223986] PCI: Using ACPI for IRQ routing
    [ 0.227502] PCI: pci_cache_line_size set to 64 bytes
    [ 0.227586] e820: reserve RAM buffer [mem 0x0009ec00-0x0009ffff]
    [ 0.227588] e820: reserve RAM buffer [mem 0xbd6a1000-0xbfffffff]
    [ 0.227590] e820: reserve RAM buffer [mem 0xbd7b7000-0xbfffffff]
    [ 0.227592] e820: reserve RAM buffer [mem 0xbd8c7000-0xbfffffff]
    [ 0.227594] e820: reserve RAM buffer [mem 0xbdc00000-0xbfffffff]
    [ 0.227685] NetLabel: Initializing
    [ 0.227687] NetLabel: domain hash size = 128
    [ 0.227688] NetLabel: protocols = UNLABELED CIPSOv4
    [ 0.227700] NetLabel: unlabeled traffic allowed by default
    [ 0.227715] HPET: 4 timers in total, 0 timers will be used for per-cpu timer
    [ 0.227720] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0
    [ 0.227724] hpet0: 4 comparators, 64-bit 14.318180 MHz counter
    [ 0.229742] Switched to clocksource hpet
    [ 0.232362] pnp: PnP ACPI init
    [ 0.232379] ACPI: bus type PNP registered
    [ 0.252696] system 00:00: [mem 0x00000000-0x0009ffff] could not be reserved
    [ 0.252699] system 00:00: [mem 0x000c0000-0x000c3fff] could not be reserved
    [ 0.252701] system 00:00: [mem 0x000c4000-0x000c7fff] could not be reserved
    [ 0.252703] system 00:00: [mem 0x000c8000-0x000cbfff] has been reserved
    [ 0.252705] system 00:00: [mem 0x000cc000-0x000cffff] has been reserved
    [ 0.252707] system 00:00: [mem 0x000d0000-0x000d3fff] could not be reserved
    [ 0.252709] system 00:00: [mem 0x000e0000-0x000e3fff] could not be reserved
    [ 0.252711] system 00:00: [mem 0x000e4000-0x000e7fff] could not be reserved
    [ 0.252713] system 00:00: [mem 0x000e8000-0x000ebfff] could not be reserved
    [ 0.252715] system 00:00: [mem 0x000ec000-0x000effff] could not be reserved
    [ 0.252716] system 00:00: [mem 0x000f0000-0x000fffff] could not be reserved
    [ 0.252718] system 00:00: [mem 0x00100000-0xbfffffff] could not be reserved
    [ 0.252721] system 00:00: [mem 0xfec00000-0xfed3ffff] could not be reserved
    [ 0.252723] system 00:00: [mem 0xfed4c000-0xffffffff] could not be reserved
    [ 0.252727] system 00:00: Plug and Play ACPI device, IDs PNP0c01 (active)
    [ 0.272659] system 00:01: [io 0x1000-0x107f] could not be reserved
    [ 0.272661] system 00:01: [io 0x1180-0x11ff] has been reserved
    [ 0.272664] system 00:01: [io 0x0800-0x080f] has been reserved
    [ 0.272666] system 00:01: [io 0x15e0-0x15ef] has been reserved
    [ 0.272667] system 00:01: [io 0x1600-0x167f] has been reserved
    [ 0.272669] system 00:01: [io 0x1680-0x169f] has been reserved
    [ 0.272672] system 00:01: [mem 0xe0000000-0xefffffff] has been reserved
    [ 0.272674] system 00:01: [mem 0xfed1c000-0xfed1ffff] has been reserved
    [ 0.272676] system 00:01: [mem 0xfed10000-0xfed13fff] has been reserved
    [ 0.272678] system 00:01: [mem 0xfed18000-0xfed18fff] has been reserved
    [ 0.272680] system 00:01: [mem 0xfed19000-0xfed19fff] has been reserved
    [ 0.272682] system 00:01: [mem 0xfed45000-0xfed4bfff] has been reserved
    [ 0.272684] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active)
    [ 0.272739] pnp 00:02: Plug and Play ACPI device, IDs PNP0103 (active)
    [ 0.272748] pnp 00:03: [dma 4]
    [ 0.272766] pnp 00:03: Plug and Play ACPI device, IDs PNP0200 (active)
    [ 0.272792] pnp 00:04: Plug and Play ACPI device, IDs PNP0800 (active)
    [ 0.272830] pnp 00:05: Plug and Play ACPI device, IDs PNP0c04 (active)
    [ 0.272861] pnp 00:06: Plug and Play ACPI device, IDs PNP0b00 (active)
    [ 0.272892] pnp 00:07: Plug and Play ACPI device, IDs PNP0303 (active)
    [ 0.272921] pnp 00:08: Plug and Play ACPI device, IDs IBM0057 PNP0f13 (active)
    [ 0.292844] pnp 00:09: Plug and Play ACPI device, IDs PNP0c31 (active)
    [ 0.293234] pnp: PnP ACPI: found 10 devices
    [ 0.293236] ACPI: bus type PNP unregistered
    [ 0.300009] pci 0000:00:1c.0: bridge window [io 0x1000-0x0fff] to [bus 02] add_size 1000
    [ 0.300014] pci 0000:00:1c.0: bridge window [mem 0x00100000-0x000fffff 64bit pref] to [bus 02] add_size 200000
    [ 0.300016] pci 0000:00:1c.0: bridge window [mem 0x00100000-0x000fffff] to [bus 02] add_size 200000
    [ 0.300026] pci 0000:00:1c.1: bridge window [io 0x1000-0x0fff] to [bus 03] add_size 1000
    [ 0.300029] pci 0000:00:1c.1: bridge window [mem 0x00100000-0x000fffff 64bit pref] to [bus 03] add_size 200000
    [ 0.300052] pci 0000:00:1c.0: res[14]=[mem 0x00100000-0x000fffff] get_res_add_size add_size 200000
    [ 0.300054] pci 0000:00:1c.0: res[15]=[mem 0x00100000-0x000fffff 64bit pref] get_res_add_size add_size 200000
    [ 0.300056] pci 0000:00:1c.1: res[15]=[mem 0x00100000-0x000fffff 64bit pref] get_res_add_size add_size 200000
    [ 0.300058] pci 0000:00:1c.0: res[13]=[io 0x1000-0x0fff] get_res_add_size add_size 1000
    [ 0.300060] pci 0000:00:1c.1: res[13]=[io 0x1000-0x0fff] get_res_add_size add_size 1000
    [ 0.300065] pci 0000:00:1c.0: BAR 14: assigned [mem 0xc0000000-0xc01fffff]
    [ 0.300068] pci 0000:00:1c.0: BAR 15: assigned [mem 0xc0200000-0xc03fffff 64bit pref]
    [ 0.300071] pci 0000:00:1c.1: BAR 15: assigned [mem 0xc0400000-0xc05fffff 64bit pref]
    [ 0.300074] pci 0000:00:1c.0: BAR 13: assigned [io 0x2000-0x2fff]
    [ 0.300076] pci 0000:00:1c.1: BAR 13: assigned [io 0x7000-0x7fff]
    [ 0.300079] pci 0000:00:1c.0: PCI bridge to [bus 02]
    [ 0.300083] pci 0000:00:1c.0: bridge window [io 0x2000-0x2fff]
    [ 0.300088] pci 0000:00:1c.0: bridge window [mem 0xc0000000-0xc01fffff]
    [ 0.300093] pci 0000:00:1c.0: bridge window [mem 0xc0200000-0xc03fffff 64bit pref]
    [ 0.300100] pci 0000:00:1c.1: PCI bridge to [bus 03]
    [ 0.300103] pci 0000:00:1c.1: bridge window [io 0x7000-0x7fff]
    [ 0.300108] pci 0000:00:1c.1: bridge window [mem 0xf4200000-0xf42fffff]
    [ 0.300112] pci 0000:00:1c.1: bridge window [mem 0xc0400000-0xc05fffff 64bit pref]
    [ 0.300121] pci 0000:15:00.0: res[15]=[mem 0x04000000-0x03ffffff pref] get_res_add_size add_size 4000000
    [ 0.300123] pci 0000:15:00.0: res[16]=[mem 0x04000000-0x03ffffff] get_res_add_size add_size 4000000
    [ 0.300125] pci 0000:15:00.0: res[13]=[io 0x0100-0x00ff] get_res_add_size add_size 100
    [ 0.300127] pci 0000:15:00.0: res[14]=[io 0x0100-0x00ff] get_res_add_size add_size 100
    [ 0.300129] pci 0000:15:00.0: BAR 15: assigned [mem 0xf0000000-0xf3ffffff pref]
    [ 0.300133] pci 0000:15:00.0: BAR 16: assigned [mem 0xc4000000-0xc7ffffff]
    [ 0.300135] pci 0000:15:00.0: BAR 13: assigned [io 0x3000-0x30ff]
    [ 0.300137] pci 0000:15:00.0: BAR 14: assigned [io 0x3400-0x34ff]
    [ 0.300139] pci 0000:15:00.0: CardBus bridge to [bus 16-17]
    [ 0.300140] pci 0000:15:00.0: bridge window [io 0x3000-0x30ff]
    [ 0.300146] pci 0000:15:00.0: bridge window [io 0x3400-0x34ff]
    [ 0.300151] pci 0000:15:00.0: bridge window [mem 0xf0000000-0xf3ffffff pref]
    [ 0.300156] pci 0000:15:00.0: bridge window [mem 0xc4000000-0xc7ffffff]
    [ 0.300162] pci 0000:00:1e.0: PCI bridge to [bus 15-18]
    [ 0.300165] pci 0000:00:1e.0: bridge window [io 0x3000-0x6fff]
    [ 0.300170] pci 0000:00:1e.0: bridge window [mem 0xf4300000-0xf7ffffff]
    [ 0.300174] pci 0000:00:1e.0: bridge window [mem 0xf0000000-0xf3ffffff 64bit pref]
    [ 0.300182] pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7]
    [ 0.300184] pci_bus 0000:00: resource 5 [io 0x0d00-0xffff]
    [ 0.300186] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
    [ 0.300187] pci_bus 0000:00: resource 7 [mem 0x000d4000-0x000d7fff]
    [ 0.300189] pci_bus 0000:00: resource 8 [mem 0x000d8000-0x000dbfff]
    [ 0.300191] pci_bus 0000:00: resource 9 [mem 0x000dc000-0x000dffff]
    [ 0.300192] pci_bus 0000:00: resource 10 [mem 0xc0000000-0xfebfffff]
    [ 0.300195] pci_bus 0000:02: resource 0 [io 0x2000-0x2fff]
    [ 0.300196] pci_bus 0000:02: resource 1 [mem 0xc0000000-0xc01fffff]
    [ 0.300198] pci_bus 0000:02: resource 2 [mem 0xc0200000-0xc03fffff 64bit pref]
    [ 0.300200] pci_bus 0000:03: resource 0 [io 0x7000-0x7fff]
    [ 0.300202] pci_bus 0000:03: resource 1 [mem 0xf4200000-0xf42fffff]
    [ 0.300203] pci_bus 0000:03: resource 2 [mem 0xc0400000-0xc05fffff 64bit pref]
    [ 0.300205] pci_bus 0000:15: resource 0 [io 0x3000-0x6fff]
    [ 0.300207] pci_bus 0000:15: resource 1 [mem 0xf4300000-0xf7ffffff]
    [ 0.300209] pci_bus 0000:15: resource 2 [mem 0xf0000000-0xf3ffffff 64bit pref]
    [ 0.300211] pci_bus 0000:15: resource 4 [io 0x0000-0x0cf7]
    [ 0.300212] pci_bus 0000:15: resource 5 [io 0x0d00-0xffff]
    [ 0.300214] pci_bus 0000:15: resource 6 [mem 0x000a0000-0x000bffff]
    [ 0.300216] pci_bus 0000:15: resource 7 [mem 0x000d4000-0x000d7fff]
    [ 0.300217] pci_bus 0000:15: resource 8 [mem 0x000d8000-0x000dbfff]
    [ 0.300219] pci_bus 0000:15: resource 9 [mem 0x000dc000-0x000dffff]
    [ 0.300221] pci_bus 0000:15: resource 10 [mem 0xc0000000-0xfebfffff]
    [ 0.300223] pci_bus 0000:16: resource 0 [io 0x3000-0x30ff]
    [ 0.300224] pci_bus 0000:16: resource 1 [io 0x3400-0x34ff]
    [ 0.300226] pci_bus 0000:16: resource 2 [mem 0xf0000000-0xf3ffffff pref]
    [ 0.300228] pci_bus 0000:16: resource 3 [mem 0xc4000000-0xc7ffffff]
    [ 0.300265] NET: Registered protocol family 2
    [ 0.300457] TCP established hash table entries: 32768 (order: 7, 524288 bytes)
    [ 0.300690] TCP bind hash table entries: 32768 (order: 7, 524288 bytes)
    [ 0.300878] TCP: Hash tables configured (established 32768 bind 32768)
    [ 0.300932] TCP: reno registered
    [ 0.300940] UDP hash table entries: 2048 (order: 4, 65536 bytes)
    [ 0.300970] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes)
    [ 0.301053] NET: Registered protocol family 1
    [ 0.301066] pci 0000:00:02.0: Boot video device
    [ 0.301991] PCI: CLS 64 bytes, default 64
    [ 0.302031] Unpacking initramfs...
    [ 0.363199] Freeing initrd memory: 3248K (ffff880037998000 - ffff880037cc4000)
    [ 0.363208] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
    [ 0.363210] software IO TLB [mem 0xb96a1000-0xbd6a1000] (64MB) mapped at [ffff8800b96a1000-ffff8800bd6a0fff]
    [ 0.363238] Simple Boot Flag at 0x35 set to 0x1
    [ 0.363417] Scanning for low memory corruption every 60 seconds
    [ 0.363745] audit: initializing netlink socket (disabled)
    [ 0.363761] type=2000 audit(1390816732.363:1): initialized
    [ 0.376055] HugeTLB registered 2 MB page size, pre-allocated 0 pages
    [ 0.377555] zbud: loaded
    [ 0.377716] VFS: Disk quotas dquot_6.5.2
    [ 0.377758] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
    [ 0.377933] msgmni has been set to 7703
    [ 0.378225] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
    [ 0.378261] io scheduler noop registered
    [ 0.378263] io scheduler deadline registered
    [ 0.378292] io scheduler cfq registered (default)
    [ 0.378503] pcieport 0000:00:1c.0: irq 40 for MSI/MSI-X
    [ 0.378668] pcieport 0000:00:1c.1: irq 41 for MSI/MSI-X
    [ 0.378786] pcieport 0000:00:1c.0: Signaling PME through PCIe PME interrupt
    [ 0.378791] pcie_pme 0000:00:1c.0:pcie01: service driver pcie_pme loaded
    [ 0.378813] pcieport 0000:00:1c.1: Signaling PME through PCIe PME interrupt
    [ 0.378816] pci 0000:03:00.0: Signaling PME through PCIe PME interrupt
    [ 0.378820] pcie_pme 0000:00:1c.1:pcie01: service driver pcie_pme loaded
    [ 0.378834] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
    [ 0.378869] pciehp 0000:00:1c.0:pcie04: HPC vendor_id 8086 device_id 2940 ss_vid 17aa ss_did 20f3
    [ 0.378898] pciehp 0000:00:1c.0:pcie04: service driver pciehp loaded
    [ 0.378910] pciehp 0000:00:1c.1:pcie04: HPC vendor_id 8086 device_id 2942 ss_vid 17aa ss_did 20f3
    [ 0.378934] pciehp 0000:00:1c.1:pcie04: service driver pciehp loaded
    [ 0.378939] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
    [ 0.378995] vesafb: mode is 1024x768x32, linelength=4096, pages=0
    [ 0.378997] vesafb: scrolling: redraw
    [ 0.378999] vesafb: Truecolor: size=8:8:8:8, shift=24:16:8:0
    [ 0.379450] vesafb: framebuffer at 0xd0000000, mapped to 0xffffc90004800000, using 3072k, total 3072k
    [ 0.403394] Console: switching to colour frame buffer device 128x48
    [ 0.427226] fb0: VESA VGA frame buffer device
    [ 0.427238] intel_idle: does not run on family 6 model 23
    [ 0.427277] GHES: HEST is not enabled!
    [ 0.427334] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
    [ 0.448019] 0000:00:03.3: ttyS0 at I/O 0x1830 (irq = 17, base_baud = 115200) is a 16550A
    [ 0.448162] Linux agpgart interface v0.103
    [ 0.448228] i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12
    [ 0.456045] serio: i8042 KBD port at 0x60,0x64 irq 1
    [ 0.456072] serio: i8042 AUX port at 0x60,0x64 irq 12
    [ 0.456170] mousedev: PS/2 mouse device common for all mice
    [ 0.456238] rtc_cmos 00:06: RTC can wake from S4
    [ 0.456379] rtc_cmos 00:06: rtc core: registered rtc_cmos as rtc0
    [ 0.456408] rtc_cmos 00:06: alarms up to one month, y3k, 114 bytes nvram, hpet irqs
    [ 0.456472] drop_monitor: Initializing network drop monitor service
    [ 0.456534] TCP: cubic registered
    [ 0.456631] NET: Registered protocol family 10
    [ 0.456816] NET: Registered protocol family 17
    [ 0.456828] Key type dns_resolver registered
    [ 0.457049] registered taskstats version 1
    [ 0.457713] Magic number: 14:393:981
    [ 0.457799] rtc_cmos 00:06: setting system clock to 2014-01-27 09:58:53 UTC (1390816733)
    [ 0.457879] PM: Hibernation image not present or could not be loaded.
    [ 0.459170] Freeing unused kernel memory: 1144K (ffffffff818cb000 - ffffffff819e9000)
    [ 0.459172] Write protecting the kernel read-only data: 8192k
    [ 0.461316] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
    [ 0.462040] Freeing unused kernel memory: 1012K (ffff880001503000 - ffff880001600000)
    [ 0.463192] Freeing unused kernel memory: 420K (ffff880001797000 - ffff880001800000)
    [ 0.472217] systemd-udevd[47]: starting version 208
    [ 0.495432] ACPI: bus type USB registered
    [ 0.495458] usbcore: registered new interface driver usbfs
    [ 0.495469] usbcore: registered new interface driver hub
    [ 0.495512] usbcore: registered new device driver usb
    [ 0.495844] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [ 0.496041] uhci_hcd: USB Universal Host Controller Interface driver
    [ 0.496152] uhci_hcd 0000:00:1a.0: setting latency timer to 64
    [ 0.496156] uhci_hcd 0000:00:1a.0: UHCI Host Controller
    [ 0.496161] uhci_hcd 0000:00:1a.0: new USB bus registered, assigned bus number 1
    [ 0.496201] uhci_hcd 0000:00:1a.0: irq 20, io base 0x00001860
    [ 0.496371] hub 1-0:1.0: USB hub found
    [ 0.496380] hub 1-0:1.0: 2 ports detected
    [ 0.496558] uhci_hcd 0000:00:1a.1: setting latency timer to 64
    [ 0.496562] uhci_hcd 0000:00:1a.1: UHCI Host Controller
    [ 0.496567] uhci_hcd 0000:00:1a.1: new USB bus registered, assigned bus number 2
    [ 0.496602] uhci_hcd 0000:00:1a.1: irq 21, io base 0x00001880
    [ 0.496771] hub 2-0:1.0: USB hub found
    [ 0.496779] hub 2-0:1.0: 2 ports detected
    [ 0.496929] uhci_hcd 0000:00:1a.2: setting latency timer to 64
    [ 0.496932] uhci_hcd 0000:00:1a.2: UHCI Host Controller
    [ 0.496947] uhci_hcd 0000:00:1a.2: new USB bus registered, assigned bus number 3
    [ 0.496967] SCSI subsystem initialized
    [ 0.496986] uhci_hcd 0000:00:1a.2: irq 22, io base 0x000018a0
    [ 0.497128] hub 3-0:1.0: USB hub found
    [ 0.497136] hub 3-0:1.0: 2 ports detected
    [ 0.497306] uhci_hcd 0000:00:1d.0: setting latency timer to 64
    [ 0.497310] uhci_hcd 0000:00:1d.0: UHCI Host Controller
    [ 0.497315] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 4
    [ 0.497350] uhci_hcd 0000:00:1d.0: irq 16, io base 0x000018c0
    [ 0.497482] hub 4-0:1.0: USB hub found
    [ 0.497488] hub 4-0:1.0: 2 ports detected
    [ 0.497640] uhci_hcd 0000:00:1d.1: setting latency timer to 64
    [ 0.497643] uhci_hcd 0000:00:1d.1: UHCI Host Controller
    [ 0.497648] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 5
    [ 0.497684] uhci_hcd 0000:00:1d.1: irq 17, io base 0x000018e0
    [ 0.497810] hub 5-0:1.0: USB hub found
    [ 0.497817] hub 5-0:1.0: 2 ports detected
    [ 0.497957] uhci_hcd 0000:00:1d.2: setting latency timer to 64
    [ 0.497960] uhci_hcd 0000:00:1d.2: UHCI Host Controller
    [ 0.497965] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 6
    [ 0.498003] uhci_hcd 0000:00:1d.2: irq 18, io base 0x00001c00
    [ 0.498556] hub 6-0:1.0: USB hub found
    [ 0.498564] hub 6-0:1.0: 2 ports detected
    [ 0.498723] libata version 3.00 loaded.
    [ 0.499070] pata_acpi 0000:00:03.2: setting latency timer to 64
    [ 0.499364] ata_generic 0000:00:03.2: setting latency timer to 64
    [ 0.499867] ehci-pci: EHCI PCI platform driver
    [ 0.500825] scsi0 : ata_generic
    [ 0.500976] scsi1 : ata_generic
    [ 0.501017] ata1: PATA max UDMA/100 cmd 0x1828 ctl 0x180c bmdma 0x1810 irq 18
    [ 0.501019] ata2: PATA max UDMA/100 cmd 0x1820 ctl 0x1808 bmdma 0x1818 irq 18
    [ 0.501120] ehci-pci 0000:00:1a.7: setting latency timer to 64
    [ 0.501420] ehci-pci 0000:00:1a.7: EHCI Host Controller
    [ 0.501427] ehci-pci 0000:00:1a.7: new USB bus registered, assigned bus number 7
    [ 0.501441] ehci-pci 0000:00:1a.7: debug port 1
    [ 0.505335] ehci-pci 0000:00:1a.7: cache line size of 64 is not supported
    [ 0.505357] ehci-pci 0000:00:1a.7: irq 23, io mem 0xfa626c00
    [ 0.505888] sdhci: Secure Digital Host Controller Interface driver
    [ 0.505890] sdhci: Copyright(c) Pierre Ossman
    [ 0.506101] sdhci-pci 0000:15:00.2: SDHCI controller found [1180:0822] (rev 21)
    [ 0.506120] pci 0000:00:1e.0: setting latency timer to 64
    [ 0.507472] sdhci-pci 0000:15:00.2: Will use DMA mode even though HW doesn't fully claim to support it.
    [ 0.508483] sdhci-pci 0000:15:00.2: Will use DMA mode even though HW doesn't fully claim to support it.
    [ 0.508545] mmc0: SDHCI controller on PCI [0000:15:00.2] using DMA
    [ 0.513357] ehci-pci 0000:00:1a.7: USB 2.0 started, EHCI 1.00
    [ 0.513540] hub 7-0:1.0: USB hub found
    [ 0.513548] hub 7-0:1.0: 6 ports detected
    [ 0.536738] hub 1-0:1.0: USB hub found
    [ 0.536747] hub 1-0:1.0: 2 ports detected
    [ 0.560057] hub 2-0:1.0: USB hub found
    [ 0.560064] hub 2-0:1.0: 2 ports detected
    [ 0.583392] hub 3-0:1.0: USB hub found
    [ 0.583400] hub 3-0:1.0: 2 ports detected
    [ 0.583584] ehci-pci 0000:00:1d.7: setting latency timer to 64
    [ 0.583900] ehci-pci 0000:00:1d.7: EHCI Host Controller
    [ 0.583907] ehci-pci 0000:00:1d.7: new USB bus registered, assigned bus number 8
    [ 0.583922] ehci-pci 0000:00:1d.7: debug port 1
    [ 0.587822] ehci-pci 0000:00:1d.7: cache line size of 64 is not supported
    [ 0.587841] ehci-pci 0000:00:1d.7: irq 19, io mem 0xfa627000
    [ 0.596687] ehci-pci 0000:00:1d.7: USB 2.0 started, EHCI 1.00
    [ 0.596823] hub 8-0:1.0: USB hub found
    [ 0.596830] hub 8-0:1.0: 6 ports detected
    [ 0.620052] hub 4-0:1.0: USB hub found
    [ 0.620059] hub 4-0:1.0: 2 ports detected
    [ 0.643388] hub 5-0:1.0: USB hub found
    [ 0.643395] hub 5-0:1.0: 2 ports detected
    [ 0.666727] hub 6-0:1.0: USB hub found
    [ 0.666736] hub 6-0:1.0: 2 ports detected
    [ 0.666812] ahci 0000:00:1f.2: version 3.0
    [ 0.666915] ahci 0000:00:1f.2: irq 42 for MSI/MSI-X
    [ 0.666955] ahci 0000:00:1f.2: SSS flag set, parallel bus scan disabled
    [ 0.666976] ahci 0000:00:1f.2: AHCI 0001.0200 32 slots 4 ports 3 Gbps 0x1 impl SATA mode
    [ 0.666979] ahci 0000:00:1f.2: flags: 64bit ncq sntf stag pm led clo pio slum part ccc sxs
    [ 0.666984] ahci 0000:00:1f.2: setting latency timer to 64
    [ 0.667519] scsi2 : ahci
    [ 0.667582] scsi3 : ahci
    [ 0.667641] scsi4 : ahci
    [ 0.667699] scsi5 : ahci
    [ 0.667742] ata3: SATA max UDMA/133 abar m2048@0xfa626000 port 0xfa626100 irq 42
    [ 0.667743] ata4: DUMMY
    [ 0.667745] ata5: DUMMY
    [ 0.667746] ata6: DUMMY
    [ 0.986695] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
    [ 0.987559] ata3.00: ACPI cmd ef/02:00:00:00:00:a0 (SET FEATURES) succeeded
    [ 0.987562] ata3.00: ACPI cmd f5/00:00:00:00:00:a0 (SECURITY FREEZE LOCK) filtered out
    [ 0.987564] ata3.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out
    [ 0.988382] ata3.00: ATA-8: HGST HTS725050A7E630, GH2ZB550, max UDMA/133
    [ 0.988384] ata3.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
    [ 0.989285] ata3.00: ACPI cmd ef/02:00:00:00:00:a0 (SET FEATURES) succeeded
    [ 0.989287] ata3.00: ACPI cmd f5/00:00:00:00:00:a0 (SECURITY FREEZE LOCK) filtered out
    [ 0.989289] ata3.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out
    [ 0.990098] ata3.00: configured for UDMA/133
    [ 0.990208] scsi 2:0:0:0: Direct-Access ATA HGST HTS725050A7 GH2Z PQ: 0 ANSI: 5
    [ 0.992941] sd 2:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB)
    [ 0.992944] sd 2:0:0:0: [sda] 4096-byte physical blocks
    [ 0.992998] sd 2:0:0:0: [sda] Write Protect is off
    [ 0.993001] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
    [ 0.993036] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
    [ 1.076699] usb 7-6: new high-speed USB device number 3 using ehci-pci
    [ 1.077234] sda: sda1 sda2 sda3 sda4 < sda5 sda6 sda7 sda8 >
    [ 1.077733] sd 2:0:0:0: [sda] Attached SCSI disk
    [ 1.363358] tsc: Refined TSC clocksource calibration: 2526.999 MHz
    [ 1.436698] usb 2-2: new full-speed USB device number 2 using uhci_hcd
    [ 1.826147] EXT4-fs (sda3): mounted filesystem with ordered data mode. Opts: (null)
    [ 2.363390] Switched to clocksource tsc
    [ 2.384837] systemd[1]: systemd 208 running in system mode. (+PAM -LIBWRAP -AUDIT -SELINUX -IMA -SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ)
    [ 2.385108] systemd[1]: Set hostname to <hostname>.
    [ 3.020950] systemd[1]: Starting Forward Password Requests to Wall Directory Watch.
    [ 3.021003] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [ 3.021015] systemd[1]: Starting Remote File Systems.
    [ 3.021026] systemd[1]: Reached target Remote File Systems.
    [ 3.021034] systemd[1]: Starting Delayed Shutdown Socket.
    [ 3.021061] systemd[1]: Listening on Delayed Shutdown Socket.
    [ 3.021070] systemd[1]: Starting LVM2 metadata daemon socket.
    [ 3.021093] systemd[1]: Listening on LVM2 metadata daemon socket.
    [ 3.021102] systemd[1]: Starting /dev/initctl Compatibility Named Pipe.
    [ 3.021121] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
    [ 3.021129] systemd[1]: Starting Device-mapper event daemon FIFOs.
    [ 3.021153] systemd[1]: Listening on Device-mapper event daemon FIFOs.
    [ 3.021165] systemd[1]: Starting Dispatch Password Requests to Console Directory Watch.
    [ 3.021196] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [ 3.021205] systemd[1]: Starting Journal Socket.
    [ 3.021245] systemd[1]: Listening on Journal Socket.
    [ 3.021449] systemd[1]: Starting Apply Kernel Variables...
    [ 3.021979] systemd[1]: Starting Journal Service...
    [ 3.022329] systemd[1]: Started Journal Service.
    [ 3.527540] thinkpad_ec: thinkpad_ec 0.41 loaded.
    [ 3.548541] tp_smapi 0.41 loading...
    [ 3.548630] tp_smapi successfully loaded (smapi_port=0xb2).
    [ 3.692910] systemd-journald[104]: Vacuuming done, freed 0 bytes
    [ 4.052057] EXT4-fs (sda3): re-mounted. Opts: data=ordered
    [ 4.275058] systemd-udevd[135]: starting version 208
    [ 5.539050] input: Lid Switch as /devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input2
    [ 5.539194] ACPI: Lid Switch [LID]
    [ 5.539249] input: Sleep Button as /devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input3
    [ 5.539253] ACPI: Sleep Button [SLPB]
    [ 5.539316] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input4
    [ 5.539319] ACPI: Power Button [PWRF]
    [ 5.558409] ACPI: Requesting acpi_cpufreq
    [ 5.576148] Monitor-Mwait will be used to enter C-1 state
    [ 5.576156] Monitor-Mwait will be used to enter C-2 state
    [ 5.576160] Monitor-Mwait will be used to enter C-3 state
    [ 5.576163] tsc: Marking TSC unstable due to TSC halts in idle
    [ 5.576179] ACPI: acpi_idle registered with cpuidle
    [ 5.576205] Switched to clocksource hpet
    [ 5.612079] agpgart-intel 0000:00:00.0: Intel GM45 Chipset
    [ 5.612185] agpgart-intel 0000:00:00.0: detected gtt size: 2097152K total, 262144K mappable
    [ 5.613189] agpgart-intel 0000:00:00.0: detected 32768K stolen memory
    [ 5.613498] agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xd0000000
    [ 5.624658] wmi: Mapper loaded
    [ 5.686902] [drm] Initialized drm 1.1.0 20060810
    [ 5.759536] Bluetooth: Core ver 2.16
    [ 5.759560] NET: Registered protocol family 31
    [ 5.759562] Bluetooth: HCI device and connection manager initialized
    [ 5.759578] Bluetooth: HCI socket layer initialized
    [ 5.759580] Bluetooth: L2CAP socket layer initialized
    [ 5.759587] Bluetooth: SCO socket layer initialized
    [ 5.775533] [drm] Memory usable by graphics device = 2048M
    [ 5.775538] checking generic (d0000000 300000) vs hw (d0000000 10000000)
    [ 5.775540] fb: conflicting fb hw usage inteldrmfb vs VESA VGA - removing generic driver
    [ 5.775561] Console: switching to colour dummy device 80x25
    [ 5.775662] i915 0000:00:02.0: setting latency timer to 64
    [ 5.813939] i915 0000:00:02.0: irq 43 for MSI/MSI-X
    [ 5.813948] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
    [ 5.813949] [drm] Driver supports precise vblank timestamp query.
    [ 5.813994] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
    [ 5.815326] pps_core: LinuxPPS API ver. 1 registered
    [ 5.815328] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]>
    [ 5.815860] PTP clock support registered
    [ 5.868929] ACPI: AC Adapter [AC] (on-line)
    [ 5.908828] fbcon: inteldrmfb (fb0) is primary device
    [ 5.973459] tpm_tis 00:09: 1.2 TPM (device-id 0x1020, rev-id 6)
    [ 5.973460] tpm_tis 00:09: Intel iTPM workaround enabled
    [ 5.993930] ACPI: Battery Slot [BAT0] (battery present)
    [ 5.995201] thermal LNXTHERM:00: registered as thermal_zone0
    [ 5.995202] ACPI: Thermal Zone [THM0] (18 C)
    [ 5.996577] thermal LNXTHERM:01: registered as thermal_zone1
    [ 5.996578] ACPI: Thermal Zone [THM1] (17 C)
    [ 6.007966] e1000e: Intel(R) PRO/1000 Network Driver - 2.3.2-k
    [ 6.007967] e1000e: Copyright(c) 1999 - 2013 Intel Corporation.
    [ 6.040594] usbcore: registered new interface driver btusb
    [ 6.054550] Non-volatile memory driver v1.3
    [ 6.078033] thinkpad_acpi: ThinkPad ACPI Extras v0.24
    [ 6.078034] thinkpad_acpi: http://ibm-acpi.sf.net/
    [ 6.078035] thinkpad_acpi: ThinkPad BIOS 7UET70WW (3.00 ), EC 7VHT14WW-1.03
    [ 6.078035] thinkpad_acpi: Lenovo ThinkPad T400, model 2767WSD
    [ 6.097896] thinkpad_acpi: detected a 8-level brightness capable ThinkPad
    [ 6.098029] thinkpad_acpi: radio switch found; radios are enabled
    [ 6.098111] thinkpad_acpi: This ThinkPad has standard ACPI backlight brightness control, supported by the ACPI video driver
    [ 6.098111] thinkpad_acpi: Disabling thinkpad-acpi brightness events by default...
    [ 6.100039] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked
    [ 6.102704] thinkpad_acpi: Standard ACPI backlight interface available, not loading native one
    [ 6.102770] thinkpad_acpi: Console audio control enabled, mode: monitor (read only)
    [ 6.103685] input: ThinkPad Extra Buttons as /devices/platform/thinkpad_acpi/input/input5
    [ 6.116703] tpm_tis 00:09: TPM is disabled/deactivated (0x6)
    [ 6.151185] media: Linux media interface: v0.10
    [ 6.188125] Linux video capture interface: v2.00
    [ 6.448191] yenta_cardbus 0000:15:00.0: CardBus bridge found [17aa:20c6]
    [ 6.459562] uvcvideo: Found UVC 1.00 device Integrated Camera (17ef:1004)
    [ 6.464806] input: Integrated Camera as /devices/pci0000:00/0000:00:1a.7/usb7/7-6/7-6:1.0/input/input6
    [ 6.464847] usbcore: registered new interface driver uvcvideo
    [ 6.464848] USB Video Class driver (1.1.1)
    [ 6.486718] Console: switching to colour frame buffer device 180x56
    [ 6.489860] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
    [ 6.489862] i915 0000:00:02.0: registered panic notifier
    [ 6.495027] acpi device:02: registered as cooling_device2
    [ 6.495078] ACPI: Video Device [VID] (multi-head: yes rom: no post: no)
    [ 6.495118] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A08:00/LNXVIDEO:00/input/input7
    [ 6.495167] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
    [ 6.495243] mei_me 0000:00:03.0: setting latency timer to 64
    [ 6.495270] mei_me 0000:00:03.0: irq 44 for MSI/MSI-X
    [ 6.501432] e1000e 0000:00:19.0: setting latency timer to 64
    [ 6.501513] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
    [ 6.501534] e1000e 0000:00:19.0: irq 45 for MSI/MSI-X
    [ 6.574169] yenta_cardbus 0000:15:00.0: ISA IRQ mask 0x0cb8, PCI irq 16
    [ 6.574173] yenta_cardbus 0000:15:00.0: Socket status: 30000006
    [ 6.574179] yenta_cardbus 0000:15:00.0: pcmcia: parent PCI bridge window: [io 0x3000-0x6fff]
    [ 6.574181] yenta_cardbus 0000:15:00.0: pcmcia: parent PCI bridge window: [mem 0xf4300000-0xf7ffffff]
    [ 6.574184] pcmcia_socket pcmcia_socket0: cs: memory probe 0xf4300000-0xf7ffffff:
    [ 6.574188] excluding 0xf4300000-0xf46cffff
    [ 6.574196] yenta_cardbus 0000:15:00.0: pcmcia: parent PCI bridge window: [mem 0xf0000000-0xf3ffffff 64bit pref]
    [ 6.574198] pcmcia_socket pcmcia_socket0: cs: memory probe 0xf0000000-0xf3ffffff:
    [ 6.574207] excluding 0xf0000000-0xf3ffffff
    [ 6.576532] r592: driver successfully loaded
    [ 6.695857] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) 00:24:7e:6a:db:bf
    [ 6.695861] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection
    [ 6.695887] e1000e 0000:00:19.0 eth0: MAC: 7, PHY: 8, PBA No: 1008FF-0FF
    [ 6.695952] ACPI Warning: 0x0000000000001028-0x000000000000102f SystemIO conflicts with Region \_SB_.PCI0.LPC_.PMIO 1 (20130725/utaddress-251)
    [ 6.695957] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
    [ 6.695961] ACPI Warning: 0x00000000000011b0-0x00000000000011bf SystemIO conflicts with Region \_SB_.PCI0.LPC_.LPIO 1 (20130725/utaddress-251)
    [ 6.695964] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
    [ 6.695966] ACPI Warning: 0x0000000000001180-0x00000000000011af SystemIO conflicts with Region \_SB_.PCI0.LPC_.LPIO 1 (20130725/utaddress-251)
    [ 6.695968] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
    [ 6.695969] lpc_ich: Resource conflict(s) found affecting gpio_ich
    [ 6.695997] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
    [ 6.696201] snd_hda_intel 0000:00:1b.0: irq 46 for MSI/MSI-X
    [ 6.715445] input: PC Speaker as /devices/platform/pcspkr/input/input9
    [ 6.781879] cfg80211: Calling CRDA to update world regulatory domain
    [ 6.810601] microcode: CPU0 sig=0x1067a, pf=

    I have the same problem, but only with firefox, because is the only program that i use (also watch videos with VLC, but this have no problem).
    I think we should report, but i'm not sure where.
    A screenshot: http://imgur.com/QKrisQa
    $lspci
    00:00.0 Host bridge: Intel Corporation 4 Series Chipset DRAM Controller (rev 03)
    00:01.0 PCI bridge: Intel Corporation 4 Series Chipset PCI Express Root Port (rev 03)
    00:02.0 VGA compatible controller: Intel Corporation 4 Series Chipset Integrated Graphics Controller (rev 03)
    00:1b.0 Audio device: Intel Corporation NM10/ICH7 Family High Definition Audio Controller (rev 01)
    00:1c.0 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 1 (rev 01)
    00:1c.1 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 2 (rev 01)
    00:1d.0 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #1 (rev 01)
    00:1d.1 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #2 (rev 01)
    00:1d.2 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #3 (rev 01)
    00:1d.3 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #4 (rev 01)
    00:1d.7 USB controller: Intel Corporation NM10/ICH7 Family USB2 EHCI Controller (rev 01)
    00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
    00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)
    00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01)
    00:1f.2 IDE interface: Intel Corporation NM10/ICH7 Family SATA Controller [IDE mode] (rev 01)
    00:1f.3 SMBus: Intel Corporation NM10/ICH7 Family SMBus Controller (rev 01)
    03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 03)
    04:01.0 Multimedia controller: Philips Semiconductors SAA7134/SAA7135HL Video Broadcast Decoder (rev 01)
    PD: Sorry for my bad grammar.

  • Any alternate sites that sell good Creative Zen Xtra case

    Besides the included Travel Case, I'm wondering if there are any other cases made for the Creative Zen Xtra mp3 players. Thanks!

    Yep the Vaja cases are awesome, with an awesome price tag
    I would love to get one for my Rio Karma though (when the mortgage comes through )

  • Autostarting multiple terminal programs?

    Hi there,
    Is there any way I can start multiple terminal programs using Awesome WM?
    I'd like to start htop, alsamixer, cmatrix, irssi, moc and xfce-4 terminal. So essentially I'd like to start six alternate versions of xfce4-terminal on startup.

    Hi everyone.
    I now have multiple terminal programs running using urxvt -name, which works great. However, I can't get them to shift to different tags. I've tried quite a few different methods, but I can't seem to get it working.
    Using xprop I can determine that the window class is (using ranger as an example) is:
    WM_COMMAND(STRING) = { "urxvt", "-name", "RANGER", "-e", "ranger" }
    but in the rules section, I've tried multiple variations and nothing seems to work.
    --Autostart Programs
    awful.util.spawn_with_shell("urxvt -name HTOP -e htop")
    awful.util.spawn_with_shell("urxvt -name RANGER -e ranger")
    awful.util.spawn_with_shell("urxvt -name CMATRIX -e cmatrix")
    --awful.util.spawn_with_shell("urxvt")
    --awful.util.spawn_with_shell("")
    -- {{{ 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 = "HTOP" },
    properties = { tag = tags[1][4] } },
    { rule = { class = "urxvt -name RANGER -e ranger" },
    properties = { tag = tags[1][4] } },
    { rule = { class = "urxvt", "-name", "CMATRIX", "-e", "cmatrix" },
    properties = { tag = tags[1][4] } },
    Also, Trilby with Awesome WM tag essentially refers to a virtual desktop. With regards to the 2-D array, I believe the first digit refers to the monitor but the second refers to the tag you want to place it in.
    Edit:
    I think I will give Tmux a go. It does seem incredibly useful.
    Last edited by Gwynplaine (2014-11-14 20:15:51)

  • Awesome WM text pointer disappears on tag switch

    Hi,
    I have the following problem. On one tag I keep Atom with some file open. If I use the mouse to click on some other tag and go back to Atom everything is ok. If I use modkey+<num> to switch to another tag and back while the mouse is over the task bar or over the widgets everything is ok. But when I switch the tag again with the keyboard shortcut and go back to Atom while the mouse is somewhere over the clients the text pointer in Atom disappears and I need to click somewhere in the text to make it reappear. And it's really annoying when coding to reach for the mouse every time you change to some other tag and back.
    Here's my rc.lua:
    Dremora Awesome WM config 2.0
    github.com/copycat-killer
    -- {{{ 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 drop = require("scratchdrop")
    local lain = require("lain")
    -- {{{ 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
    -- {{{ Autostart applications
    function run_once(cmd)
    findme = cmd
    firstspace = cmd:find(" ")
    if firstspace then
    findme = cmd:sub(0, firstspace-1)
    end
    awful.util.spawn_with_shell("pgrep -u $USER -x " .. findme .. " > /dev/null || (" .. cmd .. ")")
    end
    run_once("urxvtd")
    run_once("unclutter")
    -- {{{ Variable definitions
    -- localization
    --os.setlocale(os.getenv("LANG"))
    -- beautiful init
    beautiful.init(os.getenv("HOME") .. "/.config/awesome/themes/dremora/theme.lua")
    -- common
    modkey = "Mod4"
    altkey = "Mod1"
    terminal = "xfce4-terminal" or "xterm"
    editor = os.getenv("EDITOR") or "nano" or "vi"
    editor_cmd = terminal .. " -e " .. editor
    -- user defined
    browser = "google-chrome"
    browser2 = "iron"
    gui_editor = "atom"
    -- graphics = "gimp"
    local layouts = {
    awful.layout.suit.floating,
    lain.layout.uselesstile,
    awful.layout.suit.fair,
    lain.layout.uselesstile.left,
    lain.layout.uselesstile.top
    -- {{{ Tags
    tags = {
    names = { "ƀ", "Ƅ", "Ɗ", "ƈ", "ƙ" },
    layout = { layouts[1], layouts[3], layouts[2], layouts[1], layouts[5] }
    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 }})
    -- {{{ Wibox
    markup = lain.util.markup
    white = beautiful.fg_focus
    gray = "#858585"
    -- Textclock
    mytextclock = awful.widget.textclock(markup(gray, " %a")
    .. markup(white, " %d ") .. markup(gray, "%b ") .. markup(white, "%H:%M "))
    -- Calendar
    lain.widgets.calendar:attach(mytextclock, { fg = white })
    --[[ Mail IMAP check
    -- commented because it needs to be set before use
    mailwidget = lain.widgets.imap({
    timeout = 180,
    server = "server",
    mail = "mail",
    password = "keyring get mail",
    settings = function()
    mail_notification_preset.fg = white
    mail = ""
    count = ""
    if mailcount > 0 then
    mail = "Mail "
    count = mailcount .. " "
    end
    widget:set_markup(markup(gray, mail) .. markup(white, count))
    end
    -- MPD
    mpdwidget = lain.widgets.mpd({
    settings = function()
    mpd_notification_preset.fg = white
    artist = mpd_now.artist .. " "
    title = mpd_now.title .. " "
    file = mpd_now.file .. " "
    if mpd_now.state == "pause" then
    file = "mpd paused"
    elseif mpd_now.state == "stop" then
    file = ""
    end
    widget:set_markup(markup(gray, file))
    end
    -- /home fs
    fshome = lain.widgets.fs({
    partition = "/home",
    settings = function()
    fs_notification_preset.fg = white
    fs_header = ""
    fs_p = ""
    if fs_now.used >= 90 then
    fs_header = " Hdd "
    fs_p = fs_now.used
    end
    widget:set_markup(markup(gray, fs_header) .. markup(white, fs_p))
    end
    -- 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(gray, bat_header) .. markup(white, bat_p))
    end
    -- ALSA volume
    volumewidget = lain.widgets.alsa({
    settings = function()
    header = " Vol "
    vlevel = volume_now.level
    if volume_now.status == "off" then
    vlevel = vlevel .. "M "
    else
    vlevel = vlevel .. " "
    end
    widget:set_markup(markup(gray, header) .. markup(white, vlevel))
    end
    -- Weather
    yawn = lain.widgets.yawn(123456,
    settings = function()
    yawn_notification_preset.fg = white
    end
    -- Separators
    first = wibox.widget.textbox('<span font="Tamsyn 4"> </span>')
    arrl_pre = wibox.widget.imagebox()
    arrl_pre:set_image(beautiful.arrl_lr_pre)
    arrl_post = wibox.widget.imagebox()
    arrl_post:set_image(beautiful.arrl_lr_post)
    -- 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, 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 = 18 })
    -- Widgets that are aligned to the left
    local left_layout = wibox.layout.fixed.horizontal()
    left_layout:add(first)
    left_layout:add(mytaglist[s])
    left_layout:add(arrl_pre)
    left_layout:add(mylayoutbox[s])
    left_layout:add(arrl_post)
    left_layout:add(mypromptbox[s])
    left_layout:add(first)
    -- 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(first)
    right_layout:add(mpdwidget)
    --right_layout:add(mailwidget)
    right_layout:add(fshome)
    right_layout:add(batwidget)
    right_layout:add(volumewidget)
    right_layout:add(mytextclock)
    -- 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)
    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
    -- 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),
    -- Dropdown terminal
    awful.key({ modkey, }, "z", function () drop(terminal) end),
    -- Widgets popups
    awful.key({ altkey, }, "c", function () lain.widgets.calendar:show(7) end),
    awful.key({ altkey, }, "h", function () fshome.show(7) end),
    awful.key({ altkey, }, "w", function () yawn.show(7) end),
    -- ALSA volume control
    awful.key({ }, "XF86AudioRaiseVolume",
    function ()
    awful.util.spawn(string.format("amixer -c %s set %s 1+", volumewidget.card, volumewidget.channel))
    volumewidget.update()
    end),
    awful.key({ }, "XF86AudioLowerVolume",
    function ()
    awful.util.spawn(string.format("amixer -c %s set %s 1-", volumewidget.card, volumewidget.channel))
    volumewidget.update()
    end),
    awful.key({ }, "XF86AudioMute",
    function ()
    awful.util.spawn(string.format("amixer -c %s set %s toggle", volumewidget.card, volumewidget.channel))
    --awful.util.spawn(string.format("amixer set %s toggle", volumewidget.channel))
    volumewidget.update()
    end),
    awful.key({ altkey, "Control" }, "m",
    function ()
    awful.util.spawn(string.format("amixer -c %s set %s 100%%", volumewidget.card, volumewidget.channel))
    volumewidget.update()
    end),
    -- MPD control
    awful.key({ }, "XF86AudioPlay",
    function ()
    awful.util.spawn_with_shell("mpc toggle || ncmpc toggle || pms toggle")
    mpdwidget.update()
    end),
    awful.key({ }, "XF86AudioStop",
    function ()
    awful.util.spawn_with_shell("mpc stop || ncmpc stop || pms stop")
    mpdwidget.update()
    end),
    awful.key({ }, "XF86AudioPrev",
    function ()
    awful.util.spawn_with_shell("mpc prev || ncmpc prev || pms prev")
    mpdwidget.update()
    end),
    awful.key({ }, "XF86AudioNext",
    function ()
    awful.util.spawn_with_shell("mpc next || ncmpc next || pms next")
    mpdwidget.update()
    end),
    -- Copy to clipboard
    awful.key({ modkey }, "c", function () os.execute("xsel -p -o | xsel -i -b") end),
    -- User programs
    awful.key({ modkey }, "w", function () awful.util.spawn(browser) end),
    awful.key({ modkey }, "s", function () awful.util.spawn(gui_editor) end),
    awful.key({ modkey }, "g", function () awful.util.spawn(graphics) end),
    awful.key({ modkey }, "e", function () awful.util.spawn("thunar") 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),
    -- {{ Configures Keymap }} --
    awful.key({ "Control", "Shift" }, "k",
    function()
    awful.util.spawn("xmodmap /home/peio/.Xmodmap_Internal")
    naughty.notify({ timeout = 8, text = "Keyboard configured for internal." })
    end),
    awful.key({ "Control", "Shift" }, "l",
    function()
    awful.util.spawn("xmodmap /home/peio/.Xmodmap_External")
    naughty.notify({ timeout = 8, text = "Keyboard configured for external." })
    end)
    clientkeys = awful.util.table.join(
    awful.key({ modkey, }, "f", function (c) c.fullscreen = not c.fullscreen end),
    awful.key({ modkey, }, "q", 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 } },
    { rule = { class = "URxvt" },
    properties = { opacity = 0.99 } },
    { rule = { class = "MPlayer" },
    properties = { floating = true } },
    { rule = { class = "Dwb" },
    properties = { tag = tags[1][1] } },
    { rule = { class = "Iron" },
    properties = { tag = tags[1][1] } },
    { rule = { instance = "plugin-container" },
    properties = { tag = tags[1][1] } },
    { rule = { class = "Gimp" },
    properties = { tag = tags[1][4] } },
    { rule = { class = "Gimp", role = "gimp-image-window" },
    properties = { maximized_horizontal = true,
    maximized_vertical = true } },
    -- {{{ 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)
    -- Title 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)
    local layout = wibox.layout.align.horizontal()
    layout:set_middle(middle_layout)
    awful.titlebar(c,{size=18}):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
    function run_once(cmd)
    findme = cmd
    firstspace = cmd:find(" ")
    if firstspace then
    findme = cmd:sub(0, firstspace-1)
    end
    awful.util.spawn_with_shell("pgrep -u $USER -x " .. findme .. " > /dev/null || (" .. cmd .. ")")
    end
    run_once("nm-applet")
    If someone can help me I'll be really thankful.
    Best regards,
    Georgi

    This is weird behavior that I don't experience with Awesome and Atom. Does this happen only with Atom, or with anything? One aspect of your rc.lua that might cause something like this is the sloppy focusing, this bit here:
    -- 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)
    Try disabling that, by commenting it out entirely, and see if the problem persists.
    If it only happens with Atom, then maybe Atom conflicts for some reason with this sloppy focusing.

  • How do I get more tagged/bookmarked results to show up in awesome bar? Currently it will only show 4.

    When I type a word into the address/url/awesome bar that is a word I know I have used as a tag on several bookmarked pages, only 4 of the results in the drop down are bookmarked pages. The rest of the pages in the drop down are other pages suggested from the web. Because only 4 of the results are pages I've tagged, the page I want (and have tagged) often doesn't show up. Is there a setting I can change to make it show more tagged results? Or is there a way after I get the original results to have it add additional tagged/bookmarked items?

    That can be a problem with the Fastestfox extension.
    See [[Troubleshooting extensions and themes]]
    In the FastestFox Options, uncheck "Enhance Awesomebar"
    See image 10 in the image gallery: https://addons.mozilla.org/firefox/addon/9825
    https://addons.mozilla.org/img/uploads/previews/thumbs/37/37975.png

  • [solved] awesome WM - how to check if current tag is empty?

    Been trying to obtain this behaviour with Awesome:-
    Start off with one tag. When an app is started, push it to the next tag and change tag to that tag.
    I've got that part going using this:-
    { rule = { type = "normal" },
    except_any = { class = { "Keepassx", "Gmrun" } },
    --if clients > 0 then
    callback = function(c)
    awful.client.movetotag(tags[mouse.screen][awful.tag.getidx()+1], c)
    awful.tag.viewonly(tags[mouse.screen][awful.tag.getidx()+1])
    end
    --end
    So basically it only works on 'normal' windows except windows that I'll probably like to have in the current tag (Gmrun and Keepassx obviously). I use this in conjunction with eminent so as to ensure that I only see as many tags as there are active. Eventually I'd like to maybe use shifty and only generate tags on-the-fly.
    What I want to do, however, is for the app to start in the current tag if its empty. For that, I need to detect that state, and I can't seem to do it. This is the code fragment from eminent.lua that seems to do it:-
    function gettags(screen)
    local tags = {}
    for k, t in ipairs(capi.screen[screen]:tags()) do
    if t.selected or #t:clients() > 0 then
    awful.tag.setproperty(t, "hide", false)
    table.insert(tags, t)
    else
    awful.tag.setproperty(t, "hide", true)
    end
    end
    return tags
    end
    As far as I can understand, screen[screen]:tags() returns a table of tags. ipairs splits it up into a range of values, and then the :clients() method is called to determine what clients there are. I presume # is for 'number-of' but I'm not sure.
    Any advise on how I can achieve this count? I just want to put an 'if' as commented in my first code snippet.
    Last edited by ngoonee (2012-09-03 08:05:04)

    Thanks Wey for pointing the way (no pun intended), after some playing around I've obtained the following:-
    -- Function to count number of clients in a tag
    function is_empty(tag,client)
    count = 0
    for _, c in pairs(tag:clients()) do
    -- client is used so that won't match against self
    if client.class ~= c.class then
    count = count + 1
    end
    end
    if count > 0 then
    return false
    end
    return true
    end
    Which is called by the following callback:-
    callback = function(c)
    current_tag = tags[mouse.screen][awful.tag.getidx()]
    next_tag = tags[mouse.screen][awful.tag.getidx()+1]
    if is_empty(current_tag,c) then
    tag = current_tag
    else
    tag = next_tag
    end
    awful.client.movetotag(tag, c)
    awful.tag.viewonly(tag)
    end
    I didn't want to use a rule since I didn't actually manage to figure out how to call rules, and just manually hard-coding c.class etc. seemed easier to me at the time. I realize I'm basically coding lua as if its C, but that's basically all I know programming wise so far .
    I'd also like to set a signal function which would rearrange all clients to lower-numbered tags when a client exist (so say if there are three clients in tag 2, 2 clients in tag 3, 1 client in tag 4 and 1, and the client in tag 1 exits, all three clients from tag 2 move to tag 1, the 2 in tag 3 move to tag 2, etc). This MAY be more easily handled by shifty though, currently don't have the time to look into it unfortunately. Once again, thanks for your help in [solve]ng this question.

  • Custom tag names in Awesome WM?

    How do I create custom tag names in the Awesome WM?

    Hi!
    You did not specify which version you are running... So I just thought it might help if I posted the relevant part of my config. I think there is other ways to do it, but this works for me, in both the version in AUR, which is a snapshot of 3.3 development version, and the newest 3.3-rc4. Perhaps it might work in earlier versions too! Enjoy:
    -- {{{ Tags
    -- Define tags table.
    tags = {}
    tags.settings = {
    { name = "urxvt", layout = layouts[1], },
    { name = "www", layout = layouts[1], },
    { name = "media", layout = layouts[7] },
    { name = "mail", layout = layouts[7], },
    { name = "other", layout = layouts[10], setslave = true },
    -- Initialize tags
    for s = 1, screen.count() do
    tags[s] = {}
    for i, v in ipairs(tags.settings) do
    tags[s][i] = tag(v.name)
    tags[s][i].screen = s
    awful.tag.setproperty(tags[s][i], "layout", v.layout)
    awful.tag.setproperty(tags[s][i], "setslave", v.setslave)
    awful.tag.setproperty(tags[s][i], "mwfact", v.mwfact)
    end
    tags[s][1].selected = true
    end
    You can find my entire config at: http://dotfiles.org/~KlavKalashj
    Last edited by KlavKalashj (2009-05-30 17:36:12)

  • How to autostart a client in a specific tag in Awesome?

    I know how to autostart something. From http://awesome.naquadah.org/wiki/Autost … ostart_way I'm using the advanced method of the simple way (that takes 4 parameters). It's working fine, but everything starts at the first tag. I tried to use the awful.client.movetotag() function, but with no luck.
    How can I get this to work?
    Thanks!
    Last edited by VeXe (2013-02-16 22:17:24)

    @frank604: Thanks again, it worked! BUT: when I passed a parameter to my terminal to run htop, it didn't work
    { rule = { instance = "gnome-terminal -e htop" },
    properties = { }, callback = function (c)
    if not skipMovingT then
    awful.client.movetotag(tags[1][9], c)
    skipMovingT = true
    end
    end },
    Any ideas?
    @doug piston: Thanks, but I have read that page. The rules are permenant that way, and I just want them at startup, not all the time (repeating my self here)

  • [Awesome] dynamically change tag names?

    Is there a way to change the name of a tag displayed in the tag box widget during run time?, I dont really want dynamic tagging, but it is a solution if none other exist.

    There's two patches for awesome that provide dynamic tagging; Eminent and Shifty.
    See on the Archlinux wiki page for awesome: https://wiki.archlinux.org/index.php/Aw … ic_tagging
    EDIT: Ah, I see that you'd like to rename existing tags... don't know if there's a way to do that, but it could be a feature of either Eminent or Shifty.
    EDIT2:  Aaaaand, it looks like Shifty offers a tag creation/rename prompt in the task list, so that should do what you want
    Last edited by snk (2011-09-05 18:09:57)

  • Awesome systray is not showing all icons, perhaps overlapping widgets?

    I have a problem with my Awesome configuration that results in some of the icons being missing or partially missing from my systray. I suspect this is because of some overlapping, since they are partially hidden. You can see the problem in the top right corner.
    rc.lua:
    -- Standard awesome library
    require("awful")
    require("awful.autofocus")
    require("awful.rules")
    -- Theme handling library
    require("beautiful")
    -- Notification library
    require("naughty")
    --Wiget Library
    require("vicious")
    -- awesoMPD Widget
    --require("awesompd/awesompd")
    -- {{{ Variable definitions
    -- Themes define colours, icons, and wallpapers
    beautiful.init("/usr/share/awesome/themes/blind-alien/theme.lua")
    -- This is used later as the default terminal and editor to run.
    terminal = "urxvt"
    editor = os.getenv("EDITOR") or "vim"
    editor_cmd = terminal .. " -e " .. editor
    -- Enable or disable widgets:
    -- You also have to edit the wiboxes!
    useSysInfo = true
    usePacman = true
    useMpd = true
    useWifi = false
    useNet = true
    useBat = false
    useCpu = true
    useMem = true
    useTemp = false
    -- Widget Settings
    cpuCores = 2 --Number of CPU Cores
    thermalZone = "coretemp.0" --Thermal Zone to read cpu temperature from (check vicious docu)
    thermalData = "core" --Data Source: "proc", "core" or "sys"
    netAdapter = "eth0" --Network adapter to monitor
    wifiAdapter = "wlan0" --Wifi adapter for wifi widget
    pacUpdate = "yaourt -Sy" --Command to update pacman cache
    pacUpgrade = "yaourt -Su" --Command to upgrade system
    networkManager = terminal .. " -e wicd-curses"
    battery = "BAT1" --Battery to monitor
    widthMpd = 420 --Width of MPD widget
    -- Widget update intervals in seconds
    updateCpu = 1
    updatePac = 1801
    updateMpd = 1
    updateWifi = 7
    updateNet = 1
    updateBat = 31
    updateMem = 7
    -- For Dual-Screen setups:
    -- Set "dualScreen" to "2" if you want a different, optimized widget layout for every screen.
    -- If you set it to "-1" it will copy the same widget layout to both screens. (default Awesome behavior)
    dualScreen = -1
    screencount = screen.count()
    -- Default modkey.
    -- Usually, Mod4 is the key with a logo between Control and Alt.
    -- If you do not like this or do not have such a key,
    -- I suggest you to remap Mod4 to another key using xmodmap or other tools.
    -- However, you can use another modifier like Mod1, but it may interact with others.
    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.magnifier,
    awful.layout.suit.floating,
    awful.layout.suit.max
    -- {{{ Tags
    -- Define a tag table which will hold all screen tags.
    tags = {
    --names = { "1", "2", "3", "4", "5", "6"},
    --names = { "⌘", "♐", "⌥", "ℵ"},
    --names = { "⠪", "⠫", "⠬", "⠭", "⠮", "⠳"},
    names = { "⠐", "⠡", "⠪", "⠵", "⠻", "⠿" },
    --names = { " ∙", "⠡", "⠲", "⠵", "⠻", "⠿"},
    --names = { " ⠐ ", " ⠡ ", " ⠲ ", " ⠵ ", " ⠾ ", " ⠿ "},
    --names = { "⢷", "⣨", "⡪", "⣌", "⣪", "⡝"},
    layout = {
    layouts[8], layouts[8], layouts[8], layouts[5], layouts[8], layouts[8]
    for s = 1, screencount do
    tags[s] = awful.tag(tags.names, s, tags.layout)
    end
    -- {{{ Menu
    -- Create a laucher widget and a main menu
    myawesomemenu = {
    { "manual", terminal .. " -e man awesome" },
    { "edit config", editor_cmd .. " " .. awful.util.getdir("config") .. "/rc.lua" },
    { "restart WM", awesome.restart },
    { "logout", awesome.quit },
    { "shutdown" , "sudo /sbin/halt -p" },
    { "reboot" , "sudo /sbin/reboot" }
    myinternet = {
    { "Chromium", "chromium" },
    { "Firefox" , "firefox" },
    { "IM" , "pidgin" },
    { "IRC" , "xchat"}
    mymedia = {
    { "Spotify", "spotify" },
    { "Rhythmbox", "rhythmbox" },
    { "ncmpcpp", "urxvt -e ncmpcpp" },
    { "Gnome Mplayer", "gnome-mplayer" },
    { "VLC" , "vlc" }
    mygraphics = {
    { "GIMP" , "gimp" },
    { "Inkscape" , "inkscape" },
    { "Image viewer" , "eog" }
    myoffice = {
    { "Base" , "lobase" },
    { "Calc" , "localc" },
    { "Impress" , "loimpress" },
    { "LibreOffice" , "loffice" },
    { "Writer" , "lowriter" },
    { "Lyx" , "lyx" },
    { "Document viewer" , "evince" }
    mysystem = {
    { "htop" , "urxvt -e htop" },
    { "Partition" , "gksudo gparted" },
    { "Sys mon" , "gnome-system-monitor" }
    myutilities = {
    { "Gedit" , "gedit" },
    { "Virtualbox" , "VirtualBox" },
    { "File Manager" , "nautilus --no-desktop" }
    myplaces = {
    { "Home" , "nautilus --no-desktop /home/johan/" },
    { "Documents" , "nautilus --no-desktop /home/johan/Documents/" },
    { "Downloads" , "nautilus --no-desktop /home/johan/Downloads/" },
    { "Music" , "nautilus --no-desktop /home/johan/Music/" },
    { "Pictures" , "nautilus --no-desktop /home/johan/Pictures/" }
    myserverplaces = {
    { "Server root" , "nautilus --no-desktop /srv/" },
    { "Downloads" , "nautilus --no-desktop /srv/download/" },
    { "Movies" , "nautilus --no-desktop /srv/movies/" },
    { "Tv-Series" , "nautilus --no-desktop /srv/tv-series/" },
    { "Misc" , "nautilus --no-desktop /srv/misc/" }
    mymainmenu = awful.menu({ items = {
    { "Terminal", terminal },
    { "Places" , myplaces },
    { "Server" , myserverplaces },
    { "Internet" , myinternet },
    { "Media" , mymedia },
    { "Graphics" , mygraphics },
    { "Office" , myoffice },
    { "Utilities" , myutilities },
    { "Systools" , mysystem },
    { "Awesome", myawesomemenu }
    mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon),
    menu = mymainmenu })
    -- Separators
    bubble = widget({ type = "textbox" })
    spacer = widget({ type = "textbox" })
    space = widget({ type = "textbox" })
    separator = widget({ type = "textbox" })
    bracketl = widget({ type = "textbox" })
    bracketr = widget({ type = "textbox" })
    vertline = widget({ type = "textbox" })
    dash = widget({ type = "textbox" })
    bubble.text = " ∘ "
    spacer.text = " "
    space.text = " "
    --separator.text = "<span font_desc='ClearlyU'> ⡾ </span>"
    separator.text = "] ["
    vertline.text = "|"
    dash.text = "-"
    bracketl.text = "["
    bracketr.text = "]"
    -- Status Labels
    cpuLabel = {}
    for s = 1, cpuCores do
    cpuLabel[s] = widget({ type = "textbox" })
    cpuLabel[s].text = "Core " .. s
    end
    rlabel = widget({ type = "textbox" })
    rlabel.text = "Root:"
    hlabel = widget({ type = "textbox" })
    hlabel.text = "Home:"
    -- WIDGETS --
    -- OS info
    if useSysInfo == true then
    sys = widget({ type = "textbox" })
    vicious.register(sys, vicious.widgets.os, "$1 $2")
    end
    -- Pacman updates
    if usePacman == true then
    -- Widget
    pnoghosticon = widget({ type = "imagebox" })
    pnoghosticon.image = image(beautiful.widget_pacnoghost)
    pnoghosticon.visible = true
    pghosticon = awful.widget.launcher({
    image = beautiful.widget_pacghost,
    command = terminal .. " -e " .. pacUpgrade .. " && echo -e 'vicious.force({ pacup, })' | awesome-client"
    pghosticon.visible = false
    -- Icon
    -- picon = widget({ type = "imagebox" })
    -- picon.image = image(beautiful.widget_pacnew)
    -- Use the Pacman icon as launcher to update the package list (change to fit your package-management system)
    picon = awful.widget.launcher({
    image = beautiful.widget_pacnew,
    command = pacUpdate .. " && echo -e 'vicious.force({ pacup, })' | awesome-client"
    runpicon = awful.widget.launcher({
    image = beautiful.widget_pacman_run,
    command = pacUpdate .. " && echo -e 'vicious.force({ pacup, })' | awesome-client"
    runpicon.visible = false
    pacup = widget({ type = "textbox" })
    vicious.register(pacup, vicious.widgets.pkg,
    function(widget, args)
    local nr = tonumber(args[1])
    if nr ~= 0 then
    pnoghosticon.visible = false
    pghosticon.visible = true
    picon.visible = false
    runpicon.visible = true
    else
    pghosticon.visible = false
    pnoghosticon.visible = true
    runpicon.visible = false
    picon.visible = true
    end
    end, updatePac, "Arch")
    end
    -- MPD Widget
    if useMpd == true then
    -- PLAY, STOP, PREV/NEXT Buttons
    -- requires modification of /usr/share/awesome/lib/awful/widget/launcher.lua
    -- b = util.table.join(w:buttons(), button({}, 1, nil, function () util.spawn(args.command) end))
    -- to:
    -- b = util.table.join(w:buttons(), button({}, 1, nil, function () util.spawn_with_shell(args.command) end))
    music_play = awful.widget.launcher({
    image = beautiful.widget_play,
    command = "mpc toggle && echo -e 'vicious.force({ mpdwidget, })' | awesome-client"
    music_pause = awful.widget.launcher({
    image = beautiful.widget_pause,
    command = "mpc toggle && echo -e 'vicious.force({ mpdwidget, })' | awesome-client"
    music_pause.visible = false
    music_stop = awful.widget.launcher({
    image = beautiful.widget_stop,
    command = "mpc stop && echo -e 'vicious.force({ mpdwidget, })' | awesome-client"
    music_prev = awful.widget.launcher({
    image = beautiful.widget_prev,
    command = "mpc prev && echo -e 'vicious.force({ mpdwidget, })' | awesome-client"
    music_next = awful.widget.launcher({
    image = beautiful.widget_next,
    command = "mpc next && echo -e 'vicious.force({ mpdwidget, })' | awesome-client"
    mpdicon = widget({ type = "imagebox" })
    mpdicon.image = image(beautiful.widget_mpd)
    -- Initialize widget
    mpdwidget = widget({ type = "textbox" })
    --mpdwidget.wrap = "none"
    mpdwidget.width = widthMpd
    --mpdwidget.wrap = "word_char"
    -- Register Widget
    --vicious.register(mpdwidget, vicious.widgets.mpd, "(${state}) : ${Artist} - ${Title} ]", 13)
    -- Set the maximum width of the MPD widget inside the string.format function as "%.<length>s"
    vicious.register(mpdwidget, vicious.widgets.mpd,
    function(widget, args)
    --local maxlength = 85
    local font = beautiful.font
    local string = args["{Artist}"] .. " - " .. args["{Title}"]
    --local string = "[" .. args["{state}"] .. "]" .. " : " .. args["{Artist}"] .. " - " .. args["{Title}"]
    --[[ if maxlength < string.len(string) then
    return "<span font_desc='" .. font .. "'>" .. string.sub(string, 0, maxlength-6) .. "</span> ..."
    else
    return "<span font_desc='" .. font .. "'>" .. string .. "</span>"
    end]]
    if args["{state}"] == "Play" then
    music_play.visible = false
    music_pause.visible = true
    else
    music_play.visible = true
    music_pause.visible = false
    end
    return string
    end, updateMpd)
    end
    ---- WIFI Widget
    --if useWifi == true then
    -- wifiwidget = widget({ type = "textbox" })
    -- wifiwidget.width = 22
    -- wifiwidget.align = "right"
    -- --wifiimage = widget({ type = "imagebox" })
    -- wifiimage0 = awful.widget.launcher({
    -- image = beautiful.widget_wifi0,
    -- command = networkManager
    -- wifiimage0.image.visible = true
    -- wifiimage1 = awful.widget.launcher({
    -- image = beautiful.widget_wifi1,
    -- command = networkManager
    -- wifiimage1.image.visible = false
    -- wifiimage2 = awful.widget.launcher({
    -- image = beautiful.widget_wifi2,
    -- command = networkManager
    -- wifiimage2.image.visible = false
    -- wifiimage3 = awful.widget.launcher({
    -- image = beautiful.widget_wifi3,
    -- command = networkManager
    -- wifiimage3.image.visible = false
    -- wifiimage4 = awful.widget.launcher({
    -- image = beautiful.widget_wifi4,
    -- command = networkManager
    -- wifiimage4.image.visible = false
    -- -- Register Widget
    -- -- change to the desired network adapter if needed
    -- --vicious.register(wifiwidget, vicious.widgets.wifi, "~ ${link}%", 5, "wlan0")
    -- vicious.register(wifiwidget, vicious.widgets.wifi,
    -- function(widget, args)
    -- if tonumber(args["{link}"]) > 75 then
    -- wifiimage0.visible = false
    -- wifiimage1.visible = false
    -- wifiimage2.visible = false
    -- wifiimage3.visible = false
    -- wifiimage4.visible = true
    -- elseif tonumber(args["{link}"]) > 50 then
    -- wifiimage0.visible = false
    -- wifiimage1.visible = false
    -- wifiimage2.visible = false
    -- wifiimage3.visible = true
    -- wifiimage4.visible = false
    -- elseif tonumber(args["{link}"]) > 25 then
    -- wifiimage0.visible = false
    -- wifiimage1.visible = false
    -- wifiimage2.visible = true
    -- wifiimage3.visible = false
    -- wifiimage4.visible = false
    -- elseif tonumber(args["{link}"]) > 0 then
    -- wifiimage0.visible = false
    -- wifiimage1.visible = true
    -- wifiimage2.visible = false
    -- wifiimage3.visible = false
    -- wifiimage4.visible = false
    -- else
    -- wifiimage0.visible = true
    -- wifiimage1.visible = false
    -- wifiimage2.visible = false
    -- wifiimage3.visible = false
    -- wifiimage4.visible = false
    -- end
    -- return string.format("%02d%%", tonumber(args["{link}"]))
    -- end, updateWifi, wifiAdapter)
    --end
    -- NETWORK Widget
    if useNet == true then
    dnicon = widget({ type = "imagebox" })
    upicon = widget({ type = "imagebox" })
    dnicon.image = image(beautiful.widget_down)
    upicon.image = image(beautiful.widget_up)
    -- Initialize widget
    netdnwidget = widget({ type = "textbox" })
    netdnwidget.width = 55
    --netdnwidget.align = "right"
    netupwidget = widget({ type = "textbox" })
    netupwidget.width = 55
    --netupwidget.align = "right"
    -- Register widget
    -- change to the desired network adapter if needed
    --vicious.register(netdnwidget, vicious.widgets.net, "${eth0 down_kb} kB/s", 1)
    --vicious.register(netupwidget, vicious.widgets.net, "${eth0 up_kb} kB/s", 1)
    -- The following code formats the output to fill with zeroes at the beginning i.e. 013 kB/s instead of 13 kB/s.
    -- It also automatically switches to MB/s if there is more than 999 kB/s
    vicious.register(netdnwidget, vicious.widgets.net,
    function(widget, args)
    if tonumber(args["{" .. netAdapter .. " down_kb}"]) > 999 then
    return string.format("%04.1f MB/s", tonumber(args["{" .. netAdapter .. " down_mb}"]))
    else
    return string.format("%03d kB/s", tonumber(args["{" .. netAdapter .. " down_kb}"]))
    end
    end, updateNet)
    vicious.register(netupwidget, vicious.widgets.net,
    function(widget, args)
    if tonumber(args["{" .. netAdapter .. " up_kb}"]) > 999 then
    return string.format("%04.1f MB/s", tonumber(args["{" .. netAdapter .. " up_mb}"]))
    else
    return string.format("%03d kB/s", tonumber(args["{" .. netAdapter .. " up_kb}"]))
    end
    end, updateNet)
    end
    ---- BATTERY widget
    --if useBat == true then
    -- baticon = widget({ type = "imagebox" })
    -- --baticon.image = image(beautiful.widget_batfull)
    -- --Initialize widget
    -- batwidget = widget({ type = "textbox" })
    -- batwidget.width = 22
    -- batwidget.align = "right"
    -- --Register widget
    -- --vicious.register(batwidget, vicious.widgets.bat, "$1$2", 31, "BAT1")
    -- vicious.register(batwidget, vicious.widgets.bat,
    -- function(widget, args)
    -- if string.match(args[1], "[+↯]") then
    -- baticon.image = image(beautiful.widget_ac)
    -- elseif tonumber(args[2]) > 40 then
    -- baticon.image = image(beautiful.widget_batfull)
    -- elseif tonumber(args[2]) > 20 then
    -- baticon.image = image(beautiful.widget_batlow)
    -- else
    -- baticon.image = image(beautiful.widget_batempty)
    -- end
    -- if tonumber(args[2]) == 100 then
    -- return "Full"
    -- end
    -- return args[2] .. "%"
    -- end, updateBat, battery)
    --end
    -- {{{ CPU
    --if useTemp == true then
    -- -- Core Temp
    -- tempwidget = widget({ type = "textbox" })
    -- tempwidget.width = 26
    -- tempwidget.align = "right"
    -- vicious.register(tempwidget, vicious.widgets.thermal, "$1 C", updateCpu, { thermalZone, thermalData })
    -- --vicious.register(tempwidget, vicious.widgets.thermal, "$1°C", 5, { "thermal_zone0", "sys" })
    -- -- Icon
    -- tempicon = widget({ type = "imagebox" })
    -- tempicon.image = image(beautiful.widget_temp)
    --end
    -- Readout
    if useCpu == true then
    -- Icon
    cpuicon = widget({ type = "imagebox" })
    cpuicon.image = image(beautiful.widget_cpu)
    -- Core 1 Meter
    cpubar = {}
    freq = {}
    displayCores = {}
    displayCpu = {}
    for s = 1, cpuCores do
    cpubar[s] = awful.widget.progressbar()
    cpubar[s]:set_width(50)
    cpubar[s]:set_height(6)
    cpubar[s]:set_vertical(false)
    cpubar[s]:set_background_color("#434343")
    --cpubar:set_color(beautiful.fg_normal)
    cpubar[s]:set_gradient_colors({ beautiful.fg_normal, beautiful.fg_normal, beautiful.fg_normal, beautiful.bar })
    --Delete the following line if you want to put the widget on the left side of the wibox
    cpubar[s].layout = awful.widget.layout.horizontal.rightleft
    vicious.register(cpubar[s], vicious.widgets.cpu, "$" .. s, updateCpu)
    awful.widget.layout.margins[cpubar[s].widget] = { top = 6 }
    -- Frequency
    freq[s] = widget({ type = "textbox" })
    freq[s].width = 44
    freq[s].align = "right"
    --vicious.register(freq1, vicious.widgets.cpufreq, "$2 GHz", 9, "cpu0")
    vicious.register(freq[s], vicious.widgets.cpufreq,
    function(widget, args)
    return string.format("%03.1f GHz", args[2])
    end, updateCpu, "cpu" .. s - 1)
    -- Cache that shit
    vicious.cache(vicious.widgets.cpu)
    end
    end
    -- }}} CPU
    -- {{{ MEM
    if useMem == true then
    -- Icon
    memicon = widget({ type = "imagebox" })
    memicon.image = image(beautiful.widget_mem)
    -- Percentage
    --mem = widget({ type = "textbox" })
    --vicious.register(mem, vicious.widgets.mem, "$1%")
    -- Meter
    membar = awful.widget.progressbar()
    membar:set_width(50)
    membar:set_height(6)
    membar:set_vertical(false)
    membar:set_background_color("#434343")
    --membar:set_color(beautiful.fg_normal )
    membar:set_gradient_colors({ beautiful.fg_normal, beautiful.fg_normal, beautiful.fg_normal, beautiful.bar })
    --This bar should be placed on the right side of the wibox unless
    --it's a dual-screen config in which case the default (leftright)
    --layout is used... change that if you need!
    if screencount ~= dualScreen then
    membar.layout = awful.widget.layout.horizontal.rightleft
    end
    --Register the widget
    vicious.register(membar, vicious.widgets.mem, "$1", updateMem)
    -- Align progressbars
    awful.widget.layout.margins[membar.widget] = { top = 6 }
    -- MEM Usage
    --mem_total = widget({ type = "textbox" })
    --vicious.register(mem_total, vicious.widgets.mem, "$3 MB", 9)
    --mem_used = widget({ type = "textbox" })
    --vicious.register(mem_total, vicious.widgets.mem, "$2 MB", 9,)
    -- Cache that shit
    vicious.cache(vicious.widgets.mem)
    end
    -- }}} MEM
    -- Create a textclock widget
    mytextclock = awful.widget.textclock({ align = "right" }, "%H:%M")
    awful.widget.layout.margins[mytextclock] = { top = -1 }
    -- Create a systray
    mysystray = widget({ type = "systray"})
    -- 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, awful.tag.viewnext),
    awful.button({}, 5, awful.tag.viewprev))
    mytasklist = {}
    mytasklist.buttons = awful.util.table.join(awful.button({}, 1, function(c)
    if not c:isvisible() then
    awful.tag.viewonly(c:tags()[1])
    end
    client.focus = c
    c:raise()
    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, screencount do
    -- Set a screen margin for borders
    awful.screen.padding(screen[s], { top = 0 })
    -- 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)))
    mylayoutbox[s].resize = false
    -- Create a taglist widget
    mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.label.all, mytaglist.buttons)
    awful.widget.layout.margins[mytaglist[s]] = { top = -2 }
    -- WARNING: In order to properly view the tasklist some lua files have been modified. For the
    -- tasklist_floating_icon icon to be placed on the left side of the task name instead of the
    -- right alignment, /usr/share/awesome/lib/awful/widget/tasklist.lua in function new(label, buttons) the
    -- variable widgets.textbox has to be modified like this:
    -- remove bg_align = "right" and
    -- modify the left margin from 2 to icon width + 2 (i.e.: 18).
    -- Create a tasklist widget
    mytasklist[s] = awful.widget.tasklist(function(c)
    return awful.widget.tasklist.label.currenttags(c, s,
    -- WARNING: Requires modified /usr/share/awesome/lib/awful/widget/tasklist.lua !!!
    -- This basically hides the application icons on the tasklist. If you don't want this or
    -- prefer not to change your tasklist.lua remove the following line!
    { hide_icon = true })
    end, mytasklist.buttons)
    awful.widget.layout.margins[mytasklist[s]] = { top = 2 }
    -- WIBOXES --
    -- Here we create the wiboxes if it's not a dual-screen layout
    if screencount ~= dualScreen then
    -- Create the wibox
    mywibox[s] = awful.wibox({ position = "top", screen = s, border_width = 0, height = 18 })
    -- Add widgets to the wibox - order matters
    mywibox[s].widgets = {
    mytaglist[s],
    mypromptbox[s],
    displaySysInfo,
    layout = awful.widget.layout.horizontal.leftright
    mytextclock,
    mylayoutbox[s],
    s == 1 and mysystray or nil,
    mytasklist[s],
    layout = awful.widget.layout.horizontal.rightleft
    mybottomwibox[s] = awful.wibox({ position = "bottom", screen = s, border_width = 0, height = 18 })
    mybottomwibox[s].widgets = {
    space, music_play, music_pause, music_stop, music_prev, music_next, space, mpdwidget,
    layout = awful.widget.layout.horizontal.leftright
    spacer,
    bracketr,
    -- spacer, batwidget, spacer, baticon, spacer,
    -- separator,
    -- spacer, wifiwidget, spacer, wifiimage0, wifiimage1, wifiimage2, wifiimage3, wifiimage4, spacer,
    -- separator,
    -- spacer, tempwidget, spacer, tempicon, spacer,
    -- separator,
    spacer, freq[1], spacer, cpubar[1], spacer,
    --cpuLabel[1], spacer,
    cpuicon, spacer,
    separator,
    spacer, membar, spacer, memicon, spacer,
    separator,
    spacer, netupwidget, spacer, upicon, spacer, separator, spacer, netdnwidget, spacer, dnicon, spacer,
    separator,
    space, pghosticon, pnoghosticon, runpicon, picon, space,
    bracketl,
    layout = awful.widget.layout.horizontal.rightleft
    end
    end
    if screencount == dualScreen then
    -- Here we create the wiboxes if it is a dual screen configuration:
    mywibox[1] = awful.wibox({ position = "top", screen = 1, border_width = 0, height = 18 })
    -- Add widgets to the wibox - order matters
    mywibox[1].widgets = {
    mytaglist[1],
    spacer,
    mypromptbox[1],
    mytasklist[1],
    layout = awful.widget.layout.horizontal.leftright
    spacer,
    mytextclock,
    -- spacer,
    mylayoutbox[1],
    -- spacer,
    -- mytasklist[1],
    layout = awful.widget.layout.horizontal.rightleft
    mybottomwibox[1] = awful.wibox({ position = "bottom", screen = 1, border_width = 0, height = 18 })
    mybottomwibox[1].widgets = {
    space, music_play, music_pause, music_stop, music_prev, music_next, space, mpdwidget,
    layout = awful.widget.layout.horizontal.leftright
    space,
    s == 1 and mysystray or nil,
    layout = awful.widget.layout.horizontal.rightleft
    mywibox[2] = awful.wibox({ position = "top", screen = 2, border_width = 0, height = 18 })
    mywibox[2].widgets = {
    space,
    mytaglist[2],
    spacer,
    mypromptbox[2],
    layout = awful.widget.layout.horizontal.leftright
    spacer,
    mytextclock,
    space,
    mylayoutbox[2],
    spacer,
    mytasklist[2],
    layout = awful.widget.layout.horizontal.rightleft
    mybottomwibox[2] = awful.wibox({ position = "bottom", screen = 2, border_width = 0, height = 18 })
    mybottomwibox[2].widgets = {
    spacer,
    bracketl,
    spacer, sys, spacer,
    separator,
    space, runpicon, picon, pghosticon, pnoghosticon, space,
    separator,
    spacer, dnicon, spacer, netdnwidget, spacer, separator, spacer, upicon, spacer, netupwidget, spacer,
    separator,
    spacer, memicon, spacer, membar, spacer,
    bracketr,
    layout = awful.widget.layout.horizontal.leftright
    spacer,
    bracketr,
    spacer, tempwidget, spacer, tempicon, spacer,
    separator,
    spacer, freq[2], spacer, cpubar[2], spacer,
    cpuLabel[2], spacer,
    cpuicon, spacer,
    separator,
    spacer, freq[1], spacer, cpubar[1], spacer,
    cpuLabel[1], spacer,
    cpuicon, spacer,
    bracketl,
    layout = awful.widget.layout.horizontal.rightleft
    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(awful.key({ modkey, }, "Left", awful.tag.viewprev),
    awful.key({ }, "Print", function () awful.util.spawn("gnome-screenshot") end),
    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({ modkey, }, "w", function() mymainmenu:show({ keygrabber = true }) end),
    --Volume manipulation
    -- awful.key({}, "XF86AudioRaiseVolume", function() awful.util.spawn("amixer set Master 5+") end),
    -- awful.key({}, "XF86AudioLowerVolume", function() awful.util.spawn("amixer set Master 5-") 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),
    -- 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, }, "q", 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" }, "m", function () awful.util.spawn("urxvt -T ncmpcpp -e 'ncmpcpp'") end),
    awful.key({ modkey, "Shift" }, "w", function () awful.util.spawn("chromium") end),
    awful.key({ modkey, }, "b", function () awful.util.spawn("nautilus --no-desktop") end),
    awful.key({ modkey, "Shift" }, "r", function(c) c:redraw() end),
    awful.key({ modkey, }, "t", function(c) c.ontop = not c.ontop end),
    awful.key({ modkey, }, "n", function(c) c.minimized = not c.minimized 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, screencount 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,
    size_hints_honor = false,
    focus = true,
    keys = clientkeys,
    buttons = clientbuttons
    rule = { class = "MPlayer" },
    properties = { floating = true }
    rule = { class = "pinentry" },
    properties = { floating = true }
    rule = { class = "gimp" },
    properties = { floating = true }
    { rule = { class = "firefox" },
    properties = { tag = tags[1][2] } },
    { rule = { class = "Chromium" },
    properties = { tag = tags[1][2] } },
    { rule = { class = "Pidgin" },
    properties = { tag = tags[1][3] } },
    { rule = { class = "Xchat" },
    properties = {tag = tags[1][4] } },
    -- 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.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)
    -- {{{ Tag signal handler - selection
    -- - ASCII tags 1 [2] 3 4...
    -- - start with tag 1 named [1] in tag setup
    for s = 1, screencount do
    for t = 1, #tags[s] do
    tags[s][t]:add_signal("property::selected", function ()
    if tags[s][t].selected then
    tags[s][t].name = "[" .. tags[s][t].name .. "]"
    else--]]
    --tags[s][t].name = tags[s][t].name:gsub("[%[%]]", "")
    --[[ end
    end)
    end
    end
    I have tried to search around for a solution to this, but I am coming up short. Any idea on how to solve this?
    Last edited by kveras (2011-11-21 09:01:47)

    First of all, did you check the wiki and forums? We'll help you, but you have to try to fix it yourself first.
    You will need to provide more info if you want help.
    Did you set up Gnome to force fallback mode?
    Did you look at the Gnome wiki article? There's a few sections that sound like what your looking to do, but the examples are USING OTHER WM's. They still might be able to point you in the right direction.

  • [SOLVED] Error when starting awesome WM.

    I'm not sure if this should go here or in Workstation User, so sorry if I got it wrong. When I try to startx with "exec awesome &" in my .xinitrc I get an "expected keysym, got XF86Info: line 914 of inet" error. Someone suggested that it could be my keybindings in my rc.lua for awesome but I tried someone else's rc.lua and still got it.
    Error Log
    xauth: creating new authority file /home/tim/.serverauth.27451
    X.Org X Server 1.5.0
    Release Date:
    X Protocol Version 11, Revision 0
    Build Operating System: Linux 2.6.26-ARCH i686
    Current Operating System: Linux tim-laptop 2.6.26-ARCH #1 SMP PREEMPT Tue Sep 9 10:15:21 UTC 2008 i686
    Build Date: 06 September 2008 05:03:06PM
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
    Module Loader present
    Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
    (==) Log file: "/var/log/Xorg.0.log", Time: Sat Sep 20 11:49:21 2008
    (==) Using config file: "/etc/X11/xorg.conf"
    expected keysym, got XF86Info: line 914 of inet
    expected keysym, got XF86Info: line 914 of inet
    expected keysym, got XF86Info: line 914 of inet
    waiting for X server to shut down .
    Xorg.log
    X.Org X Server 1.5.0
    Release Date:
    X Protocol Version 11, Revision 0
    Build Operating System: Linux 2.6.26-ARCH i686
    Current Operating System: Linux tim-laptop 2.6.26-ARCH #1 SMP PREEMPT Tue Sep 9 10:15:21 UTC 2008 i686
    Build Date: 06 September 2008 05:03:06PM
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
    Module Loader present
    Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
    (==) Log file: "/var/log/Xorg.0.log", Time: Sat Sep 20 11:49:21 2008
    (==) Using config file: "/etc/X11/xorg.conf"
    (==) ServerLayout "X.org Configured"
    (**) |-->Screen "Screen0" (0)
    (**) | |-->Monitor "Monitor0"
    (**) | |-->Device "Card0"
    (**) |-->Input Device "Mouse0"
    (**) |-->Input Device "Keyboard0"
    (==) Automatically adding devices
    (==) Automatically enabling devices
    (==) Including the default font path /usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/TTF,/usr/share/fonts/Type1.
    (**) FontPath set to:
    /usr/share/fonts/misc,
    /usr/share/fonts/100dpi:unscaled,
    /usr/share/fonts/75dpi:unscaled,
    /usr/share/fonts/TTF,
    /usr/share/fonts/Type1,
    /usr/share/fonts/misc,
    /usr/share/fonts/100dpi:unscaled,
    /usr/share/fonts/75dpi:unscaled,
    /usr/share/fonts/TTF,
    /usr/share/fonts/Type1
    (**) ModulePath set to "/usr/lib/xorg/modules"
    (II) Open ACPI successful (/var/run/acpid.socket)
    (II) Loader magic: 0x81d5660
    (II) Module ABI versions:
    X.Org ANSI C Emulation: 0.4
    X.Org Video Driver: 4.1
    X.Org XInput driver : 2.1
    X.Org Server Extension : 1.1
    X.Org Font Renderer : 0.6
    (II) Loader running on linux
    (--) using VT number 7
    (--) PCI:*(0@0:2:0) Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller rev 3, Mem @ 0xd0300000/0, 0xc0000000/0, 0xd0400000/0, I/O @ 0x00001800/0
    (--) PCI: (0@0:2:1) Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller rev 3, Mem @ 0xd0380000/0
    (II) System resource ranges:
    [0] -1 0 0xffffffff - 0xffffffff (0x1) MX[b]
    [1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[b]
    [2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[b]
    [3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[b]
    [4] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[b]
    [5] -1 0 0x00000000 - 0x00000000 (0x1) IX[b]
    (II) "extmod" will be loaded. This was enabled by default and also specified in the config file.
    (II) "dbe" will be loaded. This was enabled by default and also specified in the config file.
    (II) "glx" will be loaded. This was enabled by default and also specified in the config file.
    (II) "freetype" will be loaded. This was enabled by default and also specified in the config file.
    (II) "dri" will be loaded. This was enabled by default and also specified in the config file.
    (II) LoadModule: "dri"
    (II) Loading /usr/lib/xorg/modules/extensions//libdri.so
    (II) Module dri: vendor="X.Org Foundation"
    compiled for 1.5.0, module version = 1.0.0
    ABI class: X.Org Server Extension, version 1.1
    (II) Loading extension XFree86-DRI
    (II) LoadModule: "glx"
    (II) Loading /usr/lib/xorg/modules/extensions//libglx.so
    (II) Module glx: vendor="X.Org Foundation"
    compiled for 1.5.0, module version = 1.0.0
    ABI class: X.Org Server Extension, version 1.1
    (==) AIGLX enabled
    (==) Exporting typical set of GLX visuals
    (II) Loading extension GLX
    (II) LoadModule: "dbe"
    (II) Loading /usr/lib/xorg/modules/extensions//libdbe.so
    (II) Module dbe: vendor="X.Org Foundation"
    compiled for 1.5.0, module version = 1.0.0
    Module class: X.Org Server Extension
    ABI class: X.Org Server Extension, version 1.1
    (II) Loading extension DOUBLE-BUFFER
    (II) LoadModule: "extmod"
    (II) Loading /usr/lib/xorg/modules/extensions//libextmod.so
    (II) Module extmod: vendor="X.Org Foundation"
    compiled for 1.5.0, module version = 1.0.0
    Module class: X.Org Server Extension
    ABI class: X.Org Server Extension, version 1.1
    (II) Loading extension SHAPE
    (II) Loading extension MIT-SUNDRY-NONSTANDARD
    (II) Loading extension BIG-REQUESTS
    (II) Loading extension SYNC
    (II) Loading extension MIT-SCREEN-SAVER
    (II) Loading extension XC-MISC
    (II) Loading extension XFree86-VidModeExtension
    (II) Loading extension XFree86-Misc
    (II) Loading extension XFree86-DGA
    (II) Loading extension DPMS
    (II) Loading extension TOG-CUP
    (II) Loading extension Extended-Visual-Information
    (II) Loading extension XVideo
    (II) Loading extension XVideo-MotionCompensation
    (II) Loading extension X-Resource
    (II) LoadModule: "synaptics"
    (II) Loading /usr/lib/xorg/modules/input//synaptics_drv.so
    (II) Module synaptics: vendor="X.Org Foundation"
    compiled for 1.5.0, module version = 0.15.2
    Module class: X.Org XInput Driver
    ABI class: X.Org XInput driver, version 2.1
    (II) LoadModule: "xtrap"
    (II) Loading /usr/lib/xorg/modules/extensions//libxtrap.so
    (II) Module xtrap: vendor="X.Org Foundation"
    compiled for 1.5.0, module version = 1.0.0
    Module class: X.Org Server Extension
    ABI class: X.Org Server Extension, version 1.1
    (II) Loading extension DEC-XTRAP
    (II) LoadModule: "freetype"
    (II) Loading /usr/lib/xorg/modules/fonts//libfreetype.so
    (II) Module freetype: vendor="X.Org Foundation & the After X-TT Project"
    compiled for 1.5.0, module version = 2.1.0
    Module class: X.Org Font Renderer
    ABI class: X.Org Font Renderer, version 0.6
    (II) Loading font FreeType
    (II) LoadModule: "evdev"
    (II) Loading /usr/lib/xorg/modules/input//evdev_drv.so
    (II) Module evdev: vendor="X.Org Foundation"
    compiled for 1.4.99.906, module version = 2.0.4
    Module class: X.Org XInput Driver
    ABI class: X.Org XInput driver, version 2.1
    (II) LoadModule: "intel"
    (II) Loading /usr/lib/xorg/modules/drivers//intel_drv.so
    (II) Module intel: vendor="X.Org Foundation"
    compiled for 1.4.99.906, module version = 2.4.2
    Module class: X.Org Video Driver
    ABI class: X.Org Video Driver, version 4.1
    (II) LoadModule: "synaptics"
    (II) Reloading /usr/lib/xorg/modules/input//synaptics_drv.so
    (II) LoadModule: "kbd"
    (II) Loading /usr/lib/xorg/modules/input//kbd_drv.so
    (II) Module kbd: vendor="X.Org Foundation"
    compiled for 1.4.2, module version = 1.3.1
    Module class: X.Org XInput Driver
    ABI class: X.Org XInput driver, version 2.0
    (II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
    i810-dc100, i810e, i815, i830M, 845G, 852GM/855GM, 865G, 915G,
    E7221 (i915), 915GM, 945G, 945GM, 945GME, 965G, G35, 965Q, 946GZ,
    965GM, 965GME/GLE, G33, Q35, Q33,
    Mobile Intel® GM45 Express Chipset,
    Intel Integrated Graphics Device, G45/G43, Q45/Q43
    (II) Primary Device is: PCI 00@00:02:0
    (II) resource ranges after xf86ClaimFixedResources() call:
    [0] -1 0 0xffffffff - 0xffffffff (0x1) MX[b]
    [1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[b]
    [2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[b]
    [3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[b]
    [4] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[b]
    [5] -1 0 0x00000000 - 0x00000000 (0x1) IX[b]
    (II) resource ranges after probing:
    [0] -1 0 0xffffffff - 0xffffffff (0x1) MX[b]
    [1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[b]
    [2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[b]
    [3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[b]
    [4] 0 0 0x000a0000 - 0x000affff (0x10000) MS[b]
    [5] 0 0 0x000b0000 - 0x000b7fff (0x8000) MS[b]
    [6] 0 0 0x000b8000 - 0x000bffff (0x8000) MS[b]
    [7] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[b]
    [8] -1 0 0x00000000 - 0x00000000 (0x1) IX[b]
    [9] 0 0 0x000003b0 - 0x000003bb (0xc) IS[b]
    [10] 0 0 0x000003c0 - 0x000003df (0x20) IS[b]
    (II) Loading sub module "int10"
    (II) LoadModule: "int10"
    (II) Loading /usr/lib/xorg/modules//libint10.so
    (II) Module int10: vendor="X.Org Foundation"
    compiled for 1.5.0, module version = 1.0.0
    ABI class: X.Org Video Driver, version 4.1
    (II) Loading sub module "vbe"
    (II) LoadModule: "vbe"
    (II) Loading /usr/lib/xorg/modules//libvbe.so
    (II) Module vbe: vendor="X.Org Foundation"
    compiled for 1.5.0, module version = 1.1.0
    ABI class: X.Org Video Driver, version 4.1
    (II) Loading sub module "vgahw"
    (II) LoadModule: "vgahw"
    (II) Loading /usr/lib/xorg/modules//libvgahw.so
    (II) Module vgahw: vendor="X.Org Foundation"
    compiled for 1.5.0, module version = 0.1.0
    ABI class: X.Org Video Driver, version 4.1
    (==) intel(0): Depth 24, (==) framebuffer bpp 32
    (==) intel(0): RGB weight 888
    (==) intel(0): Default visual is TrueColor
    (**) intel(0): Option "AccelMethod" "exa"
    (II) intel(0): Integrated Graphics Chipset: Intel(R) 945GM
    (--) intel(0): Chipset: "945GM"
    (--) intel(0): Linear framebuffer at 0xC0000000
    (--) intel(0): IO registers at addr 0xD0300000
    (II) intel(0): 2 display pipes available.
    (**) intel(0): Using EXA for acceleration
    (II) Loading sub module "int10"
    (II) LoadModule: "int10"
    (II) Reloading /usr/lib/xorg/modules//libint10.so
    (II) intel(0): initializing int10
    (WW) intel(0): Bad V_BIOS checksum
    (II) intel(0): Primary V_BIOS segment is: 0xc000
    (II) intel(0): VESA BIOS detected
    (II) intel(0): VESA VBE Version 3.0
    (II) intel(0): VESA VBE Total Mem: 7872 kB
    (II) intel(0): VESA VBE OEM: Intel(r) 82945GM Chipset Family Graphics Chip Accelerated VGA BIOS
    (II) intel(0): VESA VBE OEM Software Rev: 1.0
    (II) intel(0): VESA VBE OEM Vendor: Intel Corporation
    (II) intel(0): VESA VBE OEM Product: Intel(r) 82945GM Chipset Family Graphics Controller
    (II) intel(0): VESA VBE OEM Product Rev: Hardware Version 0.0
    (II) Loading sub module "ddc"
    (II) LoadModule: "ddc"
    (II) Module "ddc" already built-in
    (II) Loading sub module "i2c"
    (II) LoadModule: "i2c"
    (II) Module "i2c" already built-in
    (II) intel(0): Output VGA using monitor section Monitor0
    (II) intel(0): I2C bus "CRTDDC_A" initialized.
    (II) intel(0): Output LVDS has no monitor section
    (II) intel(0): I2C bus "LVDSDDC_C" initialized.
    (II) intel(0): Attempting to determine panel fixed mode.
    (II) intel(0): I2C device "LVDSDDC_C:ddc2" registered at address 0xA0.
    (II) intel(0): EDID vendor "LPL", prod id 49152
    (II) intel(0): found backlight control method /sys/class/backlight/acpi_video1
    (II) intel(0): Output TV has no monitor section
    (II) intel(0): EDID vendor "LPL", prod id 49152
    (II) intel(0): Output VGA disconnected
    (II) intel(0): Output LVDS connected
    (II) intel(0): Output TV disconnected
    (II) intel(0): Using exact sizes for initial modes
    (II) intel(0): Output LVDS using initial mode 1280x800
    (II) intel(0): Monitoring connected displays enabled
    (II) intel(0): detected 256 kB GTT.
    (II) intel(0): detected 7932 kB stolen memory.
    (==) intel(0): video overlay key set to 0x101fe
    (==) intel(0): Will not try to enable page flipping
    (==) intel(0): Triple buffering disabled
    (==) intel(0): Intel XvMC decoder disabled
    (==) intel(0): Using gamma correction (1.0, 1.0, 1.0)
    (==) intel(0): DPI set to (96, 96)
    (II) Loading sub module "fb"
    (II) LoadModule: "fb"
    (II) Loading /usr/lib/xorg/modules//libfb.so
    (II) Module fb: vendor="X.Org Foundation"
    compiled for 1.5.0, module version = 1.0.0
    ABI class: X.Org ANSI C Emulation, version 0.4
    (II) Loading sub module "exa"
    (II) LoadModule: "exa"
    (II) Loading /usr/lib/xorg/modules//libexa.so
    (II) Module exa: vendor="X.Org Foundation"
    compiled for 1.5.0, module version = 2.4.0
    ABI class: X.Org Video Driver, version 4.1
    (II) Loading sub module "ramdac"
    (II) LoadModule: "ramdac"
    (II) Module "ramdac" already built-in
    (II) intel(0): Comparing regs from server start up to After PreInit
    (WW) intel(0): Register 0x61200 (PP_STATUS) changed from 0xc0000008 to 0xd000000a
    (WW) intel(0): PP_STATUS before: on, ready, sequencing idle
    (WW) intel(0): PP_STATUS after: on, ready, sequencing on
    (WW) intel(0): Register 0x71024 (PIPEBSTAT) changed from 0x00000202 to 0x80000202
    (WW) intel(0): PIPEBSTAT before: status: VSYNC_INT_STATUS VBLANK_INT_STATUS
    (WW) intel(0): PIPEBSTAT after: status: FIFO_UNDERRUN VSYNC_INT_STATUS VBLANK_INT_STATUS
    (==) Depth 24 pixmap format is 32 bpp
    (II) do I need RAC? No, I don't.
    (II) resource ranges after preInit:
    [0] -1 0 0xffffffff - 0xffffffff (0x1) MX[b]
    [1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[b]
    [2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[b]
    [3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[b]
    [4] 0 0 0x000a0000 - 0x000affff (0x10000) MS[b](OprD)
    [5] 0 0 0x000b0000 - 0x000b7fff (0x8000) MS[b](OprD)
    [6] 0 0 0x000b8000 - 0x000bffff (0x8000) MS[b](OprD)
    [7] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[b]
    [8] -1 0 0x00000000 - 0x00000000 (0x1) IX[b]
    [9] 0 0 0x000003b0 - 0x000003bb (0xc) IS[b](OprU)
    [10] 0 0 0x000003c0 - 0x000003df (0x20) IS[b](OprU)
    (II) intel(0): Kernel reported 238592 total, 1 used
    (II) intel(0): I830CheckAvailableMemory: 954364 kB available
    drmOpenDevice: node name is /dev/dri/card0
    drmOpenDevice: open result is 11, (OK)
    drmOpenDevice: node name is /dev/dri/card0
    drmOpenDevice: open result is 11, (OK)
    drmOpenByBusid: Searching for BusID pci:0000:00:02.0
    drmOpenDevice: node name is /dev/dri/card0
    drmOpenDevice: open result is 11, (OK)
    drmOpenByBusid: drmOpenMinor returns 11
    drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0
    (II) [drm] DRM interface version 1.3
    (II) [drm] DRM open master succeeded.
    (II) intel(0): [drm] Using the DRM lock SAREA also for drawables.
    (II) intel(0): [drm] framebuffer mapped by ddx driver
    (II) intel(0): [drm] added 1 reserved context for kernel
    (II) intel(0): X context handle = 0x1
    (II) intel(0): [drm] installed DRM signal handler
    (**) intel(0): Framebuffer compression enabled
    (**) intel(0): Tiling enabled
    (==) intel(0): VideoRam: 262144 KB
    (II) intel(0): Attempting memory allocation with tiled buffers.
    (II) intel(0): Tiled allocation successful.
    (II) intel(0): [drm] Registers = 0xd0300000
    (II) intel(0): [drm] ring buffer = 0xc0000000
    (II) intel(0): [drm] mapped front buffer at 0xc1000000, handle = 0xc1000000
    (II) intel(0): [drm] mapped back buffer at 0xc4000000, handle = 0xc4000000
    (II) intel(0): [drm] mapped depth buffer at 0xc5000000, handle = 0xc5000000
    (II) intel(0): [drm] mapped classic textures at 0xc6000000, handle = 0xc6000000
    (II) intel(0): [drm] Initialized kernel agp heap manager, 33554432
    (II) intel(0): [dri] visual configs initialized
    (II) intel(0): Page Flipping disabled
    (II) intel(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000
    (II) EXA(0): Offscreen pixmap area of 31457280 bytes
    (II) EXA(0): Driver registered support for the following operations:
    (II) Solid
    (II) Copy
    (II) Composite (RENDER acceleration)
    (==) intel(0): Backing store disabled
    (==) intel(0): Silken mouse enabled
    (II) intel(0): Initializing HW Cursor
    (II) intel(0): [DRI] installation complete
    (II) intel(0): xf86BindGARTMemory: bind key 0 at 0x01000000 (pgoffset 4096)
    (II) intel(0): xf86BindGARTMemory: bind key 1 at 0x02000000 (pgoffset 8192)
    (II) intel(0): xf86BindGARTMemory: bind key 2 at 0x04000000 (pgoffset 16384)
    (II) intel(0): xf86BindGARTMemory: bind key 3 at 0x05000000 (pgoffset 20480)
    (II) intel(0): xf86BindGARTMemory: bind key 4 at 0x06000000 (pgoffset 24576)
    (II) intel(0): Fixed memory allocation layout:
    (II) intel(0): 0x00000000-0x0001ffff: ring buffer (128 kB)
    (II) intel(0): 0x00020000-0x0061ffff: compressed frame buffer (6144 kB, 0x000000003f820000 physical
    (II) intel(0): 0x00620000-0x00620fff: compressed ll buffer (4 kB, 0x000000003fe20000 physical
    (II) intel(0): 0x00621000-0x0062afff: HW cursors (40 kB, 0x000000003fe21000 physical
    (II) intel(0): 0x0062b000-0x00632fff: logical 3D context (32 kB)
    (II) intel(0): 0x00633000-0x00633fff: overlay registers (4 kB, 0x000000003fe33000 physical
    (II) intel(0): 0x007bf000: end of stolen memory
    (II) intel(0): 0x01000000-0x01ffffff: front buffer (10240 kB) X tiled
    (II) intel(0): 0x02000000-0x03dfffff: exa offscreen (30720 kB)
    (II) intel(0): 0x04000000-0x04ffffff: back buffer (10240 kB) X tiled
    (II) intel(0): 0x05000000-0x05ffffff: depth buffer (10240 kB) X tiled
    (II) intel(0): 0x06000000-0x07ffffff: classic textures (32768 kB)
    (II) intel(0): 0x10000000: end of aperture
    (II) intel(0): Selecting standard 18 bit TMDS pixel format.
    (II) intel(0): Output configuration:
    (II) intel(0): Pipe A is off
    (II) intel(0): Display plane A is now disabled and connected to pipe A.
    (II) intel(0): Pipe B is on
    (II) intel(0): Display plane B is now enabled and connected to pipe B.
    (II) intel(0): Output VGA is connected to pipe none
    (II) intel(0): Output LVDS is connected to pipe B
    (II) intel(0): Output TV is connected to pipe none
    (II) intel(0): [drm] dma control initialized, using IRQ 16
    (II) intel(0): RandR 1.2 enabled, ignore the following RandR disabled message.
    (II) intel(0): Selecting standard 18 bit TMDS pixel format.
    (II) intel(0): DPMS enabled
    (II) intel(0): Set up textured video
    (II) intel(0): Set up overlay video
    (II) intel(0): direct rendering: Enabled
    (--) RandR disabled
    (II) Initializing built-in extension MIT-SHM
    (II) Initializing built-in extension XInputExtension
    (II) Initializing built-in extension XTEST
    (II) Initializing built-in extension XKEYBOARD
    (II) Initializing built-in extension XC-APPGROUP
    (II) Initializing built-in extension SECURITY
    (II) Initializing built-in extension XINERAMA
    (II) Initializing built-in extension XFIXES
    (II) Initializing built-in extension RENDER
    (II) Initializing built-in extension RANDR
    (II) Initializing built-in extension COMPOSITE
    (II) Initializing built-in extension DAMAGE
    (II) Initializing built-in extension XEVIE
    (II) AIGLX: Screen 0 is not DRI2 capable
    drmOpenDevice: node name is /dev/dri/card0
    drmOpenDevice: open result is 12, (OK)
    drmOpenByBusid: Searching for BusID pci:0000:00:02.0
    drmOpenDevice: node name is /dev/dri/card0
    drmOpenDevice: open result is 12, (OK)
    drmOpenByBusid: drmOpenMinor returns 12
    drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0
    (II) AIGLX: enabled GLX_MESA_copy_sub_buffer
    (II) AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control
    (II) AIGLX: enabled GLX_texture_from_pixmap with driver support
    (II) AIGLX: Loaded and initialized /usr/lib/xorg/modules/dri/i915_dri.so
    (II) GLX: Initialized DRI GL provider for screen 0
    (II) intel(0): Setting screen physical size to 304 x 190
    (II) Synaptics touchpad driver version 0.15.2
    (--) Mouse0 auto-dev sets device to /dev/input/event8
    (II) Mouse0: x-axis range 1472 - 5472
    (II) Mouse0: y-axis range 1408 - 4448
    (**) Option "Device" "/dev/input/event8"
    (**) Option "SHMConfig" "true"
    (**) Option "LeftEdge" "1700"
    (**) Option "RightEdge" "5300"
    (**) Option "TopEdge" "1700"
    (**) Option "BottomEdge" "4200"
    (**) Option "FingerLow" "25"
    (**) Option "FingerHigh" "30"
    (**) Option "MaxTapTime" "180"
    (**) Option "MaxTapMove" "220"
    (**) Option "VertScrollDelta" "100"
    (--) Mouse0 touchpad found
    (**) Option "CorePointer"
    (**) Mouse0: always reports core events
    (**) Option "CoreKeyboard"
    (**) Keyboard0: always reports core events
    (**) Option "Protocol" "standard"
    (**) Keyboard0: Protocol: standard
    (**) Option "AutoRepeat" "500 30"
    (**) Option "XkbRules" "xorg"
    (**) Keyboard0: XkbRules: "xorg"
    (**) Option "XkbModel" "pc105"
    (**) Keyboard0: XkbModel: "pc105"
    (**) Option "XkbLayout" "us"
    (**) Keyboard0: XkbLayout: "us"
    (**) Option "CustomKeycodes" "off"
    (**) Keyboard0: CustomKeycodes disabled
    (II) evaluating device (Mouse0)
    (II) XINPUT: Adding extended input device "Mouse0" (type: TOUCHPAD)
    (II) evaluating device (Keyboard0)
    (II) XINPUT: Adding extended input device "Keyboard0" (type: KEYBOARD)
    (II) Mouse0: x-axis range 1472 - 5472
    (II) Mouse0: y-axis range 1408 - 4448
    (--) Mouse0 touchpad found
    (II) config/hal: Adding input device SynPS/2 Synaptics TouchPad
    (II) Synaptics touchpad driver version 0.15.2
    (II) SynPS/2 Synaptics TouchPad: x-axis range 1472 - 5472
    (II) SynPS/2 Synaptics TouchPad: y-axis range 1408 - 4448
    (**) Option "Device" "/dev/input/event8"
    (--) SynPS/2 Synaptics TouchPad touchpad found
    (**) SynPS/2 Synaptics TouchPad: always reports core events
    (II) XINPUT: Adding extended input device "SynPS/2 Synaptics TouchPad" (type: TOUCHPAD)
    (II) SynPS/2 Synaptics TouchPad: x-axis range 1472 - 5472
    (II) SynPS/2 Synaptics TouchPad: y-axis range 1408 - 4448
    (WW) SynPS/2 Synaptics TouchPad can't grab event device, errno=16
    (--) SynPS/2 Synaptics TouchPad touchpad found
    (II) config/hal: Adding input device Video Bus
    (**) Video Bus: always reports core events
    (**) Video Bus: Device: "/dev/input/event6"
    (II) Video Bus: Found keys
    (II) Video Bus: Configuring as keyboard
    (II) XINPUT: Adding extended input device "Video Bus" (type: KEYBOARD)
    (**) Option "xkb_rules" "base"
    (**) Video Bus: xkb_rules: "base"
    (**) Option "xkb_model" "evdev"
    (**) Video Bus: xkb_model: "evdev"
    (**) Option "xkb_layout" "us"
    (**) Video Bus: xkb_layout: "us"
    (II) config/hal: Adding input device Video Bus
    (**) Video Bus: always reports core events
    (**) Video Bus: Device: "/dev/input/event5"
    (II) Video Bus: Found keys
    (II) Video Bus: Configuring as keyboard
    (II) XINPUT: Adding extended input device "Video Bus" (type: KEYBOARD)
    (**) Option "xkb_rules" "base"
    (**) Video Bus: xkb_rules: "base"
    (**) Option "xkb_model" "evdev"
    (**) Video Bus: xkb_model: "evdev"
    (**) Option "xkb_layout" "us"
    (**) Video Bus: xkb_layout: "us"
    (II) config/hal: Adding input device AT Translated Set 2 keyboard
    (**) AT Translated Set 2 keyboard: always reports core events
    (**) AT Translated Set 2 keyboard: Device: "/dev/input/event1"
    (II) AT Translated Set 2 keyboard: Found keys
    (II) AT Translated Set 2 keyboard: Configuring as keyboard
    (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD)
    (**) Option "xkb_rules" "base"
    (**) AT Translated Set 2 keyboard: xkb_rules: "base"
    (**) Option "xkb_model" "evdev"
    (**) AT Translated Set 2 keyboard: xkb_model: "evdev"
    (**) Option "xkb_layout" "us"
    (**) AT Translated Set 2 keyboard: xkb_layout: "us"
    (II) config/hal: Adding input device Macintosh mouse button emulation
    (**) Macintosh mouse button emulation: always reports core events
    (**) Macintosh mouse button emulation: Device: "/dev/input/event0"
    (II) Macintosh mouse button emulation: Found x and y relative axes
    (II) Macintosh mouse button emulation: Found mouse buttons
    (II) Macintosh mouse button emulation: Configuring as mouse
    (II) XINPUT: Adding extended input device "Macintosh mouse button emulation" (type: MOUSE)
    (II) UnloadModule: "synaptics"
    (II) UnloadModule: "kbd"
    (II) UnloadModule: "synaptics"
    (II) Video Bus: Close
    (II) UnloadModule: "evdev"
    (II) Video Bus: Close
    (II) UnloadModule: "evdev"
    (II) AT Translated Set 2 keyboard: Close
    (II) UnloadModule: "evdev"
    (II) Macintosh mouse button emulation: Close
    (II) UnloadModule: "evdev"
    (II) intel(0): xf86UnbindGARTMemory: unbind key 0
    (II) intel(0): xf86UnbindGARTMemory: unbind key 1
    (II) intel(0): xf86UnbindGARTMemory: unbind key 2
    (II) intel(0): xf86UnbindGARTMemory: unbind key 3
    (II) intel(0): xf86UnbindGARTMemory: unbind key 4
    (II) intel(0): [drm] removed 1 reserved context for kernel
    (II) intel(0): [drm] unmapping 8192 bytes of SAREA 0xf8acb000 at 0xb7a29000
    (II) intel(0): [drm] Closed DRM master.
    xorg.conf
    Section "ServerLayout"
    Identifier "X.org Configured"
    Screen 0 "Screen0" 0 0
    InputDevice "Mouse0" "CorePointer"
    InputDevice "Keyboard0" "CoreKeyboard"
    EndSection
    Section "Files"
    # RgbPath "/usr/share/X11/rgb"
    ModulePath "/usr/lib/xorg/modules"
    FontPath "/usr/share/fonts/misc"
    FontPath "/usr/share/fonts/100dpi:unscaled"
    FontPath "/usr/share/fonts/75dpi:unscaled"
    FontPath "/usr/share/fonts/TTF"
    FontPath "/usr/share/fonts/Type1"
    EndSection
    Section "Module"
    Load "dri"
    Load "glx"
    # Load "record"
    Load "GLcore"
    Load "dbe"
    Load "extmod"
    Load "synaptics"
    Load "xtrap"
    Load "freetype"
    Load "evdev"
    EndSection
    Section "InputDevice"
    Identifier "Keyboard0"
    Driver "kbd"
    EndSection
    Section "InputDevice"
    Driver "synaptics"
    Identifier "Mouse0"
    Option "Device" "/dev/mouse0"
    Option "Protocol" "auto-dev"
    Option "LeftEdge" "1700"
    Option "RightEdge" "5300"
    Option "TopEdge" "1700"
    Option "BottomEdge" "4200"
    Option "FingerLow" "25"
    Option "FingerHigh" "30"
    Option "MaxTapTime" "180"
    Option "MaxTapMove" "220"
    Option "VertScrollDelta" "100"
    Option "MinSpeed" "0.06"
    Option "MaxSpeed" "0.12"
    Option "AccelFactor" "0.0030"
    Option "SHMConfig" "true"
    # Option "Repeater" "/dev/ps2mouse"
    EndSection
    Section "InputDevice"
    Identifier "Mouse0"
    Driver "mouse"
    Option "Protocol" "auto"
    Option "Device" "/dev/input/mice"
    Option "ZAxisMapping" "4 5 6 7"
    EndSection
    Section "Monitor"
    #DisplaySize 1280 800 # mm
    Identifier "Monitor0"
    VendorName "LPL"
    ModelName "c000"
    EndSection
    Section "Device"
    ### Available Driver options are:-
    ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
    ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
    ### [arg]: arg optional
    #Option "NoAccel" # [<bool>]
    #Option "SWcursor" # [<bool>]
    #Option "ColorKey" # <i>
    #Option "CacheLines" # <i>
    #Option "Dac6Bit" # [<bool>]
    #Option "DRI" # [<bool>]
    #Option "NoDDC" # [<bool>]
    #Option "ShowCache" # [<bool>]
    #Option "XvMCSurfaces" # <i>
    #Option "PageFlip" # [<bool>]
    Identifier "Card0"
    Driver "intel"
    VendorName "Intel Corporation"
    BoardName "Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller"
    BusID "PCI:0:2:0"
    Option "AccelMethod" "exa"
    EndSection
    Section "Screen"
    Identifier "Screen0"
    Device "Card0"
    Monitor "Monitor0"
    SubSection "Display"
    Viewport 0 0
    Depth 1
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 4
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 8
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 15
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 16
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 24
    EndSubSection
    EndSection
    .xinitrc
    #!/bin/sh
    exec openbox-session
    #ivman &
    #exec awesome &
    #/usr/lib/wicd/wicd-client.py &
    #xterm -bg black -fg white
    rc.lua
    -- GGLucas' Awesome-3 Lua Config :D
    -- Version 2
    -- This config is for use with awesome 3.0.
    -- If you have any suggestions or questions, feel free
    -- to pass me a message, find me in #awesome on OFTC, or
    -- email me at <lucas[at]glacicle.com>
    -- I use both wicked and eminent, so to use it,
    -- you'll need to get both those helper libraries too.
    -- Note that I use all-custom keybindings, so you might
    -- want to copy the default rc.lua's keybindings
    -- into here if you wish to use those, although you might
    -- find you like mine better :P
    ---- {{{ Require lua libraries
    -- Shipped with awesome
    require("awful")
    require("beautiful")
    -- External
    require("wicked") -- Widgets
    require("eminent") -- Dynamic tagging
    ---- {{{ 'Beautiful' theme settings
    -- Font
    beautiful.font = "Terminus 8"
    -- Background
    beautiful.bg_normal = '#22222222'
    beautiful.bg_focus = '#285577'
    beautiful.bg_sbfocus = '#11335565'
    beautiful.bg_urgent = '#A10000'
    -- Foreground
    beautiful.fg_normal = '#999999'
    beautiful.fg_focus = '#ffffff'
    beautiful.fg_urgent = '#ffffff'
    -- Border
    beautiful.border_width = 2
    beautiful.border_normal = '#333333'
    beautiful.border_focus = '#4C7899'
    beautiful.border_marked = '#91231c'
    ---- {{{ Modkeys
    key = {}
    key.none = {}
    key.alt = {"Mod1"}
    key.super = {"Mod4"}
    key.shift = {"Shift"}
    key.control = {"Control"}
    key.super_alt = {key.super[1], key.alt[1]}
    key.super_shift = {key.super[1], key.shift[1]}
    key.super_control = {key.super[1], key.control[1]}
    key.control_alt = {key.control[1], key.alt[1]}
    key.shift_alt = {key.shift[1], key.alt[1]}
    ---- {{{ Settings
    -- Initialise tables
    settings = {}
    settings.widget = {}
    settings.apps = {}
    settings.tag = {}
    settings.bindings = {}
    -- {{{ General
    -- Widget spacer and separator
    settings.widget_spacer = " "
    settings.widget_separator = " "
    -- Warp mouse
    settings.warp_mouse = true
    -- New become master
    settings.new_become_master = false
    -- Tag mwfact
    settings.tag.mwfact = 0.618033988769
    -- {{{ Applications
    -- Terminal application
    settings.apps.terminal = 'xterm'
    -- Terminal with gnu screen
    settings.apps.gnu_screen = settings.apps.terminal..' -e zsh -c "exec screen -x main"'
    -- Terminal with gnu screen over ssh to my main machine
    settings.apps.gnu_screen_ssh_desktop = settings.apps.terminal..' -e zsh -c "ssh -t me.glacicle.com screen -x main"'
    -- Terminal with gnu screen over ssh to my vps server
    settings.apps.gnu_screen_ssh_server = settings.apps.terminal..' -e zsh -c "ssh -t glacicle.com screen -x"'
    -- Command to lock the screen
    settings.apps.lock_screen = 'xscreensaver-command -lock'
    -- Command to turn screen off with DPMS
    settings.apps.screen_off = 'sleep 1; xset dpms force off'
    -- File manager application
    settings.apps.filemanager = settings.apps.terminal..' -e zsh -c "vifm %s"'
    -- Toggle music
    -- Note: mpdtoggle is my own script for finding out if
    -- I want to toggle or play/stop, replace it with mpc if
    -- you wish to use it.
    settings.apps.music_toggle = "mpdtoggle toggle"
    -- {{{ Floating windows
    settings.floating = {
    ["gimp"] = true,
    ["urxvtcnotify"] = true,
    -- {{{ Other
    -- Check what widget mode to use
    if io.open(os.getenv("HOME").."/.laptop_mode") then
    -- Special file exists, display widgets I want
    -- on my laptop
    settings.widget_mode = 'laptop'
    else
    settings.widget_mode = 'desktop'
    end
    -- Highlight statusbar of focussed screen on multiple-monitor setups
    if screen.count() > 1 then
    settings.statusbar_highlight_focus = {true, 1}
    end
    ---- {{{ Keybindings
    -- Initialise table
    settings.bindings.wm = {}
    settings.bindings.mouse = {}
    -- {{{ Open the filemanager at specific locations
    settings.bindings.filemanager = {
    -- Data partition
    ["/data"] = {key.alt, "d"},
    -- Data partition on desktop pc from laptop (sshfs mount)
    ["/desktop/data"] = {key.shift_alt, "d"},
    -- Home Directory
    [os.getenv("HOME")] = {key.alt, "a"},
    -- {{{ Run specific commands
    settings.bindings.commands = {
    -- Open Terminal
    [settings.apps.terminal] = {key.alt, "q"},
    -- GNU Screen
    [settings.apps.gnu_screen] = {key.super, "k"},
    -- GNU Screen over SSH to Desktop
    [settings.apps.gnu_screen_ssh_desktop] = {key.super_shift, "k"},
    -- GNU Screen over SSH to VPS
    [settings.apps.gnu_screen_ssh_server] = {key.super_alt, "k"},
    -- Lock screen
    [settings.apps.lock_screen] = {key.super, "l"},
    -- Screen off with DPMS
    [settings.apps.screen_off] = {key.super, "o"},
    -- Toggle music
    [settings.apps.music_toggle] = {key.alt, "e"},
    -- {{{ Client keybindings
    settings.bindings.wm.client = {
    -- Alt+`: Close window
    [function() client.focus:kill() end] = {key.alt, "#49"},
    -- Mod+q: Focus previous window
    [function() awful.client.focusbyidx(-1) end] = {key.super, "q"},
    -- Mod+w: Focus next window
    [function() awful.client.focusbyidx(1) end] = {key.super, "w"},
    -- Mod+Shift+q: Swap with previous window
    [function() awful.client.swap(-1) end] = {key.super_shift, "q"},
    -- Mod+Shift+w: Swap with previous window
    [function() awful.client.swap(1) end] = {key.super_shift, "w"},
    -- Mod+c: Toggle floating
    [awful.client.togglefloating] = {key.super, "c"},
    -- Mod+\: Make window master
    [function() local c = awful.client.master(); if c ~= client.focus then c:swap(client.focus) end end] =
    {key.super, "#51"},
    -- Mod+Shift+a: Move window to previous tag
    [function () awful.client.movetotag(eminent.tag.getprev(mouse.screen)) end] =
    {key.super_shift, "a"},
    -- Mod+Shift+s: Move window to next tag
    [function () awful.client.movetotag(eminent.tag.getnext(mouse.screen)) end] =
    {key.super_shift, "s"},
    -- Mod+Shift+e: Move window to next screen
    [function () s = client.focus.screen+1; if s > screen.count() then s = 1 end; client.focus.screen = s end] =
    {key.super_shift, "e"},
    -- Mod+Shift+d: Move window to previous screen
    [function () s = client.focus.screen-1; if s < 1 then s = screen.count() end; client.focus.screen = s end] =
    {key.super_shift, "d"},
    -- {{{ Tag bindings
    settings.bindings.wm.tag = {
    -- Mod+a: Switch to previous tag
    [function() eminent.tag.prev(mouse.screen) end] = {key.super, "a"},
    -- Mod+s: Switch to next tag
    [function() eminent.tag.next(mouse.screen) end] = {key.super, "s"},
    -- Alt+\: Switch to float layout
    [function() awful.layout.set('floating') end] = {key.alt, "#51"},
    -- Alt+z: Switch to max layout
    [function() awful.layout.set('max') end] = {key.alt, "z"},
    -- Alt+x: Switch to tile layout
    [function() awful.layout.set('tile') end] = {key.alt, "x"},
    -- {{{ Prompt bindings
    settings.bindings.prompt = {
    -- Alt+w: Run prompt
    [{awful.spawn, " Run: "}] = {key.alt, "w"},
    -- Mod+Alt+w: Lua eval prompt
    [{awful.eval, " Run Lua: "}] = {key.super_alt, "w"},
    -- {{{ Miscellaneous bindings
    settings.bindings.wm.misc = {
    -- Mod+Alt+r: Restart awesome
    [awesome.restart] = {key.super_alt, "r"},
    -- Mod+e: Switch focus to next screen
    [function() awful.screen.focus(1) end] = {key.super, "e"},
    -- Mod+d: Switch focus to previous screen
    [function() awful.screen.focus(-1) end] = {key.super, "d"},
    -- {{{ Keyboard digit bindings
    settings.bindings.digits = {
    -- Mod+##: View tag
    [awful.tag.viewonly] = key.super,
    -- Mod+Shift+##: Toggle tag view
    [function(t) t.selected = not t.selected end] = key.super_shift,
    -- Mod+Control+##: Move window to tag
    [awful.client.movetotag] = key.super_control,
    -- Mod+Alt+##: Toggle window on tag
    [awful.client.toggletag] = key.super_alt,
    -- {{{ Mouse bindings
    settings.bindings.mouse.desktop = {
    -- Right click on desktop: Open terminal
    [function() awful.spawn(settings.apps.terminal) end] = {key.none, 3},
    settings.bindings.mouse.client = {
    -- Alt+Left: Move window
    [function(c) c:mouse_move() end] = {key.alt, 1},
    -- Alt+Right: Resize window
    [function(c) c:mouse_resize({corner="bottomright"}) end] = {key.alt, 3},
    ---- {{{ Markup helper functions
    -- Inline markup is a tad ugly, so use these functions
    -- to dynamically create markup, we hook them into
    -- the beautiful namespace for clarity.
    beautiful.markup = {}
    function beautiful.markup.bg(color, text)
    return '<bg color="'..color..'" />'..text
    end
    function beautiful.markup.fg(color, text)
    return '<span color="'..color..'">'..text..'</span>'
    end
    function beautiful.markup.font(font, text)
    return '<span font_desc="'..font..'">'..text..'</span>'
    end
    function beautiful.markup.title(t)
    return t
    end
    function beautiful.markup.title_normal(t)
    return beautiful.title(t)
    end
    function beautiful.markup.title_focus(t)
    return beautiful.markup.bg(beautiful.bg_focus, beautiful.markup.fg(beautiful.fg_focus, beautiful.markup.title(t)))
    end
    function beautiful.markup.title_urgent(t)
    return beautiful.markup.bg(beautiful.bg_urgent, beautiful.markup.fg(beautiful.fg_urgent, beautiful.markup.title(t)))
    end
    function beautiful.markup.bold(text)
    return '<b>'..text..'</b>'
    end
    function beautiful.markup.heading(text)
    return beautiful.markup.fg(beautiful.fg_focus, beautiful.markup.bold(text))
    end
    ---- {{{ Widgets
    settings.statusbars = {}
    settings.widgets = {}
    settings.statusbars[1] = {{
    position = "top",
    height = 18,
    fg = beautiful.fg_normal,
    bg = beautiful.bg_normal,
    name = "mainstatusbar",
    }, "all"}
    settings.promptbar = {
    position = "top",
    height = 18,
    fg = beautiful.fg_normal,
    bg = beautiful.bg_normal,
    name = "promptbar",
    -- {{{ Taglist
    maintaglist = widget({
    type = 'taglist',
    name = 'maintaglist'
    function maintaglist.label(t)
    return awful.widget.taglist.label.noempty(t)
    end
    maintaglist:mouse_add(mouse(key.none, 1, function (o, t) awful.tag.viewonly(t) end))
    table.insert(settings.widgets, {1, maintaglist})
    if settings.widget_mode == 'laptop' or settings.widget_mode == 'all' then
    -- {{{ Battery Widget
    batterywidget = widget({
    type = 'textbox',
    name = 'batterywidget',
    align = 'right'
    function read_battery_temp(format)
    local f = io.open('/tmp/battery-temp')
    if f == nil then
    return {'n/a'}
    end
    local n = f:read()
    if n == nil then
    f:close()
    return {'n/a'}
    end
    return {awful.escape(n)}
    end
    wicked.register(batterywidget, read_battery_temp,
    settings.widget_spacer..beautiful.markup.heading('Battery')..': $1'..settings.widget_spacer..settings.widget_separator,
    30)
    -- Start timer to read the temp file
    awful.hooks.timer.register(28, function ()
    -- Call battery script to get batt%
    command = "battery"
    os.execute(command..' > /tmp/battery-temp &')
    end, true)
    table.insert(settings.widgets, {1, batterywidget})
    end
    if settings.widget_mode ~= 'none' then
    -- {{{ MPD Widget
    mpdwidget = widget({
    type = 'textbox',
    name = 'mpdwidget',
    align = 'right'
    wicked.register(mpdwidget, wicked.widgets.mpd, function (widget, args)
    -- I don't want the stream name on my statusbar, so I gsub it out,
    -- feel free to remove this bit
    return settings.widget_spacer..beautiful.markup.heading('MPD')..': '
    ..args[1]:gsub('AnimeNfo Radio | Serving you the best Anime music!: ','')
    ..settings.widget_spacer..settings.widget_separator end)
    table.insert(settings.widgets, {1, mpdwidget})
    -- {{{ GMail Widget
    gmailwidget = widget({
    type = 'textbox',
    name = 'gmailwidget',
    align = 'right'
    gmailwidget:mouse_add(mouse(key.none, 1, function () wicked.update(gmailwidget) end))
    function read_gmail_temp(format)
    local f = io.open('/tmp/gmail-temp')
    if f == nil then
    return {'n/a'}
    end
    local n = f:read()
    if n == nil or f == ' ' or f == '' then
    f:close()
    return {'n/a'}
    end
    return {n}
    end
    wicked.register(gmailwidget, read_gmail_temp, function (widget, args)
    local n = args[1]
    local out = settings.widget_spacer..beautiful.markup.heading('GMail')..': '
    if n ~= "n/a" and tonumber(n) > 0 then
    out = out..beautiful.markup.bg(beautiful.bg_urgent, beautiful.markup.fg(beautiful.fg_urgent, tostring(n)))
    else
    out = out..tostring(n)
    end
    out = out..settings.widget_spacer..settings.widget_separator
    return out
    end, 120)
    -- Start timer to fill the temp file
    awful.hooks.timer.register(110, function ()
    -- Call GMail check script to check for new email
    os.execute(os.getenv("HOME")..'/other/.gmail.py > /tmp/gmail-temp &')
    end, true)
    wicked.update(gmailwidget)
    table.insert(settings.widgets, {1, gmailwidget})
    -- {{{ Load Averages Widget
    loadwidget = widget({
    type = 'textbox',
    name = 'loadwidget',
    align = 'right'
    function widget_loadavg(format)
    -- Use /proc/loadavg to get the average system load on 1, 5 and 15 minute intervals
    local f = io.open('/proc/loadavg')
    local n = f:read()
    f:close()
    -- Find the third space
    local pos = n:find(' ', n:find(' ', n:find(' ')+1)+1)
    return {n:sub(1,pos-1)}
    end
    wicked.register(loadwidget, widget_loadavg,
    settings.widget_spacer..beautiful.markup.heading('Load')..': $1'..settings.widget_spacer..settings.widget_separator, 2)
    table.insert(settings.widgets, {1, loadwidget})
    -- {{{ CPU Usage Widget
    cputextwidget = widget({
    type = 'textbox',
    name = 'cputextwidget',
    align = 'right'
    wicked.register(cputextwidget, wicked.widgets.cpu,
    settings.widget_spacer..beautiful.markup.heading('CPU')..': $1%'..settings.widget_spacer..settings.widget_separator,
    nil, nil, 2)
    table.insert(settings.widgets, {1, cputextwidget})
    -- {{{ CPU Graph Widget
    cpugraphwidget = widget({
    type = 'graph',
    name = 'cpugraphwidget',
    align = 'right'
    cpugraphwidget.height = 0.85
    cpugraphwidget.width = 45
    cpugraphwidget.bg = '#333333'
    cpugraphwidget.border_color = '#0a0a0a'
    cpugraphwidget.grow = 'left'
    cpugraphwidget:plot_properties_set('cpu', {
    fg = '#AEC6D8',
    fg_center = '#285577',
    fg_end = '#285577',
    vertical_gradient = false
    wicked.register(cpugraphwidget, wicked.widgets.cpu, '$1', 1, 'cpu')
    table.insert(settings.widgets, {1, cpugraphwidget})
    -- {{{ Memory Usage Widget
    memtextwidget = widget({
    type = 'textbox',
    name = 'memtextwidget',
    align = 'right'
    wicked.register(memtextwidget, wicked.widgets.mem,
    settings.widget_spacer..beautiful.markup.heading('MEM')..': '..
    '$1% ($2/$3)'..settings.widget_spacer..settings.widget_separator,
    3, nil, {2, 4, 4})
    table.insert(settings.widgets, {1, memtextwidget})
    -- {{{ Memory Graph Widget
    memgraphwidget = widget({
    type = 'graph',
    name = 'memgraphwidget',
    align = 'right'
    memgraphwidget.height = 0.85
    memgraphwidget.width = 45
    memgraphwidget.bg = '#333333'
    memgraphwidget.border_color = '#0a0a0a'
    memgraphwidget.grow = 'left'
    memgraphwidget:plot_properties_set('mem', {
    fg = '#AEC6D8',
    fg_center = '#285577',
    fg_end = '#285577',
    vertical_gradient = false
    wicked.register(memgraphwidget, wicked.widgets.mem, '$1', 1, 'mem')
    table.insert(settings.widgets, {1, memgraphwidget})
    -- {{{ Other Widget
    settings.widget_spacerwidget = widget({ type = 'textbox', name = 'settings.widget_spacerwidget', align = 'right' })
    settings.widget_spacerwidget.text = settings.widget_spacer..settings.widget_separator
    table.insert(settings.widgets, {1, settings.widget_spacerwidget})
    end
    -- You shouldn't have to edit the code after this,
    -- it takes care of applying the settings above.
    ---- {{{ Initialisations
    -- Register beautiful with awful
    awful.beautiful.register(beautiful)
    -- Set default colors
    awesome.colors_set({
    fg = beautiful.fg_normal,
    bg = beautiful.bg_normal })
    -- Set default font
    awesome.font_set(beautiful.font)
    -- Pre-create new tags with eminent
    for s=1, screen.count() do
    eminent.newtag(s, 5)
    end
    ---- {{{ Create statusbars
    local mainstatusbar = {}
    for i, b in pairs(settings.statusbars) do
    mainstatusbar[i] = {}
    for s=1,screen.count() do
    this_screen = false
    if b[2] ~= "all" then
    for sc in pairs(b[2]) do
    if sc == s then
    this_screen = true
    break
    end
    end
    end
    if b[2] == "all" or this_screen then
    mainstatusbar[i][s] = statusbar(b[1])
    local widgets = {}
    for ii, w in pairs(settings.widgets) do
    if w[1] == i then
    table.insert(widgets, w[2])
    end
    end
    mainstatusbar[i][s]:widgets(widgets)
    mainstatusbar[i][s].screen = s
    end
    end
    end
    ---- {{{ Create prompt statusbar
    local mainpromptbar = statusbar(settings.promptbar)
    local mainpromptbox = widget({type = "textbox", align = "left", name = "mainpromptbox"})
    mainpromptbar:widgets({mainpromptbox})
    mainpromptbar.screen = nil
    ---- {{{ Useful functions
    -- {{{ Mouse warp function
    function mouse_warp(c, force)
    -- Allow skipping a warp
    if warp_skip then
    warp_skip = false
    return
    end
    -- Get vars
    local sel = c or client.focus
    if sel == nil then return end
    local coords = sel:coords()
    local m = mouse.coords()
    -- Settings
    mouse_padd = 6
    border_area = 5
    -- Check if mouse is not already inside the window
    if (( m.x < coords.x-border_area or
    m.y < coords.y-border_area or
    m.x > coords.x+coords.width+border_area or
    m.y > coords.y+coords.height+border_area
    ) and (
    table.maxn(m.buttons) == 0
    )) or force
    then
    mouse.coords({ x=coords.x+mouse_padd, y=coords.y+mouse_padd})
    end
    end
    -- {{{ Prompt with statusbar
    function prompt_statusbar(s, callback, prompt)
    if not callback then callback = awful.spawn end
    if not prompt then prompt = " Run: " end
    for i, b in pairs(mainstatusbar) do
    for ii, bb in pairs(b) do
    if bb.screen == s then
    bb.screen = nil
    end
    end
    end
    mainpromptbar.screen = s
    awful.prompt.run({prompt = prompt}, mainpromptbox, callback,
    awful.completion.bash, os.getenv("HOME") .. "/.cache/awesome_history", 50, function ()
    mainpromptbar.screen = nil
    for i, b in pairs(mainstatusbar) do
    for ii, bb in pairs(b) do
    if ii == s then
    bb.screen = ii
    end
    end
    end
    end)
    end
    ---- {{{ Create bindings
    --- This reads the binding tables and turns them into actual keybindings
    -- WM Bindings
    for i,table in pairs(settings.bindings.wm) do
    for f, keys in pairs(table) do
    keybinding(keys[1], keys[2], f):add()
    end
    end
    -- Keyboard digit bindings
    for i=1,9 do
    for f, mod in pairs(settings.bindings.digits) do
    keybinding(mod, i, function()
    t = eminent.tag.getn(i, nil, true)
    if not t then return end
    f(t)
    end):add()
    end
    end
    -- Prompt Bindings
    for prompt, keys in pairs(settings.bindings.prompt) do
    keybinding(keys[1], keys[2], function() prompt_statusbar(mouse.screen, unpack(prompt)) end):add()
    end
    -- Filemanager bindings
    for loc, keys in pairs(settings.bindings.filemanager) do
    keybinding(keys[1], keys[2], function() awful.spawn(string.format(settings.apps.filemanager, loc)) end):add()
    end
    -- Custom command bindings
    for command, keys in pairs(settings.bindings.commands) do
    keybinding(keys[1], keys[2], function() awful.spawn(command) end):add()
    end
    -- Desktop mouse bindings
    for f, keys in pairs(settings.bindings.mouse.desktop) do
    awesome.mouse_add(mouse(keys[1], keys[2], f))
    end
    ---- {{{ Set hooks
    -- {{{ Focus hook
    awful.hooks.focus.register(function (c)
    -- Skip over my urxvtcnotify
    if c.name and c.name:lower():find('urxvtcnotify') and awful.client.next(1) ~= c then
    awful.client.focusbyidx(1)
    return
    end
    -- Set border
    c.border_color = beautiful.border_focus
    -- Raise the client
    c:raise()
    -- Set statusbar color
    if settings.statusbar_highlight_focus and settings.statusbar_highlight_focus[1] then
    if last_screen == nil or last_screen ~= c.screen then
    mainstatusbar[settings.statusbar_highlight_focus[2]][c.screen].bg = beautiful.bg_sbfocus
    if last_screen then
    mainstatusbar[settings.statusbar_highlight_focus[2]][last_screen].bg = beautiful.bg_normal
    end
    end
    last_screen = c.screen
    end
    end)
    -- {{{ Unfocus hook
    awful.hooks.unfocus.register(function (c)
    -- Set border
    c.border_color = beautiful.border_normal
    end)
    -- {{{ Mouseover hook
    awful.hooks.mouseover.register(function (c)
    -- Set focus for sloppy focus
    client.focus = c
    end)
    -- {{{ Manage hook
    awful.hooks.manage.register(function (c)
    local class = ""
    local name = ""
    if c.class then
    class = c.class:lower()
    end
    if c.name then
    name = c.name:lower()
    end
    -- Create border
    c.border_width = beautiful.border_width
    c.border_color = beautiful.border_normal
    -- Add mouse bindings
    for f, keys in pairs(settings.bindings.mouse.client) do
    c:mouse_add(mouse(keys[1], keys[2], f))
    end
    -- Check if floating
    for app, i in pairs(settings.floating) do
    if class:find(app) or name:find(app) then
    c.floating = i
    break
    end
    end
    if name:find('urxvtcnotify') then
    -- I got sick of libnotify/notification-daemon
    -- and their dependencies, so I'm using a little
    -- urxvtc window with some text in it as notifications :P
    -- This makes it appear at the correct place,
    -- feel free to remove the whole section, you probably
    -- won't need it.
    c.screen = 3
    c:coords({
    x = 1680*2+1400,
    y = 18,
    width = 276,
    height = 106
    c.border_color = beautiful.border_normal
    local tags = {}
    for i,t in pairs(eminent.tags[3]) do
    if eminent.tag.isoccupied(3, t) then
    table.insert(tags, t)
    end
    end
    c:tags(tags)
    return 0
    end
    -- Focus new clients
    client.focus = c
    -- Prevent new windows from becoming master
    if not settings.new_become_master then
    awful.client.swap(1, c)
    end
    -- Don't honor size hints
    c.honorsizehints = false
    end)
    -- {{{ Arrange hook
    awful.hooks.arrange.register(function(s)
    -- Warp the mouse
    if settings.warp_mouse then
    mouse_warp()
    end
    -- Check focus
    if not client.focus then
    local c = awful.client.focus.history.get(s, 0)
    if c then client.focus = c end
    end
    end)
    -- vim: set filetype=lua fdm=marker tabstop=4 shiftwidth=4 expandtab smarttab autoindent smartindent nu:
    Last edited by Tim Fox (2008-09-20 18:15:15)

    andre.ramaciotti wrote:And I'm not sure if you should put that & after exec awesome. It works fine here without it.
    No & after entries in .xinitrc . You've commented out the awesome entry.

  • [SOLVED] awesome & urxvt results in some screen flickering

    Hi,
    i've been using awesome since a few weeks and i noticed a flickering problem when starting urxvt (via mod4+enter).
    urxvt starts, disappears, comes back again, disappears and so on.
    starting up urxvt (time until i get a usable promt) takes about 1-2 seconds.
    However, i don't know how to track the problem down. Maybe it is urxvt's (i think it is), maybe it is awesome's or even ati's fault (using 2.6.32 with open source ati driver).
    when i switch between multiple windows (using mod4+n) only urxvt windows are flickering. Switching between gui-apps (ff, dolphin, …) works as expected.
    maybe someone has an idea about this …
    Here are the configs:
    .Xdefaults:
    !URxvt settings
    !--[Title]--!
    URxvt*title: urxvtc
    URxvt*termName: rxvt-unicode
    URxvt*cursorBlink: true
    URxvt*urgentOnBell: true
    !--[Url's /launching/marking/yanking]--!
    URxvt.perl-ext: default,matcher
    URxvt.urlLauncher: /usr/bin/firefox
    URxvt.matcher.button: 1
    !--[Fonts]--!
    URxvt*font: xft:Bitstream Vera Sans Mono:pixelsize=14:antialias=false
    URxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true:antialias=false
    URxvt.boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true:antialias=false
    URxvt.underlineColor: yellow
    URxvt.scrollBar: false
    !--[Urxvt Options]--!
    URxvt.boldMode: false
    URxvt.imLocale: de_AT.UTF-8
    URxvt.loginShell: true
    URxvt.saveLines: 512
    URxvt.inheritPixmap: true
    URxvt.borderless: true
    URxvt.jumpScroll: true
    URxvt.tintColor: white
    URxvt.internalBorder: 0
    URxvt.cursorBlink: false
    URxvt.cursorColor: #dd9900
    URxvt.cursorColor2: #000000
    URxvt.background: #222222
    URxvt.foreground: #ddccbb
    URxvt.colorBD: #ffffff
    URxvt.colorIT: #bbbbbb
    URxvt.colorUL: #999999
    URxvt.underlineColor: #999999
    URxvt*saveLines: 512
    !URxvt*depth: 32
    !URxvt*background: rgba:02f0/04f0/04f0/cccc
    URxvt*transparent: true
    URxvt*shading: 10
    !--[Colours]--!
    !Theme One from
    !http://phraktured.net/terminal-colors/terminal%20theme.tags.html
    *background: rgb:00/00/00
    *foreground: rgb:a8/a8/a8
    *color0: rgb:00/00/00
    *color1: rgb:a8/00/00
    *color2: rgb:00/a8/00
    *color3: rgb:a8/54/00
    *color4: rgb:00/00/a8
    *color5: rgb:a8/00/a8
    *color6: rgb:00/a8/a8
    *color7: rgb:a8/a8/a8
    *color8: rgb:54/50/54
    *color9: rgb:f8/54/50
    *color10: rgb:50/fc/50
    *color11: rgb:f8/fc/50
    *color12: rgb:50/54/f8
    *color13: rgb:f8/54/f8
    *color14: rgb:50/fc/f8
    *color15: rgb:f8/fc/f8
    http://github.com/nblock/config/blob/master/.Xdefaults
    rc.lua:
    -- {{{ Load libraries
    -- Standard awesome library
    require("awful")
    require("awful.autofocus")
    require("awful.rules")
    -- Theme handling library
    require("beautiful")
    -- Notification library
    require("naughty")
    require("vicious")
    -- {{{ Variable definitions
    -- Themes define colours, icons, and wallpapers
    beautiful.init("/usr/share/awesome/themes/zenburn/theme.lua")
    -- This is used later as the default terminal and editor to run.
    terminal = "urxvtc"
    editor = "vim"
    editor_cmd = terminal .. " -e " .. editor
    -- Default modkey.
    -- Usually, Mod4 is the key with a logo between Control and Alt.
    -- If you do not like this or do not have such a key,
    -- I suggest you to remap Mod4 to another key using xmodmap or other tools.
    -- However, you can use another modifier like Mod1, but it may interact with others.
    modkey = "Mod4"
    -- Table of layouts to cover with awful.layout.inc, order matters.
    layouts =
    awful.layout.suit.tile, --1
    awful.layout.suit.tile.left, --2
    awful.layout.suit.tile.bottom, --3
    awful.layout.suit.tile.top, --4
    awful.layout.suit.fair, --5
    awful.layout.suit.fair.horizontal, --6
    awful.layout.suit.spiral, --7
    awful.layout.suit.spiral.dwindle, --8
    awful.layout.suit.max, --9
    awful.layout.suit.max.fullscreen, --10
    awful.layout.suit.magnifier, --11
    awful.layout.suit.floating --12
    -- some commands
    local commands = {}
    commands.suspend = "sudo pm-suspend"
    commands.help = "touch ~/seppal"
    commands.lock = "xscreensaver-command --lock"
    commands.screenshot = "scrot -e 'mv $f ~/bilder/screenshots'"
    --audio stuff
    commands.raisevol = "amixer set PCM 2%+"
    commands.lowervol = "amixer set PCM 2%-"
    commands.mute = "amixer sset PCM toggle"
    commands.cmusnext = "cmus-remote --next"
    commands.cmusprev = "cmus-remote --prev"
    commands.cmuspause = "cmus-remote --pause"
    commands.cmusplay = "cmus-remote --play"
    commands.calc = "krunner"
    --todo
    commands.fileman = "pcmanfm"
    commands.calc = "xcalc"
    commands.browser = "firefox"
    -- {{{ 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 download", "2 mail", "3 chat",
    "4 music", "5 news", "6 fm",
    7, 8, 9 }, s,
    {layouts[3], layouts[1], layouts[1], -- Tags: 1, 2, 3
    layouts[1], layouts[1], layouts[1], -- 4, 5 ,6
    layouts[1], layouts[1], layouts[1] -- 7, 8, 9
    end
    -- {{{ Menu
    -- Create a laucher widget and a main menu
    myawesomemenu = {
    { "manual", terminal .. " -e man awesome" },
    { "edit config", editor_cmd .. " " .. awful.util.getdir("config") .. "/rc.lua" },
    { "restart", awesome.restart },
    { "quit", awesome.quit }
    mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
    { "open terminal", terminal }
    mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon),
    menu = mymainmenu })
    -- {{{ Wibox
    -- {{{ Widgets configuration
    -- {{{ Reusable separators
    local spacer = widget({ type = "textbox", name = "spacer" })
    local separator = widget({ type = "textbox", name = "separator" })
    spacer.text = " "
    separator.text = " <span foreground='red'>•</span> "
    -- {{{ CPU load
    local cpuwidget = widget({ type = "textbox" })
    vicious.register(cpuwidget, vicious.widgets.cpu, "<span foreground='orange'>load: </span><span foreground='green'>$2%</span><span foreground='orange'> - </span><span foreground='green'>$3%</span>")
    -- {{{ CPU temperature
    local thermalwidget = widget({ type = "textbox" })
    vicious.register(thermalwidget, vicious.widgets.thermal, "<span foreground='orange'>temp: </span><span foreground='green'>$1°C</span>", 20, "thermal_zone1")
    -- {{{ Battery state
    -- Widget icon
    -- baticon = widget({ type = "imagebox", name = "baticon" })
    -- baticon.image = image(beautiful.widget_bat)
    local batwidget = widget({ type = "textbox" })
    vicious.register(batwidget, vicious.widgets.bat, "<span foreground='orange'>bat: </span><span foreground='green'>$1$2%</span>", 60, "C1C5")
    -- {{{ Date and time
    local datewidget = widget({ type = "textbox" })
    vicious.register(datewidget, vicious.widgets.date, "<span foreground='green'>%a, %d.%m.%y - %H:%M</span>", 5)
    -- {{{ Volume widget
    local volwidget = widget({ type = "textbox" })
    vicious.register(volwidget, vicious.widgets.volume, "<span foreground='orange'>vol: </span><span foreground='green'>$1%</span>", 1, 'PCM')
    -- {{{ System tray
    systray = widget({ type = "systray" })
    -- {{{ Wibox initialisation
    local wibox = {}
    local promptbox = {}
    local layoutbox = {}
    local taglist = {}
    taglist.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))
    for s = 1, screen.count() do
    -- Create a promptbox
    promptbox[s] = awful.widget.prompt({ layout = awful.widget.layout.horizontal.leftright })
    -- Create a layoutbox
    layoutbox[s] = awful.widget.layoutbox(s)
    layoutbox[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
    taglist[s] = awful.widget.taglist(s, awful.widget.taglist.label.all, taglist.buttons)
    -- Create the wibox
    wibox[s] = awful.wibox({
    position = "top", screen = s,
    fg = beautiful.fg_normal, bg = beautiful.bg_normal
    -- Add widgets to the wibox
    wibox[s].widgets = {{
    launcher, taglist[s], layoutbox[s], promptbox[s],
    layout = awful.widget.layout.horizontal.leftright
    s == screen.count() and systray or nil,
    spacer, datewidget,
    separator, volwidget,
    separator, batwidget,
    separator, cpuwidget,
    separator, thermalwidget,
    layout = awful.widget.layout.horizontal.rightleft
    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(
    --user defined
    awful.key({}, "XF86PowerOff", function() awful.util.spawn_with_shell(commands.suspend) end ),
    awful.key({}, "Help", function() awful.util.spawn_with_shell(commands.help) end ),
    awful.key({ modkey, }, "F12", function () awful.util.spawn_with_shell(commands.lock) end),
    --audio stuff
    awful.key({}, "XF86AudioMute", function() awful.util.spawn_with_shell(commands.mute) end ),
    awful.key({}, "XF86AudioRaiseVolume", function() awful.util.spawn_with_shell(commands.raisevol) end ),
    awful.key({}, "XF86AudioLowerVolume", function() awful.util.spawn_with_shell(commands.lowervol) end ),
    awful.key({}, "XF86AudioNext", function() awful.util.spawn_with_shell(commands.cmusnext) end ),
    awful.key({}, "XF86AudioPrev", function() awful.util.spawn_with_shell(commands.cmusprev) end ),
    awful.key({}, "XF86AudioPlay", function() awful.util.spawn_with_shell(commands.cmuspause) end ),
    awful.key({}, "XF86Tools", function() awful.util.spawn_with_shell(commands.cmusplay) end ),
    awful.key({}, "XF86Calculator", function() awful.util.spawn_with_shell(commands.calc) end ),
    awful.key({}, "Print", function() awful.util.spawn_with_shell(commands.screenshot) end ),
    -- awful.key({}, "XF86MyComputer", function() awful.util.spawn_with_shell(commands.fileman) end ),
    -- awful.key({}, "XF86Mail", function() awful.util.spawn_with_shell(commands.mail) end ),
    -- awful.key({}, "XF86HomePage", function() awful.util.spawn_with_shell(commands.browser) end ),
    -- awful.key({}, "XF86Sleep", function() awful.util.spawn_with_shell(commands.lock) end ),
    -- awful.key({"Control", "Mod1"}, "l", function() awful.util.spawn_with_shell(commands.lock) end ),
    --default bindings
    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, }, "n",
    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({ modkey, }, "w", function () mymainmenu:show(true) end),
    -- Layout manipulation
    awful.key({ modkey, "Shift" }, "n", function () awful.client.swap.byidx( 1) end),
    awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end),
    awful.key({ modkey, "Control" }, "n", 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),
    -- Prompt
    awful.key({ modkey }, "r", function () promptbox[mouse.screen]:run() end),
    -- Run stuff in a Terminal
    awful.key({ modkey }, "x", function ()
    awful.prompt.run({ prompt = "Run in Terminal: " }, promptbox[mouse.screen].widget,
    function (prog)
    awful.util.spawn_with_shell(terminal .. " -name " .. prog .. " -e /bin/bash -c " .. prog)
    end)
    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, "Shift" }, "r", function (c) c:redraw() end),
    awful.key({ modkey, }, "j", function (c) c.minimized = not c.minimized 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 } },
    --floating apps
    { rule = { class = "pinentry-qt4" },
    properties = { floating = true } },
    { rule = { class = "Gimp" },
    properties = { floating = true } },
    --apptags
    --downloading stuff
    { rule = { class = "JDownloader" },
    properties = { tag = tags[1][1],switchtotag = true } },
    { rule = { instance = "rtorrent" },
    properties = { tag = tags[1][1],switchtotag = false } },
    -- mail
    { rule = { class = "Kmail" },
    properties = { tag = tags[1][2],switchtotag = true } },
    --chat and stuff like that
    { rule = { class = "Choqok" },
    properties = { tag = tags[1][3],switchtotag = false } },
    { rule = { class = "Kopete" },
    properties = { tag = tags[1][3],switchtotag = false } },
    -- cmus
    { rule = { instance = "cmus" },
    properties = { tag = tags[1][4],switchtotag = true } },
    -- news
    { rule = { instance = "newsbeuter" },
    properties = { tag = tags[1][5],switchtotag = true } },
    --file manager
    { rule = { class = "Dolphin" },
    properties = { tag = tags[1][6],switchtotag = true } },
    --misc stuff
    { rule = { class = "Konqueror" },
    properties = { tag = tags[1][9],switchtotag = true } },
    -- {{{ 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 })
    -- remove gaps
    c.size_hints_honor = false
    -- 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)
    -- {{{ Autostart
    os.execute("krandrtray &")
    -- vim: fdm=marker fdl=0 sts=4 ai
    http://github.com/nblock/config/blob/ma … ome/rc.lua
    Thanks.
    Last edited by nblock (2010-01-02 09:59:24)

    Try this .Xdefaults which works with awesome/urxvt.
    *utf8: 1
    *faceSize: 10
    *jumpScroll: true
    *multiScroll: true
    *boldMode: false
    *scrollBar: false
    *cutNewline: false
    *scrollTtyOutput: false
    *scrollKey: true
    *cursorBlink: true
    *dynamicColors: true
    *saveLines: 5000
    *geometry: 125x45
    ! URxvt
    URxvt*termName: xterm
    URxvt.font: xft:Bitstream Vera Sans Mono:antialias=true:pixelsize=12
    !urxvt.font: xft:Bitstream Vera Sans Mono-12:antialias=true
    URxvt*transparent: false
    URxvt*tintColor: #666666
    URxvt*shading: 50
    URxvt*scrollBar: false
    URxvt*internalBorder: 5
    URxvt*urgentOnBell: true
    URxvt*scrollTtyKeypress: true
    URxvt*underlineColor: yellow
    URxvt*perl-ext-common: default,matcher
    URxvt*urlLauncher: firefox
    URxvt*matcher.button: 1
    URxvt*matcher.pattern.1: \\bwww\\.[\\w-]\\.[\\w./?&@#-]*[\\w/-]
    ! Colours
    *background: #303030
    *foreground: #f2f2f2
    *cursorColor: #999
    *highlightColor: #333
    *color0: #101010
    *color1: #f13a21
    *color2: #93f91d
    *color3: #ffd00a
    *color4: #404f9e
    *color5: #ec0048
    *color6: #2aa7e7
    *color7: #f2f2f2
    *color8: #1d202f
    *color9: #ff361e
    *color10: #ffc005
    *color11: #93ff00
    *color12: #3071ff
    *color13: #ef0051
    *color14: #4bb8fd
    *color15: #a020f0
    Last edited by r6 (2010-01-02 05:05:11)

Maybe you are looking for

  • MDB cannot loads enitities if more than 10 concurrent messages are sent tog

    Hello, I have seen a weird behavior of the MDB in Jboss or perhaps in transaction management. Here is a my scenario I have a session bean sb, an entity bean e and a message driven bean mb When a request comes to sb , it persists a new entity e and se

  • How do I configure a printer to use duplex all the time

    As with most companies, ours is on a push to go greener.  The IP department has decided that one thing that can be done is to encourage the use of duplex printers.  We have one, but from the Mac you must go in and specifically select printing on both

  • Purchase Requistion to Purchase order

    Dear All, Please confirm how to convert PR to PO. Kindly confirm the overall step involve in it. Regards, Phalgun

  • Imac 27inch custom built flicker screen solution??

    Dear friends and apple support team, i have imac 27 inch custom built and it have the same issue with screen flickering and the local supplier change the machine with a new one and after using the new machine fir one day only the same issue has been

  • Can't Subscribe Can't Create New Calendar

    All, After using iCal with much success (and subscribing to calendars shared in www.icalx.com) suddenly I can't subscribe to any calendar (even those not from icalx) and I can't make a new calendar (even though I only have twelve). Even if I drag an