[SOLVED] Awesome WM unresponsive

Hello,
I've used awesome in the past on my desktop, but have now come to installing it on my laptop. I use SLIM to login and in .xinit rc I have
#!/bin/sh
# ~/.xinitrc
# Executed by startx (run your window manager from here)
#exec gnome-session
# exec startkde
# exec startxfce4
# ...or the Window Manager of your choice
# xsetroot -cursor_name left_ptr
#exec ck-launch-session gnome-session
exec ck-launch-session awesome
But, after logging in, SLIM disappears and I am left with nothing. No window manager, no system tray, nothing. ps -A shows X and awesome running. My rc.lua reads:
-- Standard awesome library
require("awful")
require("awful.autofocus")
require("awful.rules")
-- Theme handling library
require("beautiful")
-- Notification library
require("naughty")
-- Widget Lib
require("vicious")
-- {{{ Variable definitions
-- Themes define colours, icons, and wallpapers
beautiful.init("/home/james/.config/awesome/themes/default/theme.lua")
-- This is used later as the default terminal and editor to run.
terminal = "gnome-terminal"
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, --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
-- {{{ Tags
-- Define a tag table which hold all screen tags.
tags = {
names = { "irssi", "gedit", "chrome", "fs",
"terms", "vlc", "snd", "dl", "misc",
layout = {
layouts[9], layouts[1], layouts[9],
layouts[2], layouts[1], layouts[12],
layouts[5], layouts[3], layouts[12],
for s = 1, screen.count() 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", awesome.restart },
{ "quit", awesome.quit }
myevilmenu = {
{ "GnomeTerm", "gnome-terminal" },
{ "Irssi", "gnome-terminal --full-screen -e irssi"},
{ "Gedit", "gedit" },
{ "BlueFish", "bluefish-unstable" },
{ "AlsaMixer", "Eterm -e alsamixer" },
{ "Thunar", "thunar" },
{ "Chrome", "chromium-browser" },
{ "Deluge", "deluge" },
{ "DeVeDe", "devede" },
{ "VLC", "vlc" },
{ "Audacious2", "audacious2"}
mymainmenu = awful.menu({ items = { { "pure evil", myevilmenu, beautiful.awesome_icon },
{ "awesome", myawesomemenu, beautiful.awesome_icon },
{ "open terminal", terminal }
mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon),
menu = mymainmenu })
-- Separators
spacer = widget({ type = "textbox" })
separator = widget({ type = "textbox" })
spacer.text = " "
separator.text = "|"
-- {{{ Wibox
-- Create a netwidget (usage)
dnicon = widget({ type = "imagebox" })
upicon = widget({ type = "imagebox" })
dnicon.image = image("/home/darthlukan/.config/awesome/icons/down.png")
upicon.image = image("/home/darthlukan/.config/awesome/icons/up.png")
-- Initialize widget
netwidget = widget({ type = "textbox" })
-- Register widget
vicious.register(netwidget, vicious.widgets.net, "${wlan0 up_kb}kb/s / ${wlan0 down_kb}kb/s", 1)
-- Create an fswidget (Eat your heart out Saethr!)
fsicon = widget({ type = "imagebox" })
fsicon.image = image("/home/darthlukan/.config/awesome/icons/disk.png")
-- Initialize widget
fswidget = widget({ type = "textbox" })
-- Register widget
vicious.register(fswidget, vicious.widgets.fs, "Root ${/ used}GB / ${/ avail}GB", 37)
-- Create a gmailwidget (inbox status)
gmailicon = widget({ type = "imagebox" })
gmailicon.image = image("/home/darthlukan/.config/awesome/icons/mail.png")
-- Initialize widget
gmailwidget = widget({ type = "textbox" })
-- Register widget
vicious.register(gmailwidget, vicious.widgets.gmail, "${count}", 260)
-- Create a batwidget (status chrg%)
baticon = widget({ type = "imagebox" })
baticon.image = image("/home/darthlukan/.config/awesome/icons/bat.png")
-- Initialize widget
batwidget = widget({ type = "textbox" })
-- Register widget
vicious.register(batwidget, vicious.widgets.bat, "$1$2%", 31, "BAT1")
-- Create a memwidget (usage$ usedMB/TotalMB)
memicon = widget({ type = "imagebox" })
memicon.image = image("/home/darthlukan/.config/awesome/icons/mem.png")
-- Initialize widget
memwidget = widget({ type = "textbox" })
-- Register widget
vicious.register(memwidget, vicious.widgets.mem, "$1% ($2MB/$3MB)", 13)
-- Create a cpuwidget (usage%)
cpuicon = widget({ type = "imagebox" })
cpuicon.image = image("/home/darthlukan/.config/awesome/icons/cpu.png")
-- Initialize widget
cpuwidget = widget({ type = "textbox" })
-- Register widget
vicious.register(cpuwidget, vicious.widgets.cpu, "$1%:$2%", 2)
-- Create a wifiwidget
wifiicon = widget({ type = "imagebox" })
wifiicon.image = image("/home/darthlukan/.config/awesome/icons/wifi.png")
-- Initialize widget
wifiwidget = widget({ type = "textbox" })
-- Register widget
vicious.register(wifiwidget, vicious.widgets.wifi, "${ssid} ${link}% ${rate}", 5, "wlan0")
-- Create a textclock widget
clockicon = widget({ type = "imagebox" })
clockicon.image = image("/home/darthlukan/.config/awesome/icons/time.png")
mytextclock = awful.widget.textclock({ align = "right" })
-- Create a systray
mysystray = widget({ type = "systray" })
-- 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 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, screen.count() do
-- Create a promptbox for each screen
mypromptbox[s] = awful.widget.prompt({ layout = awful.widget.layout.horizontal.leftright })
-- Create an imagebox widget which will contains an icon indicating which layout we're using.
-- We need one layoutbox per screen.
mylayoutbox[s] = awful.widget.layoutbox(s)
mylayoutbox[s]:buttons(awful.util.table.join(
awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)))
-- Create a taglist widget
mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.label.all, mytaglist.buttons)
-- Create a tasklist widget
mytasklist[s] = awful.widget.tasklist(function(c)
return awful.widget.tasklist.label.currenttags(c, s)
end, mytasklist.buttons)
-- Create the wibox
mywibox[s] = awful.wibox({ position = "top", height = 14, screen = s })
-- Add widgets to the wibox - order matters
mywibox[s].widgets = {
mylauncher,
mytaglist[s],
mypromptbox[s],
layout = awful.widget.layout.horizontal.leftright
mylayoutbox[s],
mytextclock, spacer, clockicon,
separator, batwidget, spacer, baticon, separator,
upicon, netwidget, dnicon, separator,
wifiwidget, spacer, wifiicon, separator,
fswidget, spacer, fsicon, separator,
memwidget, spacer, memicon, separator,
cpuwidget, spacer, cpuicon, separator,
gmailwidget, spacer, gmailicon, separator,
s == 1 and mysystray or nil,
mytasklist[s],
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({ 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(true) 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, "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, }, "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, 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 } },
-- 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)
-- Autostart my personal stuffs
os.execute("gnome-terminal &")
It's poached off one of the supplied configs on the wiki, but with the path to the theme corrected. I also tried using the default theme.
Gnome works perfectly so I assume awesome is kicking up an error, but I can't find any log files anywhere! I've searched the forums for similar problems but I can't figure out what's going wrong - I've done everything by the book!
EDIT: I realise some of the icon paths are still at the default, but I plan on fixing that later when the thing actually works! Just some missing icons wouldn't cause all this, would it?
Last edited by cougem (2010-07-17 15:56:17)

Hello, the Xorg log reads
[ 2979.041]
This is a pre-release version of the X server from The X.Org Foundation.
It is not supported in any way.
Bugs may be filed in the bugzilla at http://bugs.freedesktop.org/.
Select the "xorg" product for bugs you find in this release.
Before reporting bugs in pre-release versions please check the
latest version in the X.Org Foundation git repository.
See http://wiki.x.org/wiki/GitPage for git access instructions.
[ 2979.042]
X.Org X Server 1.8.1.902 (1.8.2 RC 2)
Release Date: 2010-06-21
[ 2979.043] X Protocol Version 11, Revision 0
[ 2979.043] Build Operating System: Linux 2.6.34-ARCH i686
[ 2979.043] Current Operating System: Linux pico 2.6.34-ARCH #1 SMP PREEMPT Mon Jul 5 21:03:38 UTC 2010 i686
[ 2979.044] Kernel command line: root=/dev/disk/by-uuid/e269767a-18f1-4473-a77b-37ca137f6dec ro
[ 2979.044] Build Date: 21 June 2010 11:54:27AM
[ 2979.044]
[ 2979.044] Current version of pixman: 0.18.2
[ 2979.044] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 2979.045] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 2979.046] (==) Log file: "/var/log/Xorg.0.log", Time: Sat Jul 17 17:42:38 2010
[ 2979.046] (==) Using config file: "/etc/X11/xorg.conf"
[ 2979.047] (==) Using config directory: "/etc/X11/xorg.conf.d"
[ 2979.047] (==) ServerLayout "Layout0"
[ 2979.047] (**) |-->Screen "Screen0" (0)
[ 2979.047] (**) | |-->Monitor "Monitor0"
[ 2979.047] (**) | |-->Device "Device0"
[ 2979.047] (**) |-->Input Device "Keyboard0"
[ 2979.047] (**) |-->Input Device "Mouse0"
[ 2979.047] (==) Automatically adding devices
[ 2979.047] (==) Automatically enabling devices
[ 2979.047] (WW) The directory "/usr/share/fonts/OTF/" does not exist.
[ 2979.047] Entry deleted from font path.
[ 2979.047] (==) FontPath set to:
/usr/share/fonts/misc/,
/usr/share/fonts/TTF/,
/usr/share/fonts/Type1/,
/usr/share/fonts/100dpi/,
/usr/share/fonts/75dpi/
[ 2979.047] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 2979.048] (WW) AllowEmptyInput is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[ 2979.048] (WW) Disabling Keyboard0
[ 2979.048] (WW) Disabling Mouse0
[ 2979.048] (II) Loader magic: 0x81e9d00
[ 2979.048] (II) Module ABI versions:
[ 2979.048] X.Org ANSI C Emulation: 0.4
[ 2979.048] X.Org Video Driver: 7.0
[ 2979.048] X.Org XInput driver : 9.0
[ 2979.048] X.Org Server Extension : 3.0
[ 2979.055] (--) PCI:*(0:1:0:0) 10de:06ec:144d:c04f nVidia Corporation G98M [GeForce G 105M] rev 161, Mem @ 0xce000000/16777216, 0xd0000000/268435456, 0xcc000000/33554432, I/O @ 0x00002000/128
[ 2979.055] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
[ 2979.055] (WW) "dri" will not be loaded unless you've specified it to be loaded elsewhere.
[ 2979.055] (WW) "dri2" will not be loaded unless you've specified it to be loaded elsewhere.
[ 2979.055] (II) "extmod" will be loaded by default.
[ 2979.055] (II) "dbe" will be loaded by default.
[ 2979.055] (II) "glx" will be loaded. This was enabled by default and also specified in the config file.
[ 2979.055] (II) "record" will be loaded by default.
[ 2979.055] (II) "dri" will be loaded even though the default is to disable it.
[ 2979.055] (II) "dri2" will be loaded even though the default is to disable it.
[ 2979.055] (II) LoadModule: "glx"
[ 2979.055] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 2979.075] (II) Module glx: vendor="NVIDIA Corporation"
[ 2979.075] compiled for 4.0.2, module version = 1.0.0
[ 2979.075] Module class: X.Org Server Extension
[ 2979.075] (II) NVIDIA GLX Module 256.35 Wed Jun 16 19:21:24 PDT 2010
[ 2979.075] (II) Loading extension GLX
[ 2979.075] (II) LoadModule: "extmod"
[ 2979.076] (II) Loading /usr/lib/xorg/modules/extensions/libextmod.so
[ 2979.076] (II) Module extmod: vendor="X.Org Foundation"
[ 2979.076] compiled for 1.8.1.902, module version = 1.0.0
[ 2979.076] Module class: X.Org Server Extension
[ 2979.076] ABI class: X.Org Server Extension, version 3.0
[ 2979.076] (II) Loading extension MIT-SCREEN-SAVER
[ 2979.076] (II) Loading extension XFree86-VidModeExtension
[ 2979.076] (II) Loading extension XFree86-DGA
[ 2979.076] (II) Loading extension DPMS
[ 2979.076] (II) Loading extension XVideo
[ 2979.076] (II) Loading extension XVideo-MotionCompensation
[ 2979.076] (II) Loading extension X-Resource
[ 2979.076] (II) LoadModule: "dbe"
[ 2979.076] (II) Loading /usr/lib/xorg/modules/extensions/libdbe.so
[ 2979.076] (II) Module dbe: vendor="X.Org Foundation"
[ 2979.076] compiled for 1.8.1.902, module version = 1.0.0
[ 2979.076] Module class: X.Org Server Extension
[ 2979.076] ABI class: X.Org Server Extension, version 3.0
[ 2979.076] (II) Loading extension DOUBLE-BUFFER
[ 2979.076] (II) LoadModule: "record"
[ 2979.076] (II) Loading /usr/lib/xorg/modules/extensions/librecord.so
[ 2979.076] (II) Module record: vendor="X.Org Foundation"
[ 2979.076] compiled for 1.8.1.902, module version = 1.13.0
[ 2979.076] Module class: X.Org Server Extension
[ 2979.076] ABI class: X.Org Server Extension, version 3.0
[ 2979.076] (II) Loading extension RECORD
[ 2979.076] (II) LoadModule: "nvidia"
[ 2979.076] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[ 2979.077] (II) Module nvidia: vendor="NVIDIA Corporation"
[ 2979.077] compiled for 4.0.2, module version = 1.0.0
[ 2979.077] Module class: X.Org Video Driver
[ 2979.077] (II) NVIDIA dlloader X Driver 256.35 Wed Jun 16 18:59:34 PDT 2010
[ 2979.077] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[ 2979.077] (--) using VT number 8
[ 2979.081] (II) Primary Device is: PCI 01@00:00:0
[ 2979.081] (II) Loading sub module "fb"
[ 2979.081] (II) LoadModule: "fb"
[ 2979.081] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 2979.081] (II) Module fb: vendor="X.Org Foundation"
[ 2979.081] compiled for 1.8.1.902, module version = 1.0.0
[ 2979.081] ABI class: X.Org ANSI C Emulation, version 0.4
[ 2979.081] (II) Loading sub module "wfb"
[ 2979.081] (II) LoadModule: "wfb"
[ 2979.081] (II) Loading /usr/lib/xorg/modules/libwfb.so
[ 2979.081] (II) Module wfb: vendor="X.Org Foundation"
[ 2979.081] compiled for 1.8.1.902, module version = 1.0.0
[ 2979.081] ABI class: X.Org ANSI C Emulation, version 0.4
[ 2979.081] (II) Loading sub module "ramdac"
[ 2979.081] (II) LoadModule: "ramdac"
[ 2979.081] (II) Module "ramdac" already built-in
[ 2979.081] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[ 2979.081] (==) NVIDIA(0): RGB weight 888
[ 2979.081] (==) NVIDIA(0): Default visual is TrueColor
[ 2979.082] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[ 2979.082] (**) NVIDIA(0): Option "NoLogo" "true"
[ 2979.082] (**) NVIDIA(0): Option "RenderAccel" "true"
[ 2979.082] (**) NVIDIA(0): Enabling RENDER acceleration
[ 2979.082] (II) NVIDIA(0): Support for GLX with the Damage and Composite X extensions is
[ 2979.082] (II) NVIDIA(0): enabled.
[ 2979.681] (II) NVIDIA(0): NVIDIA GPU GeForce G 105M (G98) at PCI:1:0:0 (GPU-0)
[ 2979.681] (--) NVIDIA(0): Memory: 524288 kBytes
[ 2979.681] (--) NVIDIA(0): VideoBIOS: 62.98.57.00.fa
[ 2979.681] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[ 2979.681] (--) NVIDIA(0): Interlaced video modes are supported on this GPU
[ 2979.681] (--) NVIDIA(0): Connected display device(s) on GeForce G 105M at PCI:1:0:0:
[ 2979.681] (--) NVIDIA(0): Seiko/Epson (DFP-0)
[ 2979.681] (--) NVIDIA(0): Seiko/Epson (DFP-0): 330.0 MHz maximum pixel clock
[ 2979.681] (--) NVIDIA(0): Seiko/Epson (DFP-0): Internal Dual Link LVDS
[ 2979.726] (II) NVIDIA(0): Assigned Display Device: DFP-0
[ 2979.726] (==) NVIDIA(0):
[ 2979.726] (==) NVIDIA(0): No modes were requested; the default mode "nvidia-auto-select"
[ 2979.726] (==) NVIDIA(0): will be used as the requested mode.
[ 2979.726] (==) NVIDIA(0):
[ 2979.726] (II) NVIDIA(0): Validated modes:
[ 2979.726] (II) NVIDIA(0): "nvidia-auto-select"
[ 2979.726] (II) NVIDIA(0): Virtual screen size determined to be 1366 x 768
[ 2980.790] (--) NVIDIA(0): DPI set to (115, 114); computed from "UseEdidDpi" X config
[ 2980.790] (--) NVIDIA(0): option
[ 2980.790] (==) NVIDIA(0): Enabling 32-bit ARGB GLX visuals.
[ 2980.790] (--) Depth 24 pixmap format is 32 bpp
[ 2980.790] (II) NVIDIA: Using 768.00 MB of virtual memory for indirect memory access.
[ 2980.791] (II) NVIDIA(0): Initialized GPU GART.
[ 2980.795] (II) NVIDIA(0): ACPI: failed to connect to the ACPI event daemon; the daemon
[ 2980.795] (II) NVIDIA(0): may not be running or the "AcpidSocketPath" X
[ 2980.795] (II) NVIDIA(0): configuration option may not be set correctly. When the
[ 2980.795] (II) NVIDIA(0): ACPI event daemon is available, the NVIDIA X driver will
[ 2980.795] (II) NVIDIA(0): try to use it to receive ACPI event notifications. For
[ 2980.795] (II) NVIDIA(0): details, please see the "ConnectToAcpid" and
[ 2980.795] (II) NVIDIA(0): "AcpidSocketPath" X configuration options in Appendix B: X
[ 2980.795] (II) NVIDIA(0): Config Options in the README.
[ 2980.796] (II) NVIDIA(0): ACPI display change hotkey events enabled: the X server is new
[ 2980.796] (II) NVIDIA(0): enough to receive ACPI hotkey events.
[ 2980.796] (II) NVIDIA(0): ACPI brightness change hotkey events enabled.
[ 2980.798] (II) NVIDIA(0): Setting mode "nvidia-auto-select"
[ 2981.075] (II) Loading extension NV-GLX
[ 2981.104] (II) NVIDIA(0): Initialized OpenGL Acceleration
[ 2981.113] (==) NVIDIA(0): Disabling shared memory pixmaps
[ 2981.113] (II) NVIDIA(0): Initialized X Rendering Acceleration
[ 2981.113] (==) NVIDIA(0): Backing store disabled
[ 2981.113] (==) NVIDIA(0): Silken mouse enabled
[ 2981.120] (**) NVIDIA(0): DPMS enabled
[ 2981.120] (II) Loading extension NV-CONTROL
[ 2981.120] (II) Loading extension XINERAMA
[ 2981.120] (WW) NVIDIA(0): Option "EnablePageFlip" is not used
[ 2981.120] (II) Loading sub module "dri2"
[ 2981.120] (II) LoadModule: "dri2"
[ 2981.121] (II) Loading /usr/lib/xorg/modules/extensions/libdri2.so
[ 2981.121] (II) Module dri2: vendor="X.Org Foundation"
[ 2981.121] compiled for 1.8.1.902, module version = 1.2.0
[ 2981.121] ABI class: X.Org Server Extension, version 3.0
[ 2981.121] (II) Loading extension DRI2
[ 2981.121] (II) NVIDIA(0): [DRI2] Setup complete
[ 2981.121] (II) NVIDIA(0): [DRI2] VDPAU driver: nvidia
[ 2981.121] (==) RandR enabled
[ 2981.121] (II) Initializing built-in extension Generic Event Extension
[ 2981.121] (II) Initializing built-in extension SHAPE
[ 2981.121] (II) Initializing built-in extension MIT-SHM
[ 2981.121] (II) Initializing built-in extension XInputExtension
[ 2981.121] (II) Initializing built-in extension XTEST
[ 2981.121] (II) Initializing built-in extension BIG-REQUESTS
[ 2981.121] (II) Initializing built-in extension SYNC
[ 2981.121] (II) Initializing built-in extension XKEYBOARD
[ 2981.121] (II) Initializing built-in extension XC-MISC
[ 2981.121] (II) Initializing built-in extension SECURITY
[ 2981.121] (II) Initializing built-in extension XINERAMA
[ 2981.121] (II) Initializing built-in extension XFIXES
[ 2981.121] (II) Initializing built-in extension RENDER
[ 2981.121] (II) Initializing built-in extension RANDR
[ 2981.121] (II) Initializing built-in extension COMPOSITE
[ 2981.121] (II) Initializing built-in extension DAMAGE
[ 2981.121] (II) Initializing extension GLX
[ 2981.258] (II) config/udev: Adding input device Power Button (/dev/input/event5)
[ 2981.258] (**) Power Button: Applying InputClass "evdev keyboard catchall"
[ 2981.258] (II) LoadModule: "evdev"
[ 2981.259] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[ 2981.259] (II) Module evdev: vendor="X.Org Foundation"
[ 2981.259] compiled for 1.8.0, module version = 2.4.0
[ 2981.259] Module class: X.Org XInput Driver
[ 2981.259] ABI class: X.Org XInput driver, version 9.0
[ 2981.259] (**) Power Button: always reports core events
[ 2981.259] (**) Power Button: Device: "/dev/input/event5"
[ 2981.266] (II) Power Button: Found keys
[ 2981.266] (II) Power Button: Configuring as keyboard
[ 2981.266] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD)
[ 2981.266] (**) Option "xkb_rules" "evdev"
[ 2981.266] (**) Option "xkb_model" "evdev"
[ 2981.266] (**) Option "xkb_layout" "us"
[ 2981.299] (II) config/udev: Adding input device Video Bus (/dev/input/event6)
[ 2981.299] (**) Video Bus: Applying InputClass "evdev keyboard catchall"
[ 2981.299] (**) Video Bus: always reports core events
[ 2981.299] (**) Video Bus: Device: "/dev/input/event6"
[ 2981.309] (II) Video Bus: Found keys
[ 2981.309] (II) Video Bus: Configuring as keyboard
[ 2981.309] (II) XINPUT: Adding extended input device "Video Bus" (type: KEYBOARD)
[ 2981.309] (**) Option "xkb_rules" "evdev"
[ 2981.309] (**) Option "xkb_model" "evdev"
[ 2981.309] (**) Option "xkb_layout" "us"
[ 2981.310] (II) config/udev: Adding input device Power Button (/dev/input/event3)
[ 2981.311] (**) Power Button: Applying InputClass "evdev keyboard catchall"
[ 2981.311] (**) Power Button: always reports core events
[ 2981.311] (**) Power Button: Device: "/dev/input/event3"
[ 2981.323] (II) Power Button: Found keys
[ 2981.323] (II) Power Button: Configuring as keyboard
[ 2981.323] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD)
[ 2981.323] (**) Option "xkb_rules" "evdev"
[ 2981.323] (**) Option "xkb_model" "evdev"
[ 2981.323] (**) Option "xkb_layout" "us"
[ 2981.323] (II) config/udev: Adding input device Lid Switch (/dev/input/event2)
[ 2981.323] (II) No input driver/identifier specified (ignoring)
[ 2981.323] (II) config/udev: Adding input device Sleep Button (/dev/input/event4)
[ 2981.323] (**) Sleep Button: Applying InputClass "evdev keyboard catchall"
[ 2981.323] (**) Sleep Button: always reports core events
[ 2981.323] (**) Sleep Button: Device: "/dev/input/event4"
[ 2981.336] (II) Sleep Button: Found keys
[ 2981.336] (II) Sleep Button: Configuring as keyboard
[ 2981.336] (II) XINPUT: Adding extended input device "Sleep Button" (type: KEYBOARD)
[ 2981.336] (**) Option "xkb_rules" "evdev"
[ 2981.336] (**) Option "xkb_model" "evdev"
[ 2981.336] (**) Option "xkb_layout" "us"
[ 2981.337] (II) config/udev: Adding input device Namuga 1.3M Webcam (/dev/input/event8)
[ 2981.337] (**) Namuga 1.3M Webcam: Applying InputClass "evdev keyboard catchall"
[ 2981.337] (**) Namuga 1.3M Webcam: always reports core events
[ 2981.338] (**) Namuga 1.3M Webcam: Device: "/dev/input/event8"
[ 2981.349] (II) Namuga 1.3M Webcam: Found keys
[ 2981.349] (II) Namuga 1.3M Webcam: Configuring as keyboard
[ 2981.349] (II) XINPUT: Adding extended input device "Namuga 1.3M Webcam" (type: KEYBOARD)
[ 2981.349] (**) Option "xkb_rules" "evdev"
[ 2981.349] (**) Option "xkb_model" "evdev"
[ 2981.349] (**) Option "xkb_layout" "us"
[ 2981.350] (II) config/udev: Adding input device HDA Digital PCBeep (/dev/input/event9)
[ 2981.350] (II) No input driver/identifier specified (ignoring)
[ 2981.353] (II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event0)
[ 2981.353] (**) AT Translated Set 2 keyboard: Applying InputClass "evdev keyboard catchall"
[ 2981.353] (**) AT Translated Set 2 keyboard: always reports core events
[ 2981.353] (**) AT Translated Set 2 keyboard: Device: "/dev/input/event0"
[ 2981.363] (II) AT Translated Set 2 keyboard: Found keys
[ 2981.363] (II) AT Translated Set 2 keyboard: Configuring as keyboard
[ 2981.363] (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD)
[ 2981.363] (**) Option "xkb_rules" "evdev"
[ 2981.363] (**) Option "xkb_model" "evdev"
[ 2981.363] (**) Option "xkb_layout" "us"
[ 2981.363] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event7)
[ 2981.363] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev touchpad catchall"
[ 2981.363] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall"
[ 2981.363] (II) LoadModule: "synaptics"
[ 2981.363] (II) Loading /usr/lib/xorg/modules/input/synaptics_drv.so
[ 2981.363] (II) Module synaptics: vendor="X.Org Foundation"
[ 2981.363] compiled for 1.8.0.902, module version = 1.2.2
[ 2981.363] Module class: X.Org XInput Driver
[ 2981.363] ABI class: X.Org XInput driver, version 9.0
[ 2981.363] (II) Synaptics touchpad driver version 1.2.2
[ 2981.364] (**) Option "Device" "/dev/input/event7"
[ 2981.403] (II) SynPS/2 Synaptics TouchPad: x-axis range 1472 - 5472
[ 2981.403] (II) SynPS/2 Synaptics TouchPad: y-axis range 1408 - 4448
[ 2981.403] (II) SynPS/2 Synaptics TouchPad: pressure range 0 - 255
[ 2981.403] (II) SynPS/2 Synaptics TouchPad: finger width range 0 - 0
[ 2981.403] (II) SynPS/2 Synaptics TouchPad: buttons: left right
[ 2981.403] (**) Option "TapButton1" "1"
[ 2981.403] (**) Option "TapButton2" "2"
[ 2981.403] (**) Option "TapButton3" "3"
[ 2981.429] (--) SynPS/2 Synaptics TouchPad: touchpad found
[ 2981.429] (**) SynPS/2 Synaptics TouchPad: always reports core events
[ 2981.443] (II) XINPUT: Adding extended input device "SynPS/2 Synaptics TouchPad" (type: TOUCHPAD)
[ 2981.443] (**) SynPS/2 Synaptics TouchPad: (accel) keeping acceleration scheme 1
[ 2981.443] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration profile 0
[ 2981.443] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration factor: 2.000
[ 2981.443] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration threshold: 4
[ 2981.469] (--) SynPS/2 Synaptics TouchPad: touchpad found
[ 2981.469] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse0)
[ 2981.469] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall"
[ 2981.469] (II) Synaptics touchpad driver version 1.2.2
[ 2981.923] SynPS/2 Synaptics TouchPad no synaptics event device found
[ 2981.923] (**) Option "Device" "/dev/input/mouse0"
[ 2981.936] (**) Option "TapButton1" "1"
[ 2981.936] (**) Option "TapButton2" "2"
[ 2981.936] (**) Option "TapButton3" "3"
[ 2981.956] Query no Synaptics: 6003C8
[ 2981.956] (--) SynPS/2 Synaptics TouchPad: no supported touchpad found
[ 2981.956] (EE) SynPS/2 Synaptics TouchPad Unable to query/initialize Synaptics hardware.
[ 2981.969] (EE) PreInit failed for input device "SynPS/2 Synaptics TouchPad"
[ 2981.969] (II) UnloadModule: "synaptics"
[ 2981.969] (II) config/udev: Adding input device PC Speaker (/dev/input/event1)
[ 2981.969] (II) No input driver/identifier specified (ignoring)
[ 3024.385] (II) UnloadModule: "synaptics"
[ 3024.385] (II) AT Translated Set 2 keyboard: Close
[ 3024.385] (II) UnloadModule: "evdev"
[ 3024.385] (II) Namuga 1.3M Webcam: Close
[ 3024.385] (II) UnloadModule: "evdev"
[ 3024.385] (II) Sleep Button: Close
[ 3024.385] (II) UnloadModule: "evdev"
[ 3024.385] (II) Power Button: Close
[ 3024.385] (II) UnloadModule: "evdev"
[ 3024.385] (II) Video Bus: Close
[ 3024.385] (II) UnloadModule: "evdev"
[ 3024.385] (II) Power Button: Close
[ 3024.385] (II) UnloadModule: "evdev"

Similar Messages

  • [SOLVED] awesome WM bug since xorg 1.16

    Has anyone had any strange behavior with awesome since updating xorg-server to 1.16?
    Since that upgrade, when switching between two tags which both have at least 1 window, the original tag will stay highlighted, and the "taskbar" will not change.  My windows change to show the windows in the tag I switched TO, but the highlighted tag and taskbar stay frozen as if the first tag (tag switched FROM) was still being displayed. 
    I can "unstick" it by doing things like opening a terminal or changing the window layout.
    I have some light customizations to my rc.lua, so I temporarily switched back to the default rc.lua /etc/xdg/awesome/rc.lua, and still see the same problem.
    I was suspecting the xorg-server upgrade, but all packages that upgraded at the same time are:
    cryptsetup (1.6.5-1 -> 1.6.5-2)
    libdrm (2.4.54-1 -> 2.4.55-1)
    libxfont (1.4.7-3 -> 1.5.0-1)
    linux (3.15.5-2 -> 3.15.7-1)
    virtualbox-guest-modules (4.3.14-1 -> 4.3.14-3)
    libepoxy (1.2-2)
    xorg-server-common (1.15.2-1 -> 1.16.0-5)
    xf86-input-evdev (2.9.0-1 -> 2.9.0-2)
    xorg-server (1.15.2-1 -> 1.16.0-5)
    virtualbox-guest-utils (4.3.14-1 -> 4.3.14-2)
    Edit: solved here: https://awesome.naquadah.org/bugs/index … sk_id=1291
    Last edited by couplewavylines (2014-08-01 15:00:36)

    I posted a bug on awesome's bug tracker, got an insanely quick reply.  Fixed by passing the '--no-argb' option to awesome.  I start awesome in my .xinitrc, so my line there is now "exec awesome --no-argb".  This is apparently an xorg bug. 
    https://awesome.naquadah.org/bugs/index … sk_id=1291

  • [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.

  • [SOLVED]Awesome build process gets stuck

    Hi there Archers,
    When I try to build the latest version of Awesome it manages to install all the dependencies, but when it comes to actually building awesome it consistently gets stuck on the following line:
    Scanning dependencies of target man
    [ 57%] Generating manpages/man1/awesome.1.xml
    [ 57%] Generating manpages/man1/awesome.1
    It stays there indefinitely.
    On the AUR-page for this package I got the advice that running makepkg with root privileges might solve the problem, but I don't think this is a proper solution. Posts from Bionic_Apple seem to have some connection to my problem.
    With my limited understanding of the make files inside the build directory, I've concluded that it all looks OK, but that doesn't stop it from freezing half-way through the process.
    Any ideas on how I could make the install finish that doesn't involve root privileges?
    Last edited by linduxed (2012-01-19 00:48:12)

    Solved by building as root in a chroot environment.

  • [SOLVED]Awesome 3.5 crashes randomly, downgrade to 3.4 works perfectly

    gfAfter upgrading to awesome 3.5 I'm experiencing random X crashes (with SLIM, if that matters).
    /var/log/slim.conf sports repeated "unexpected signal 15", but I don't know if it is related.
    Problem seems related to this thread, but doesn't contain a working solution. Are there other logs I should check?
    Last edited by Bladtman242 (2013-01-13 21:34:31)

    AndyRTR: I guess you're referring to the thread/task I linked in the first post?
    I was hoping the archers might have had a solution
    I'm growing fairly tired of awesome wm's  ever changing syntax and api..
    nomorewindows I don't know if it is related but it doesn't sound like the issue I have
    EDIT:
    Bug report/thread seems to fit my problem. Marking this thread as solved, and waiting impatiently.
    Last edited by Bladtman242 (2013-01-13 21:34:12)

  • [Solved] Awesome 3.5: gmail vicious widget does not work

    I updated my awesome from 3.4 to 3.5. I noticed that vicious.widgets.gmail does not work anymore. When I move my cursor on mailicon, I can only see N/A. Obviously in my home there is  ~/.netrc file:
    machine mail.google.com login MYMAIL password MYPASSWORD
    This is how I configured the widget: Solved someone this or has someone any idea about how to solve?
    -- Gmail
    mailicon = wibox.widget.imagebox(beautiful.widget_gmail)
    mailwidget = wibox.widget.textbox()
    gmail_t = awful.tooltip({ objects = { mailwidget },})
    vicious.register(mailwidget, vicious.widgets.gmail,
    function (widget, args)
    gmail_t:set_text(args["{subject}"])
    gmail_t:add_to_object(mailicon)
    return args["{count}"]
    end, 120)
    --the '120' here means check every 2 minutes.
    mailicon:buttons(awful.util.table.join(
    awful.button({ }, 1, function () awful.util.spawn("urxvt -e mutt", false) end)
    Bye! ^^
    Last edited by ninquitassar (2013-02-17 20:22:28)

    nostalgix wrote:
    I don't know for sure, but maybe it's
    mailicon = wibox.widget.imagebox(beautiful.widget_gmail)
    instead of
    mailicon = wibox.widget.imagebox()
    mailicon.set_image(beautiful.widget_gmail)
    That's what he has.
    Last edited by nomorewindows (2013-02-12 21:16:51)

  • [SOLVED] Awesome 3.5 cpu widget attempt

    I'm just trying to adapt the cpu widget found here: http://awesome.naquadah.org/wiki/CPU_Usage
    to be usable on awesome 3.5
    here is the original code from the link above:
    jiffies = {}
    function activecpu()
    local s = ""
    for line in io.lines("/proc/stat") do
    local cpu, newjiffies = string.match(line, "(cpu%d*)\ +(%d+)")
    if cpu and newjiffies then
    if not jiffies[cpu] then
    jiffies[cpu] = newjiffies
    end
    --The string.format prevents your task list from jumping around
    --when CPU usage goes above/below 10%
    s = s .. " " .. cpu .. ": " .. string.format("%02d", newjiffies-jiffies[cpu]) .. "% "
    jiffies[cpu] = newjiffies
    end
    end
    return s
    end
    followed by this in rc.lua to call it every second:
    awful.hooks.timer.register(1, function() cpuinfo.text = activecpu() end)
    what follows is my current setup as i attempted to adapt it
    awesome 3.5 didn't like the escape sequence so i had to change that to %s for the space. i adapted it a bit so it takes up less screen space and just displays as ##.##.##.##.##... etc. i have little/no computer programming experience aside from tooling around so please excuse my ignorance but heres what i came up with:
    -- CPU widget from http://awesome.naquadah.org/wiki/CPU_Usage
    -- attempted adaptation to awesome 3.5
    -- {{ define wibox
    cpuwidget = wibox.widget.textbox()
    cpuwidget:set_align("right")
    -- {{ function
    jiffies = {}
    function activecpu()
    local cpus = ""
    for line in io.lines("/proc/stat") do
    local cpu, newjiffies = string.match(line, "(cpu%d*)%s+(%d+)")
    if cpu and newjiffies then
    if not jiffies[cpu] then
    jiffies[cpu] = newjiffies
    end
    --The string.format prevents your task list from jumping around
    --when CPU usage goes above/below 10%
    cpus = cpus .. "." .. string.format("%02d", newjiffies-jiffies[cpu])
    jiffies[cpu] = newjiffies
    end
    end
    cpuwidget:set_markup(cpus)
    --return s
    end
    and in rc.lua to call it, based on the timer configuration in a battery widget on the awesomewiki (http://awesome.naquadah.org/wiki/Gigamo_Battery_Widget):
    cpu_timer = timer({timeout = 1})
    cpu_timer:connect_signal("cputimeout", function() activecpu() end)
    cpu_timer:start()
    with the current configuration, there are no naughty errors returned, but the widget doesn't display at all. If there are more useful log files somewhere, could you point me to them? if i tried calling it with the awful.hooks.timer setup, my X crashed immediately. I can't seem to be able to set the text = activecpu function, which was set to return the final string (?). I instead attempted to set the value of the text within the widget every time the function is called using set_markup, again based on the battery widget. thanks in advance for your help and patience.
    Last edited by pdizzle (2013-02-08 01:45:28)

    solved: turns out the major error was in my adding the widget, and seemingly the original syntax no longer worked as well. here is the finished result, in hopes that it helps someone:
    -- CPU widget from http://awesome.naquadah.org/wiki/CPU_Usage
    -- adapted to awesome 3.5 by pdizzle
    -- {{ define wibox
    cpuwidget = wibox.widget.textbox()
    cpuwidget:set_align("right")
    -- {{ function
    jiffies = {}
    function activecpu()
    cpusage = ""
    for line in io.lines("/proc/stat") do
    local cpu, newjiffies = string.match(line, "(cpu%d*)%s+(%d+)")
    if cpu and newjiffies then
    if not jiffies[cpu] then
    jiffies[cpu] = newjiffies
    end
    --The string.format prevents your task list from jumping around
    --when CPU usage goes above/below 10%
    cpusage = cpusage .. "." .. string.format("%02d", newjiffies-jiffies[cpu])
    jiffies[cpu] = newjiffies
    end
    end
    cpuwidget:set_markup(cpusage)
    end
    in rc.lua at the end to call a timer:
    cpu_timer = timer({timeout = 1})
    cpu_timer:connect_signal("timeout", function() activecpu() end)
    cpu_timer:start()
    where i had made the major error is there are 2 similar sections of what i believe was the default rc.lua, the first looks something like (do add systray widgets here):
    -- Create the wibox
    mywibox[s] = awful.wibox({ position = "top", screen = s })
    -- spacer widget
    spacerwidget = wibox.widget.textbox("|")
    spacerwidget:set_align("right")
    -- Widgets that are aligned to the left
    local left_layout = wibox.layout.fixed.horizontal()
    left_layout:add(mytaglist[s])
    left_layout:add(mypromptbox[s])
    -- 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(cpuwidget) -- <== this is where you add it
    right_layout:add(mytextclock)
    right_layout:add(mylayoutbox[s])
    -- 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)
    the second one is another table named right_layout that i was adding the widget to, and it seems to reference the buttons on titlebars of windows, if they are enabled. woops. no widgets should go there obviously:
    if titlebars_enabled and (c.type == "normal" or c.type == "dialog") then
    -- Widgets that are aligned to the left
    local left_layout = wibox.layout.fixed.horizontal()
    left_layout:add(awful.titlebar.widget.iconwidget(c))
    -- Widgets that are aligned to the right
    local right_layout = wibox.layout.fixed.horizontal()
    right_layout:add(awful.titlebar.widget.floatingbutton(c))
    right_layout:add(awful.titlebar.widget.maximizedbutton(c))
    right_layout:add(awful.titlebar.widget.stickybutton(c))
    right_layout:add(awful.titlebar.widget.ontopbutton(c))
    right_layout:add(awful.titlebar.widget.closebutton(c))
    after the fact, i see that the rc.lua part was pretty obvious but still worth including if it helps others
    Last edited by pdizzle (2013-02-08 01:51:23)

  • [SOLVED] Awesome's not loading

    I did some updates and now I awesome won't start, giving this output instead
    awesome: error while loading shared libraries: libev.so.3: cannot open shared object file: No such file or directory
    After a bit of googling I found this to be a pretty common error, which just requires to recompile awesome, so I reinstalled awesome from the AUR. Since that didn't solve the problem, I tried getting rid of libev and insalling awesome. It installed just fine, but I still got the same error. I also tried awesome-git but with the same result.
    I guess I'm doing something wrong since this is fixed for most people by just compiling awesome again but after a few hours of tinkering I don't seem to find what it is.
    Any help would be greatly appreciated.
    Last edited by Macdelaney (2010-12-17 04:13:05)

    First of all thanks for your reply.
    I do have Libev 4.01-1 and it-s in /usr/lib/libev.so.4 too.
    I've removed awesome with yaourt -Rns, then cleared the cache from not installed packaged, and installed awesome again. I repeated this for awesome-git just in case, but the same thing happens. I downloaded the package from the AUR manually and then installed, again, same thing happens.
    I must be missing something stupidly obvious, but I can't put my finger in it.
    Again, any help would be greatly appreciated.
    EDIT: A simple whereis awesome showed that /usr/local/bin/awesome existed, apparently I did this at some point (don't really remember). Running /usr/bin/awesome everything works great.
    So yes, pretty stupid on my part!
    Last edited by Macdelaney (2010-12-17 04:12:38)

  • [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)

  • [SOLVED] Awesome's Revelation Won't Work

    Hi,
    I'm new to the Awesome WM so I will start this off by saying if you know if something little, stupid that might be causing this issue don't hesitate to mention it bc I may not know.  Anyways, I am loving using Awesome and have been messing with the config to get it to my liking. 
    I saw on the Arch Wiki that you can get "Compiz-like" effects using the Revelation widget; however, when I try to add it to my rc.lua my desktop restarts but the effects don't work and my background and a couple other configs are changed.  I tried removing the key bindings and just leaving the require ("revelation") to see if the key binding was formatted incorrectly but it still had the same problems.
    Does anyone know what might be causing these problems?  I followed the steps on the Awesome wiki on Revelation.  I was wondering if it had something to do with me copying the default config files to ~/.config/awesome as mentioned in the Arch Wiki but I am assuming it doesn't since the Arch wiki also mentions using Revelation.
    Below is my rc.lua w/ the revelation widget added (this is what would not work, just copied it then removed revelation again):
    -- Standard awesome library
    require("awful")
    require("awful.autofocus")
    require("awful.rules")
    -- Theme handling library
    require("beautiful")
    -- Notification library
    require("naughty")
    -- Widget library
    require("vicious")
    -- Compiz-like Effects
    require("revelation")
    -- {{{ Error handling
    -- Check if awesome encountered an error during startup and fell back to
    -- another config (This code will only ever execute for the fallback config)
    if awesome.startup_errors then
    naughty.notify({ preset = naughty.config.presets.critical,
    title = "Oops, there were errors during startup!",
    text = awesome.startup_errors })
    end
    -- Handle runtime errors after startup
    do
    local in_error = false
    awesome.add_signal("debug::error", function (err)
    -- Make sure we don't go into an endless error loop
    if in_error then return end
    in_error = true
    naughty.notify({ preset = naughty.config.presets.critical,
    title = "Oops, an error happened!",
    text = err })
    in_error = false
    end)
    end
    -- {{{ Variable definitions
    -- Themes define colours, icons, and wallpapers
    beautiful.init("/home/boswbr25/.config/awesome/themes/zenburn/theme.lua")
    -- This is used later as the default terminal and editor to run.
    terminal = "terminal"
    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.floating,
    awful.layout.suit.tile,
    awful.layout.suit.tile.left,
    -- awful.layout.suit.tile.bottom,
    -- awful.layout.suit.tile.top,
    awful.layout.suit.fair,
    -- awful.layout.suit.fair.horizontal,
    -- awful.layout.suit.spiral,
    -- awful.layout.suit.spiral.dwindle,
    awful.layout.suit.max,
    -- awful.layout.suit.max.fullscreen,
    -- awful.layout.suit.magnifier
    -- {{{ Tags
    -- Define a tag table which will hold all screen tags.
    tags = {
    names = { "main", "music", "www", "email", "office", "game", "float"},
    layout = { layouts[4], layouts[5], layouts[3], layouts[2], layouts[3],
    layouts[2], layouts[1]
    for s = 1, screen.count() do
    -- Each screen has its own tag table.
    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 .. " " .. awesome.conffile },
    { "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
    -- Pacman Widget
    pacwidget = widget({type="textbox"})
    vicious.register(pacwidget, vicious.widgets.pkg, "<span color='tan'><b> UPDATES: </b></span> $1 ", 1801, "Arch" )
    -- Initialize widget
    cpuwidget = awful.widget.graph()
    -- Graph properties
    cpuwidget:set_width(50)
    cpuwidget:set_background_color("#494B4F")
    cpuwidget:set_color("#FF5656")
    cpuwidget:set_gradient_colors({ "#FF5656", "#88A175", "#AECF96" })
    -- Register widget
    vicious.register(cpuwidget, vicious.widgets.cpu, "$1")
    -- Create a textclock widget
    mytextclock = awful.widget.textclock({ align = "right" })
    -- Create a systray
    mysystray = widget({ type = "systray" })
    -- Create a wibox for each screen and add it
    mywibox = {}
    mypromptbox = {}
    mylayoutbox = {}
    mytaglist = {}
    mytaglist.buttons = awful.util.table.join(
    awful.button({ }, 1, awful.tag.viewonly),
    awful.button({ modkey }, 1, awful.client.movetotag),
    awful.button({ }, 3, awful.tag.viewtoggle),
    awful.button({ modkey }, 3, awful.client.toggletag),
    awful.button({ }, 4, awful.tag.viewnext),
    awful.button({ }, 5, awful.tag.viewprev)
    mytasklist = {}
    mytasklist.buttons = awful.util.table.join(
    awful.button({ }, 1, function (c)
    if c == client.focus then
    c.minimized = true
    else
    if not c:isvisible() then
    awful.tag.viewonly(c:tags()[1])
    end
    -- This will also un-minimize
    -- the client, if needed
    client.focus = c
    c:raise()
    end
    end),
    awful.button({ }, 3, function ()
    if instance then
    instance:hide()
    instance = nil
    else
    instance = awful.menu.clients({ width=250 })
    end
    end),
    awful.button({ }, 4, function ()
    awful.client.focus.byidx(1)
    if client.focus then client.focus:raise() end
    end),
    awful.button({ }, 5, function ()
    awful.client.focus.byidx(-1)
    if client.focus then client.focus:raise() end
    end))
    for s = 1, screen.count() do
    -- Create a promptbox for each screen
    mypromptbox[s] = awful.widget.prompt({ layout = awful.widget.layout.horizontal.leftright })
    -- Create an imagebox widget which will contains an icon indicating which layout we're using.
    -- We need one layoutbox per screen.
    mylayoutbox[s] = awful.widget.layoutbox(s)
    mylayoutbox[s]:buttons(awful.util.table.join(
    awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
    awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
    awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
    awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)))
    -- Create a taglist widget
    mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.label.all, mytaglist.buttons)
    -- Create a tasklist widget
    mytasklist[s] = awful.widget.tasklist(function(c)
    return awful.widget.tasklist.label.currenttags(c, s)
    end, mytasklist.buttons)
    -- Create the wibox
    mywibox[s] = awful.wibox({ position = "top", screen = s })
    -- Add widgets to the wibox - order matters
    mywibox[s].widgets = {
    mylauncher,
    mytaglist[s],
    mypromptbox[s],
    layout = awful.widget.layout.horizontal.leftright
    mylayoutbox[s],
    pacwidget,
    mytextclock,
    cpuwidget,
    s == 1 and mysystray or nil,
    mytasklist[s],
    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({ modkey, }, "Right", awful.tag.viewnext ),
    awful.key({ modkey, }, "Escape", awful.tag.history.restore),
    awful.key({modkey}, "e", revelation)
    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),
    -- 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),
    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, "Shift" }, "c", function (c) c:kill() end),
    awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ),
    awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end),
    awful.key({ modkey, }, "o", awful.client.movetoscreen ),
    awful.key({ modkey, "Shift" }, "r", function (c) c:redraw() end),
    awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end),
    awful.key({ modkey, }, "n",
    function (c)
    -- The client currently has the input focus, so it cannot be
    -- minimized, since minimized clients can't have the focus.
    c.minimized = true
    end),
    awful.key({ modkey, }, "m",
    function (c)
    c.maximized_horizontal = not c.maximized_horizontal
    c.maximized_vertical = not c.maximized_vertical
    end)
    -- Compute the maximum number of digit we need, limited to 9
    keynumber = 0
    for s = 1, screen.count() do
    keynumber = math.min(9, math.max(#tags[s], keynumber));
    end
    -- Bind all key numbers to tags.
    -- Be careful: we use keycodes to make it works on any keyboard layout.
    -- This should map on the top row of your keyboard, usually 1 to 9.
    for i = 1, keynumber do
    globalkeys = awful.util.table.join(globalkeys,
    awful.key({ modkey }, "#" .. i + 9,
    function ()
    local screen = mouse.screen
    if tags[screen][i] then
    awful.tag.viewonly(tags[screen][i])
    end
    end),
    awful.key({ modkey, "Control" }, "#" .. i + 9,
    function ()
    local screen = mouse.screen
    if tags[screen][i] then
    awful.tag.viewtoggle(tags[screen][i])
    end
    end),
    awful.key({ modkey, "Shift" }, "#" .. i + 9,
    function ()
    if client.focus and tags[client.focus.screen][i] then
    awful.client.movetotag(tags[client.focus.screen][i])
    end
    end),
    awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
    function ()
    if client.focus and tags[client.focus.screen][i] then
    awful.client.toggletag(tags[client.focus.screen][i])
    end
    end))
    end
    clientbuttons = awful.util.table.join(
    awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
    awful.button({ modkey }, 1, awful.mouse.client.move),
    awful.button({ modkey }, 3, awful.mouse.client.resize))
    -- Set keys
    root.keys(globalkeys)
    -- {{{ Rules
    awful.rules.rules = {
    -- All clients will match this rule.
    { rule = { },
    properties = { border_width = beautiful.border_width,
    border_color = beautiful.border_normal,
    focus = true,
    keys = clientkeys,
    buttons = clientbuttons } },
    { rule = { class = "MPlayer" },
    properties = { floating = true } },
    { rule = { class = "pinentry" },
    properties = { floating = true } },
    { rule = { class = "gimp" },
    properties = { floating = true } },
    -- Set Firefox to always map on tags number 2 of screen 1.
    -- { rule = { class = "Firefox" },
    -- properties = { tag = tags[1][2] } },
    -- {{{ Signals
    -- Signal function to execute when a new client appears.
    client.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)
    I tried messing with the format of the key binding to make it match the other key bindings in the default rc.lua but nothing seemed to make a difference.
    Thanks,
    ~Boz~
    Last edited by boswbr25 (2012-05-03 05:17:23)

    I'm wondering if it is my graphics card's lack of 3D support that is causing the problems.  I have an older computer but have got this type of effect to work on a few DE's.  Although, it cannot run GNOME 3 and will always go into Fallback mode.
    The following is the output of lspci | grep VGA if anyone knows if this could be the issue:
    [boswbr25@boz ~]$ lspci | grep VGA
    01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS] 65x/M650/740 PCI/AGP VGA Display Adapter
    I totally forgot that this might be an issue when I asked the question.

  • [Solved][Awesome]Keyboard don't work at startup

    Hello.
    I have the problem with awesome wm. I'm using git build 20120516-1 with default rc.lua.
    The problem is, when awesome is started, keyboard (modkey + r) is not working. I must click with mouse on the menu, open terminal, or some app from menu, and then keys start working.
    Anyone have an idea why this is happening?
    Thanks.
    EDIT: Changed login manager to slim, and all is working fine.
    Last edited by Zmuss (2012-05-17 20:56:52)

    Well, the 'unplugged' reference was noted earlier and I wasn't sure if you'd get a
    better response than a standard suggestion to try the other ideas in this link first
    •Intel-based Macs: Resetting the System Management Controller (SMC) - Apple Support
    before actually performing the SMC, that is a dragnet kind of catch-all, sometimes.
    All of my keyboard & mouse units are USB and I've gone as far as supplying the
    mouse and other peripherals with a powered USB hub; so power from the Mac
    isn't spread too thin. The keyboard is one of the only items that should be attached
    to the USB port; as it has to work on startup pre-boot keyboard shortcuts... Such
    as SafeBoot, PRAM reset, and others where you need a live keyboard and BT
    may not be up to the task of being ready. Three going on four of my Macs have
    bluetooth capabilities for those items; but I can't justify the continual upkeep cost.
    Spare USB keyboards and a few extra mouse are handy as troubleshooting tools, too.
    There are some USB keyboard references among search results in this linked page:
    https://www.google.com/?gws_rd=ssl#q=Apple+USB+keyboard+troubleshooting
    Perhaps the SMC pre-reset suggestions may help resolve the issue, if not, try reset.
    Good luck & happy computing!
    edited

  • [SOLVED] Awesome is not recognizing widgets

    Hey everybody,
    So this is my first (non-virtualbox) arch install. I just switched over from crunchbang. I had awesome installed on crunchbang and used that as my primary window manager. So I saved all of my configs and everything so that I could use them on arch. I got arch installed and then awesome, and awesome works well. I am using it right now. But as soon as I started trying to add widgets it wouldn't let me. Every time I restart it awesome reverts to the rc.lua in /etc/xdg... and gives me a warning message saying:
    Oops, there were errors during startup!
    /home/nathan/.config/awesome/rc.lua:117: attempt to call global 'widget' (a nil value)
    The line it is referring to is this:
    separator = widget({ type = "textbox" })
    Also, all of the requires at the top currently look like this:
    -- Standard awesome library
    local gears = require("gears")
    local awful = require("awful")
    awful.rules = require("awful.rules")
    require("awful.autofocus")
    -- Widget and layout library
    wibox = require("wibox")
    -- Theme handling library
    local beautiful = require("beautiful")
    -- Notification library
    local naughty = require("naughty")
    local menubar = require("menubar")
    So I tried to google and search the awesome wiki and the arch wiki for how it is done on arch. From everything I have found I am doing it correctly, but I must be missing something. One thought was that it might be a result of the most recent awesome update. I think it was on the 4th. Any ideas?
    Last edited by nhare330 (2013-01-09 00:21:05)

    Here it is. My rc.lua:
    -- Standard awesome library
    local gears = require("gears")
    local awful = require("awful")
    awful.rules = require("awful.rules")
    require("awful.autofocus")
    -- Widget and layout library
    local wibox = require("wibox")
    local vicious = require("vicious")
    -- Theme handling library
    local beautiful = require("beautiful")
    -- Notification library
    local naughty = require("naughty")
    local menubar = require("menubar")
    -- {{{ Error handling
    -- Check if awesome encountered an error during startup and fell back to
    -- another config (This code will only ever execute for the fallback config)
    if awesome.startup_errors then
    naughty.notify({ preset = naughty.config.presets.critical,
    title = "Oops, there were errors during startup!",
    text = awesome.startup_errors })
    end
    -- Handle runtime errors after startup
    do
    local in_error = false
    awesome.connect_signal("debug::error", function (err)
    -- Make sure we don't go into an endless error loop
    if in_error then return end
    in_error = true
    naughty.notify({ preset = naughty.config.presets.critical,
    title = "Oops, an error happened!",
    text = err })
    in_error = false
    end)
    end
    -- {{{ 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 = "lxterminal"
    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.
    local layouts =
    awful.layout.suit.floating,
    awful.layout.suit.tile,
    awful.layout.suit.tile.left,
    awful.layout.suit.tile.bottom,
    awful.layout.suit.tile.top,
    awful.layout.suit.fair,
    awful.layout.suit.fair.horizontal,
    awful.layout.suit.spiral,
    awful.layout.suit.spiral.dwindle,
    awful.layout.suit.max,
    awful.layout.suit.max.fullscreen,
    awful.layout.suit.magnifier
    -- {{{ Wallpaper
    if beautiful.wallpaper then
    for s = 1, screen.count() do
    gears.wallpaper.maximized(beautiful.wallpaper, s, true)
    end
    end
    -- {{{ Tags
    -- Define a tag table which hold all screen tags.
    tags = {
    names = { "➊ ", "➋ ", "➌ ", "➍ ", "➎ ", "◌ " },
    layout = { layouts[2], layouts[10], layouts[10], layouts[1], layouts[1], layouts[10]
    for s = 1, screen.count() do
    -- Each screen has its own tag table.
    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 .. " " .. awesome.conffile },
    { "restart", awesome.restart },
    { "quit", awesome.quit }
    mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
    { "open terminal", terminal }
    mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
    menu = mymainmenu })
    -- Menubar configuration
    menubar.utils.terminal = terminal -- Set the terminal for applications that require it
    -- {{{ Wibox
    -- Separator
    separator = wibox.widget.textbox()
    separator:set_text(" | ")
    -- Spacer
    spacer = wibox.widget.textbox()
    spacer:set_text(" ")
    -- Network usage widget
    netwidget = wibox.widget.textbox()
    vicious.register(netwidget, vicious.widgets.net, '<span color="#CDBC73">${eth0 down_kb}</span> <span color="#7F9F7F">${eth0 up_kb}</span>', 3)
    -- Memory widget
    memwidget = wibox.widget.textbox()
    memwidget_t = awful.tooltip({ objects = {memwidget}, })
    vicious.register(memwidget, vicious.widgets.mem,
    function (widget, args)
    memwidget_t:set_text('<span color="#9868B1"> mem: ' ..args[2].. '/' ..args[3].. 'mb \n free: ' ..args[4].. 'mb \n swap: ' ..args[5].. '% > ' ..args[6].. '/' ..args[7].. 'mb \n free: ' ..args[8].. 'mb </span>')
    return '<span color="#CDBC73">▣ ' ..args[1].. '%</span>'
    end, 3)
    -- Cpu widget
    cpuwidget = wibox.widget.textbox()
    cpuwidget_t = awful.tooltip({ objects = {cpuwidget}, })
    vicious.register(cpuwidget, vicious.widgets.cpu,
    function (widget, args)
    cpuwidget_t:set_text('<span color="#9868B1"> cpu0: ' ..args[2].. '% \n cpu1: ' ..args[3].. '% </span>')
    return '<span color="#CDBC73">◈ ' ..args[1].. '%</span>'
    end, 3)
    -- Battery widget
    batwidget = wibox.widget.textbox()
    batwidget_t = awful.tooltip({ objects = {batwidget}, })
    vicious.register(batwidget, vicious.widgets.bat,
    function (widget, args)
    batwidget_t:set_text('<span color="#9868B1"> ' ..args[3].. ' </span>')
    return '<span color="#CDBC73">↯ ' ..args[1].. '' ..args[2].. '</span>'
    end, 14, "BAT0")
    -- Keyboard widget
    kbdcfg = {}
    kbdcfg.cmd = "setxkbmap"
    kbdcfg.layout = { "us", "es" }
    -- kbdcfg.us = "<span color='#CDBC73'>us</span>"
    -- kbdcfg.es = "<span color='#CDBC73'>es</span>"
    kbdcfg.current = 1
    kbdcfg.widget = wibox.widget.textbox({ align = "right" })
    kbdcfg.widget:set_text( kbdcfg.layout[kbdcfg.current] )
    kbdcfg.switch = function ()
    kbdcfg.current = kbdcfg.current % #(kbdcfg.layout) + 1
    local t = kbdcfg.layout[kbdcfg.current]
    kbdcfg.widget:set_text( t )
    os.execute( kbdcfg.cmd .. t )
    end
    kbdcfg.widget:buttons(awful.util.table.join(
    awful.button({ }, 1, function () kbdcfg.switch() end )
    -- Wifi
    wifiwidget = wibox.widget.textbox()
    wifiwidget_t = awful.tooltip({ objects = {wifiwidget}, })
    vicious.register (wifiwidget, vicious.widgets.wifi,
    function (widget, args)
    wifiwidget_t:set_text('<span color="#9868B1"> ' ..args["{ssid}"].. ' \n mode: ' ..args["{mode}"].. ' \n chan: ' ..args["{chan}"].. ' \n sign: ' ..args["{sign}"].. ' \n rate: ' ..args["{rate}"].. ' </span>')
    -- ' \n rate: ' ..args["{rate}"].. ' \n linp: ' ..args["{linp}"]..
    return '<span color="#CDBC73">⇄ ' ..args["{link}"].. '%</span>'
    end, 7, "wlan0")
    -- File System
    fswidget = wibox.widget.textbox()
    fswidget_t = awful.tooltip({ objects = {fswidget}, })
    vicious.register(fswidget, vicious.widgets.fs,
    function (widget, args)
    fswidget_t:set_text('<span color="#9868B1">used: ' ..args["{/ used_gb}"].. '/' ..args["{/ size_gb}"].. 'gb </span>')
    return '<span color="#CDBC73">◕ ' ..args["{/ avail_gb}"].. 'gb</span>'
    end, 61)
    -- Uptime
    uptimewidget = wibox.widget.textbox()
    uptimewidget_t = awful.tooltip({ objects = {uptimewidget}, })
    vicious.register(uptimewidget, vicious.widgets.uptime,
    function (widget, args)
    uptimewidget_t:set_text('<span color="#9868B1"> ' ..args[1].. 'd ' ..args[2].. ':' ..args[3].. ' </span>')
    return string.format('<span color="#CDBC73">⇑ ' ..args[1].. 'd</span>')
    end, 61)
    -- Volume Widget
    volumecfg = {}
    volumecfg.cardid = 0
    volumecfg.channel = "Master"
    volumecfg.widget = wibox.widget.textbox({ align = "right" })
    -- volumecfg_t = awful.tooltip({ objects = { volumecfg.widget },})
    -- volumecfg_t:set_text("volume")
    -- command must start with a space!
    volumecfg.mixercommand = function (command)
    local fd = io.popen("amixer -c " .. volumecfg.cardid .. command)
    local status = fd:read("*all")
    fd:close()
    local volume = string.match(status, "(%d?%d?%d)%%")
    volume = string.format("% 3d", volume)
    status = string.match(status, "%[(o[^%]]*)%]")
    if string.find(status, "on", 1, true) then
    volume = "<span color='#CDBC73'>◄ " .. volume .. "</span>"
    else
    volume = "<span color='#CDBC73'>⋪ " .. volume .. "</span>"
    end
    volumecfg.widget:set_text( volume )
    end
    volumecfg.update = function ()
    volumecfg.mixercommand(" sget " .. volumecfg.channel)
    end
    volumecfg.up = function ()
    volumecfg.mixercommand(" sset " .. volumecfg.channel .. " 1%+")
    end
    volumecfg.down = function ()
    volumecfg.mixercommand(" sset " .. volumecfg.channel .. " 1%-")
    end
    volumecfg.toggle = function ()
    volumecfg.mixercommand(" sset " .. volumecfg.channel .. " toggle")
    end
    volumecfg.widget:buttons({
    button({ }, 4, function () volumecfg.up() end),
    button({ }, 5, function () volumecfg.down() end),
    button({ }, 1, function () volumecfg.toggle() end)
    volumecfg.update()
    -- Date widget
    datewidget = wibox.widget.textbox()
    vicious.register(datewidget, vicious.widgets.date, '<span color="#D8D8D8"> %a. %b %d, %l:%M %p </span>', 5)
    -- Create a textclock widget
    mytextclock = awful.widget.textclock({ align = "right" })
    -- Calendar widget to attach to the textclock
    require('calendar2')
    calendar2.addCalendarToWidget(datewidget)
    -- Create a textclock widget
    mytextclock = awful.widget.textclock()
    -- 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 })
    -- Widgets that are aligned to the left
    local left_layout = wibox.layout.fixed.horizontal()
    left_layout:add(mylauncher)
    left_layout:add(mytaglist[s])
    left_layout:add(mypromptbox[s])
    -- 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(mytextclock)
    right_layout:add(mylayoutbox[s])
    -- 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(
    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, }, "Down",
    function ()
    awful.client.focus.byidx( 1)
    if client.focus then client.focus:raise() end
    end),
    awful.key({ modkey, }, "Up",
    function ()
    awful.client.focus.byidx(-1)
    if client.focus then client.focus:raise() end
    end),
    awful.key({ modkey, }, "a", function () mymainmenu:show() end),
    -- Layout manipulation
    awful.key({ modkey, "Shift" }, "Down", function () awful.client.swap.byidx( 1) end),
    awful.key({ modkey, "Shift" }, "Up", function () awful.client.swap.byidx( -1) end),
    awful.key({ modkey, "Control" }, "Down", function () awful.screen.focus_relative( 1) end),
    awful.key({ modkey, "Control" }, "Up", 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),
    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),
    -- Menubar
    awful.key({ modkey }, "p", function() menubar.show() end)
    clientkeys = awful.util.table.join(
    awful.key({ modkey, }, "f", function (c) c.fullscreen = not c.fullscreen end),
    awful.key({ modkey, }, "w", function (c) c:kill() end),
    awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ),
    awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end),
    awful.key({ modkey, }, "o", awful.client.movetoscreen ),
    awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end),
    awful.key({ modkey, }, "n",
    function (c)
    -- The client currently has the input focus, so it cannot be
    -- minimized, since minimized clients can't have the focus.
    c.minimized = true
    end),
    awful.key({ modkey, }, "m",
    function (c)
    c.maximized_horizontal = not c.maximized_horizontal
    c.maximized_vertical = not c.maximized_vertical
    end)
    -- Compute the maximum number of digit we need, limited to 9
    keynumber = 0
    for s = 1, screen.count() do
    keynumber = math.min(9, math.max(#tags[s], keynumber))
    end
    -- Bind all key numbers to tags.
    -- Be careful: we use keycodes to make it works on any keyboard layout.
    -- This should map on the top row of your keyboard, usually 1 to 9.
    for i = 1, keynumber do
    globalkeys = awful.util.table.join(globalkeys,
    awful.key({ modkey }, "#" .. i + 9,
    function ()
    local screen = mouse.screen
    if tags[screen][i] then
    awful.tag.viewonly(tags[screen][i])
    end
    end),
    awful.key({ modkey, "Control" }, "#" .. i + 9,
    function ()
    local screen = mouse.screen
    if tags[screen][i] then
    awful.tag.viewtoggle(tags[screen][i])
    end
    end),
    awful.key({ modkey, "Shift" }, "#" .. i + 9,
    function ()
    if client.focus and tags[client.focus.screen][i] then
    awful.client.movetotag(tags[client.focus.screen][i])
    end
    end),
    awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
    function ()
    if client.focus and tags[client.focus.screen][i] then
    awful.client.toggletag(tags[client.focus.screen][i])
    end
    end))
    end
    clientbuttons = awful.util.table.join(
    awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
    awful.button({ modkey }, 1, awful.mouse.client.move),
    awful.button({ modkey }, 3, awful.mouse.client.resize))
    -- Set keys
    root.keys(globalkeys)
    -- {{{ Rules
    awful.rules.rules = {
    -- All clients will match this rule.
    { rule = { },
    properties = { border_width = beautiful.border_width,
    border_color = beautiful.border_normal,
    focus = awful.client.focus.filter,
    keys = clientkeys,
    buttons = clientbuttons } },
    { rule = { class = "MPlayer" },
    properties = { floating = true } },
    { rule = { class = "pinentry" },
    properties = { floating = true } },
    { rule = { class = "gimp" },
    properties = { floating = true } },
    -- Set Firefox to always map on tags number 2 of screen 1.
    -- { rule = { class = "Firefox" },
    -- properties = { tag = tags[1][2] } },
    -- {{{ Signals
    -- Signal function to execute when a new client appears.
    client.connect_signal("manage", function (c, startup)
    -- Enable sloppy focus
    c:connect_signal("mouse::enter", function(c)
    if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
    and awful.client.focus.filter(c) then
    client.focus = c
    end
    end)
    if not startup then
    -- Set the windows at the slave,
    -- i.e. put it at the end of others instead of setting it master.
    -- awful.client.setslave(c)
    -- Put windows in a smart way, only if they does not set an initial position.
    if not c.size_hints.user_position and not c.size_hints.program_position then
    awful.placement.no_overlap(c)
    awful.placement.no_offscreen(c)
    end
    end
    local titlebars_enabled = false
    if titlebars_enabled and (c.type == "normal" or c.type == "dialog") then
    -- Widgets that are aligned to the left
    local left_layout = wibox.layout.fixed.horizontal()
    left_layout:add(awful.titlebar.widget.iconwidget(c))
    -- Widgets that are aligned to the right
    local right_layout = wibox.layout.fixed.horizontal()
    right_layout:add(awful.titlebar.widget.floatingbutton(c))
    right_layout:add(awful.titlebar.widget.maximizedbutton(c))
    right_layout:add(awful.titlebar.widget.stickybutton(c))
    right_layout:add(awful.titlebar.widget.ontopbutton(c))
    right_layout:add(awful.titlebar.widget.closebutton(c))
    -- The title goes in the middle
    local title = awful.titlebar.widget.titlewidget(c)
    title: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)
    -- Now bring it all together
    local layout = wibox.layout.align.horizontal()
    layout:set_left(left_layout)
    layout:set_right(right_layout)
    layout:set_middle(title)
    awful.titlebar(c):set_widget(layout)
    end
    end)
    client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
    client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
    http://pastebin.com/X4JdkVi0
    Last edited by nhare330 (2013-01-18 13:59:40)

  • [SOLVED] awesome vicious library missing

    There was an update to the vicious library for awesome to version 2.1.0-1 that was applied to my machine.
    Once I restarted awesome, it failed to load my config, looking at the error log output, it seems to have a problem using the vicious library:
    /home/phyrne/.config/awesome/rc.lua:118: attempt to index global 'vicious' (a nil value)
    Line 118 in my rc.lua is the start of registering my MPD widget.
    I've tried commenting out the MPD widget section, however, it just finds another instance of vicious in my config and complains about that also.
    I've looked in /usr/share/awesome/lib for vicious, where it usually resides, however it isn't there?
    I have confirmed that I do have the vicious package installed, I've also tried installing the vicious-git package, however this didn't work either.
    I've checked for a local copy of vicious in Pacman's chache to rollback to, however unfortunately there isn't an earlier tarball present.
    Does anybody have any idea how this could be fixed?
    Thanks in advance
    Last edited by Starfall (2012-08-27 00:02:13)

    projectdelphai wrote:
    In your rc.lua you now have to require vicious as
    vicious = require("vicious")
    . Someone noticed this earlier here. The vicious folder was moved to /usr/share/lua/5.1 (pacman -Ql vicious).
    That fixed it! Thanks so much for the swift response projectdelphai

  • [SOLVED] Awesome 3.5 using english keyboard layout instead of Xorg's

    Keyboard layout was OK on 3.4.
    For 3.5 and git version, Awesome defaults to english layout. Calling awesome.restart() (e.g. with SUPER+SHIFT+R) will correctly set the layout according to Xorg config. That's quite annoying indeed.
    Only Awesome is affected, i.e. all other applications will use the Xorg config. So basically the affected parts are
    * key bindings
    * Run command
    * Run lua code
    Using
    * up to date x86_64 system
    * blank user session
    * startx and 'exec awesome' as the sole command.
    I couldn't find any related issue on the web, seems strange to me since I shouldn't be the only one using a non-english keyboard layout !
    Any idea ?
    Last edited by Ambrevar (2013-08-02 20:01:32)

    Same here, but as with nomorewindows case, I just need to restart awesome, but I need to do it every time I boot. Both my console and X are configured to dvorak, but in X it's set through .xinitrc.
    I'm going to try and see whether putting
    echo "awesome.restart()" | awesome-client
    into my .xinitrc will help.
    By the way, my .xinitrc starts awesome in the following way:
    awesome & wmpid=$!
    [whole bunch of misery involving mpd, urxvt and setting the keymap in X]
    [above for restarting awesome]
    wait $wmpid

  • [SOLVED] Awesome Windows Manager terminal not opening

    Hello,
    I recently reinstalled Arch on my UEFI laptop. It went pretty smoothly, apart from the fact that whenever I start up arch it says that it failed to activate my swap partition. But that's not the problem I'm posting about. I installed Xorg, and then AWM, and adding "exec awesome" to ~/.xinitrc, and Awesome starts up nicely when I run startx. However, when awesome starts up, I can't open a terminal window. I've taken to just exiting Awesome whenever I want to run a command, which is a real pain in the arse when I just installed and I'm still pacmanning like crazy for all the packages I need.
    Do you guys know what's wrong? I can right click, but when I click "open terminal", or "manual" or "edit config", nothing happens. No windows pops up under any of the tags, no application appears on the toolbar at the top. "restart" and "quit" work, so it's nothing to do with the actual right click menu / menu that pops up when you click the button in the top left.
    Any help would be greatly appreciated. I looked online, it doesn't seem like anyone else has this problem...
    Last edited by plomp90 (2013-10-03 01:47:33)

    Also, don't forget you can swap to a virtual terminal via Ctrl-Alt-F2, for instance. And Ctrl-Alt-F1 to get back (well, to be pedantic, Alt-F1 works from the terminal, but I prefer to just use the one that always works)

Maybe you are looking for

  • How can I resolve slow browsing in finder when connected to a share point on a linux box?

    Hi, I am having huge difficulties when browsing a share point that is on a Linux box. I am connecting to it with a Macbook Pro running Lion 10.7.5. Initially there was an SMB share point setup on the server which was extremely slow to browse. I then

  • More forms questions, cannot get form to align

    I tried the methods suggested here and at various sites, but could be missing something. I cannot get the form to drop into my template. I created one at wufoo and one a freeback, published my site to a folder, then edited the page in textedit by sea

  • Migrating Keyboard Shortcuts

    I have custom keyboard shortcuts in CS6 which I use with my Wacom Tablet. Is there any way I now can migrate them to my new CC version, or do I have to re-enter them all manually? Any gudance appreciated. Roy Sletcher (Newby to CC)

  • [REQUEST] Latest UEFI/BIOS R9 270 GAMING 2G

    Hey I'm looking for latest UEFI/BIOS to R9 270 GAMING 2G _http://www.msi.com/product/vga/R9-270-GAMING-2G.html#hero-overview   (without "_" ) s/n: 602-V305-030B1405069267 My rom: _https://www.dropbox.com/s/2y0l4cphdxkq6vl/Pitcairn.rom?dl=0    sha1: 

  • I want to learn PHP...

    I want to learn PHP. This is my #1 goal for the year. But I can't find anyone who teaches it in upstate NY. Any suggestions for learning how to create a website from scratch with PHP would be greatly appreciated. Thanks!!