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. -
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,
GeorgiThis 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. -
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