You are not logged in.

#176 2009-05-04 23:00:45

YtseJammin
Member
From: Italy
Registered: 2009-01-23
Posts: 94

Re: May 2009 Screenshots

ri wrote:

Its bmpanel with my own theme, can share it if anyone is interessted.

Here I am. Could you share it? big_smile

Offline

#177 2009-05-04 23:01:56

Icair
Member
From: Mikkeli, Finland
Registered: 2009-02-04
Posts: 8

Re: May 2009 Screenshots

tMW1paw

openbox,conky,tint2,ncmpc...

Offline

#178 2009-05-04 23:05:27

adamruss
Member
Registered: 2008-01-17
Posts: 143

Re: May 2009 Screenshots

sorry for the blur...

screenshot.th.jpg  screenshot1h.th.jpg

Last edited by adamruss (2009-05-04 23:05:45)

Offline

#179 2009-05-04 23:31:12

koch
Member
From: Germany
Registered: 2008-01-26
Posts: 369

Re: May 2009 Screenshots

X/ax wrote:

@everyone running awesome3 mind sharing some rc.lua files? I can't really find a lot of configs that really work out-of-the-box and I don't know sufficient lua to start writing one myself...

rc.lua:

-- Standard awesome library
require("awful")
-- Theme handling library
require("beautiful")
-- Notification library
require("naughty")

-- {{{ Variable definitions
-- Themes define colours, icons, and wallpapers
-- The default is a dark theme
-- theme_path = "/usr/share/awesome/themes/default/theme"
-- Uncommment this for a lighter theme
-- theme_path = "/usr/share/awesome/themes/sky/theme"
-- micha theme
theme_path = "/home/micha/.config/awesome/themes/default"

-- Actually load theme
beautiful.init(theme_path)

-- This is used later as the default terminal and editor to run.
-- terminal = "xterm"
-- editor = os.getenv("EDITOR") or "nano"
-- editor_cmd = terminal .. " -e " .. editor
terminal = "urxvt -fg white -sh 60 +sb"
editor = os.getenv("EDITOR") or "geany"
editor_cmd = terminal .. " -e " .. editor

-- Default modkey.
-- Usually, Mod4 is the key with a logo between Control and Alt.
-- If you do not like this or do not have such a key,
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
-- However, you can use another modifier like Mod1, but it may interact with others.
modkey = "Mod4"

-- Table of layouts to cover with awful.layout.inc, order matters.
layouts =
{
    awful.layout.suit.tile,
    awful.layout.suit.tile.left,
    awful.layout.suit.tile.bottom,
    awful.layout.suit.tile.top,
    awful.layout.suit.fair,
    awful.layout.suit.fair.horizontal,
    awful.layout.suit.max,
    awful.layout.suit.max.fullscreen,
    awful.layout.suit.magnifier,
    awful.layout.suit.floating
}

-- Table of clients that should be set floating. The index may be either
-- the application class or instance. The instance is useful when running
-- a console app in a terminal like (Music on Console)
--    xterm -name mocp -e mocp
floatapps =
{
    -- by class
    ["MPlayer"] = true,
    ["pinentry"] = true,
    ["gimp"] = true,
    ["gajim"] = true,
    ["pidgin"] = true,
    ["Qt-subapplication"] = true,    
    ["vlc"] = true,
    ["thunderbird"] = false,
    ["firefox"] = false,        
    -- by instance
    ["mocp"] = true,
    ["Qt-subapplication"] = true,
    ["gajim"] = true,
    ["gimp"] = true,    
    ["vlc"] = true,
    ["thunderbird"] = false,
    ["firefox"] = false,        
    ["pidgin"] = true    
}

-- Applications to be moved to a pre-defined tag by class or instance.
-- Use the screen and tags indices.
apptags =
{
    -- ["Firefox"] = { screen = 1, tag = 2 },
    -- ["mocp"] = { screen = 2, tag = 4 },
}

-- Define if we want to use titlebar on all applications.
use_titlebar = false
-- }}}

-- {{{ Tags
-- Define tags table.
tags = {}
for s = 1, screen.count() do
    -- Each screen has its own tag table.
    tags[s] = {}
    -- Create 6 tags per screen.
    for tagnumber = 1, 6 do
        tags[s][tagnumber] = tag(tagnumber)
        -- Add tags to screen one by one
        tags[s][tagnumber].screen = s
        awful.layout.set(layouts[1], tags[s][tagnumber])
    end
    -- I'm sure you want to see at least one tag.
    tags[s][1].selected = true
end
-- }}}

-- {{{ Wibox
-- Create a textbox widget
mytextbox = widget({ type = "textbox", align = "right" })
-- Set the default text in textbox
mytextbox.text = "<b><small> " .. AWESOME_RELEASE .. " </small></b>"

-- 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.new({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
                                        { "open terminal", terminal }
                                      }
                            })

mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon),
                                     menu = mymainmenu })

-- Create a systray
mysystray = widget({ type = "systray", align = "right" })

-- Create a wibox for each screen and add it
mywibox = {}
mypromptbox = {}
mylayoutbox = {}
mytaglist = {}
mytaglist.buttons = { button({ }, 1, awful.tag.viewonly),
                      button({ modkey }, 1, awful.client.movetotag),
                      button({ }, 3, function (tag) tag.selected = not tag.selected end),
                      button({ modkey }, 3, awful.client.toggletag),
                      button({ }, 4, awful.tag.viewnext),
                      button({ }, 5, awful.tag.viewprev) }
mytasklist = {}
mytasklist.buttons = { button({ }, 1, function (c)
                                          if not c:isvisible() then
                                              awful.tag.viewonly(c:tags()[1])
                                          end
                                          client.focus = c
                                          c:raise()
                                      end),
                       button({ }, 3, function () if instance then instance:hide() end instance = awful.menu.clients({ width=250 }) end),
                       button({ }, 4, function ()
                                          awful.client.focus.byidx(1)
                                          if client.focus then client.focus:raise() end
                                      end),
                       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] = widget({ type = "textbox", align = "left" })
    -- Create an imagebox widget which will contains an icon indicating which layout we're using.
    -- We need one layoutbox per screen.
    mylayoutbox[s] = widget({ type = "imagebox", align = "right" })
    mylayoutbox[s]:buttons({ button({ }, 1, function () awful.layout.inc(layouts, 1) end),
                             button({ }, 3, function () awful.layout.inc(layouts, -1) end),
                             button({ }, 4, function () awful.layout.inc(layouts, 1) end),
                             button({ }, 5, function () awful.layout.inc(layouts, -1) end) })
    -- Create a taglist widget
    mytaglist[s] = awful.widget.taglist.new(s, awful.widget.taglist.label.all, mytaglist.buttons)

    -- Create a tasklist widget
    mytasklist[s] = awful.widget.tasklist.new(function(c)
                                                  return awful.widget.tasklist.label.currenttags(c, s)
                                              end, mytasklist.buttons)

    -- Create the wibox
    mywibox[s] = wibox({ position = "top", fg = beautiful.fg_normal, bg = beautiful.bg_normal })
    -- Add widgets to the wibox - order matters
    mywibox[s].widgets = { mylauncher,
                           mytaglist[s],
                           mytasklist[s],
                           mypromptbox[s],
                           mytextbox,
                           mylayoutbox[s],
                           s == 1 and mysystray or nil }
    mywibox[s].screen = s
end
-- }}}

-- {{{ Mouse bindings
root.buttons({
    button({ }, 3, function () mymainmenu:toggle() end),
    button({ }, 1, function () awful.util.spawn(terminal) end),    
    button({ }, 4, awful.tag.viewnext),
    button({ }, 5, awful.tag.viewprev)
})
-- }}}

-- {{{ Key bindings
globalkeys =
{
    key({ modkey,           }, "Left",   awful.tag.viewprev       ),
    key({ modkey,           }, "Right",  awful.tag.viewnext       ),
    key({ modkey,           }, "Escape", awful.tag.history.restore),

    key({ modkey,           }, "j",
        function ()
            awful.client.focus.byidx( 1)
            if client.focus then client.focus:raise() end
        end),
    key({ modkey,           }, "k",
        function ()
            awful.client.focus.byidx(-1)
            if client.focus then client.focus:raise() end
        end),

    -- Layout manipulation
    key({ modkey, "Shift"   }, "j", function () awful.client.swap.byidx(  1) end),
    key({ modkey, "Shift"   }, "k", function () awful.client.swap.byidx( -1) end),
    key({ modkey, "Control" }, "j", function () awful.screen.focus( 1)       end),
    key({ modkey, "Control" }, "k", function () awful.screen.focus(-1)       end),
    key({ modkey,           }, "u", awful.client.urgent.jumpto),
    key({ modkey,           }, "Tab",
        function ()
            awful.client.focus.history.previous()
            if client.focus then
                client.focus:raise()
            end
        end),

    -- Standard program
    key({ modkey, "Shift", "Control"           }, "n", function () awful.util.spawn("sudo reboot") end),
    key({ modkey, "Shift", "Control"           }, "q", function () awful.util.spawn("sudo shutdown -h now") end),
    key({ modkey, "Shift", "Control"           }, "F10", function () awful.util.spawn("sudo pm-suspend") end),    
    key({ modkey,           }, "Return", function () awful.util.spawn(terminal) end),
    key({ modkey,           }, "g", function () awful.util.spawn("gmrun") end),
    key({ modkey,           }, "F2", function () awful.util.spawn("firefox") end),
    key({ modkey,           }, "F3", function () awful.util.spawn("thunderbird") end),
    key({ modkey,           }, "F4", function () awful.util.spawn("thunar") end),
    key({ modkey,           }, "F5", function () awful.util.spawn("geany") end),
    key({ modkey,           }, "F6", function () awful.util.spawn("urxvt -e mocp") end),
    key({ modkey,           }, "F7", function () awful.util.spawn("urxvt -e mc") end),
    key({ modkey,           }, "F9", function () awful.util.spawn("dmenfm") end),
                                            
    key({ modkey, "Control" }, "r", awesome.restart),
    key({ modkey, "Shift"   }, "q", awesome.quit),

    key({ modkey,           }, "l",     function () awful.tag.incmwfact( 0.05)    end),
    key({ modkey,           }, "h",     function () awful.tag.incmwfact(-0.05)    end),
    key({ modkey, "Shift"   }, "h",     function () awful.tag.incnmaster( 1)      end),
    key({ modkey, "Shift"   }, "l",     function () awful.tag.incnmaster(-1)      end),
    key({ modkey, "Control" }, "h",     function () awful.tag.incncol( 1)         end),
    key({ modkey, "Control" }, "l",     function () awful.tag.incncol(-1)         end),
    key({ modkey,           }, "space", function () awful.layout.inc(layouts,  1) end),
    key({ modkey, "Shift"   }, "space", function () awful.layout.inc(layouts, -1) end),
    
-- Load revelation
-- require("revelation")
-- Add mod + F8 key binding to start revelation
-- key({ modkey }, "F8", revelation.revelation):add()    

    -- Prompt
    key({ modkey }, "F1",
        function ()
            awful.prompt.run({ prompt = "Run: " },
            mypromptbox[mouse.screen],
            awful.util.spawn, awful.completion.bash,
            awful.util.getdir("cache") .. "/history")
        end),

    key({ modkey }, "F11",
        function ()
            awful.prompt.run({ prompt = "Run Lua code: " },
            mypromptbox[mouse.screen],
            awful.util.eval, awful.prompt.bash,
            awful.util.getdir("cache") .. "/history_eval")
        end),
}

-- Client awful tagging: this is useful to tag some clients and then do stuff like move to tag on them
clientkeys =
{
    key({ modkey,           }, "f",      function (c) c.fullscreen = not c.fullscreen  end),
    key({ modkey, "Shift"   }, "c",      function (c) c:kill()                         end),
    key({ modkey, "Control" }, "space",  awful.client.floating.toggle                     ),
    key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end),
    key({ modkey,           }, "o",      awful.client.movetoscreen                        ),
    key({ modkey, "Shift"   }, "r",      function (c) c:redraw()                       end),
    key({ modkey }, "t", awful.client.togglemarked),
    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

for i = 1, keynumber do
    table.insert(globalkeys,
        key({ modkey }, i,
            function ()
                local screen = mouse.screen
                if tags[screen][i] then
                    awful.tag.viewonly(tags[screen][i])
                end
            end))
    table.insert(globalkeys,
        key({ modkey, "Control" }, i,
            function ()
                local screen = mouse.screen
                if tags[screen][i] then
                    tags[screen][i].selected = not tags[screen][i].selected
                end
            end))
    table.insert(globalkeys,
        key({ modkey, "Shift" }, i,
            function ()
                if client.focus and tags[client.focus.screen][i] then
                    awful.client.movetotag(tags[client.focus.screen][i])
                end
            end))
    table.insert(globalkeys,
        key({ modkey, "Control", "Shift" }, i,
            function ()
                if client.focus and tags[client.focus.screen][i] then
                    awful.client.toggletag(tags[client.focus.screen][i])
                end
            end))
end


for i = 1, keynumber do
    table.insert(globalkeys, key({ modkey, "Shift" }, "F" .. i,
                 function ()
                     local screen = mouse.screen
                     if tags[screen][i] then
                         for k, c in pairs(awful.client.getmarked()) do
                             awful.client.movetotag(tags[screen][i], c)
                         end
                     end
                 end))
end

-- Set keys
root.keys(globalkeys)
-- }}}

-- {{{ Hooks
-- Hook function to execute when focusing a client.
awful.hooks.focus.register(function (c)
    if not awful.client.ismarked(c) then
        c.border_color = beautiful.border_focus
    end
end)

-- Hook function to execute when unfocusing a client.
awful.hooks.unfocus.register(function (c)
    if not awful.client.ismarked(c) then
        c.border_color = beautiful.border_normal
    end
end)

-- Hook function to execute when marking a client
awful.hooks.marked.register(function (c)
    c.border_color = beautiful.border_marked
end)

-- Hook function to execute when unmarking a client.
awful.hooks.unmarked.register(function (c)
    c.border_color = beautiful.border_focus
end)

-- Hook function to execute when the mouse enters a client.
awful.hooks.mouse_enter.register(function (c)
    -- Sloppy focus, but disabled for magnifier layout
    if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
        and awful.client.focus.filter(c) then
        client.focus = c
    end
end)

-- Hook function to execute when a new client appears.
awful.hooks.manage.register(function (c, startup)
    -- If we are not managing this application at startup,
    -- move it to the screen where the mouse is.
    -- We only do it for filtered windows (i.e. no dock, etc).
    if not startup and awful.client.focus.filter(c) then
        c.screen = mouse.screen
    end

    if use_titlebar then
        -- Add a titlebar
        awful.titlebar.add(c, { modkey = modkey })
    end
    -- Add mouse bindings
    c:buttons({
        button({ }, 1, function (c) client.focus = c; c:raise() end),
        button({ modkey }, 1, awful.mouse.client.move),
        button({ modkey }, 3, awful.mouse.client.resize)
    })
    -- New client may not receive focus
    -- if they're not focusable, so set border anyway.
    c.border_width = beautiful.border_width
    c.border_color = beautiful.border_normal

    -- Check if the application should be floating.
    local cls = c.class
    local inst = c.instance
    if floatapps[cls] then
        awful.client.floating.set(c, floatapps[cls])
    elseif floatapps[inst] then
        awful.client.floating.set(c, floatapps[inst])
    end

    -- Check application->screen/tag mappings.
    local target
    if apptags[cls] then
        target = apptags[cls]
    elseif apptags[inst] then
        target = apptags[inst]
    end
    if target then
        c.screen = target.screen
        awful.client.movetotag(tags[target.screen][target.tag], c)
    end

    -- Do this after tag mapping, so you don't see it on the wrong tag for a split second.
    client.focus = c

    -- Set key bindings
    c:keys(clientkeys)

    -- Set the windows at the slave,
    -- i.e. put it at the end of others instead of setting it master.
    -- awful.client.setslave(c)

    -- Honor size hints: if you want to drop the gaps between windows, set this to false.
    -- c.size_hints_honor = false
end)

-- Hook function to execute when arranging the screen.
-- (tag switch, new client, etc)
awful.hooks.arrange.register(function (screen)
    local layout = awful.layout.getname(awful.layout.get(screen))
    if layout and beautiful["layout_" ..layout] then
        mylayoutbox[screen].image = image(beautiful["layout_" .. layout])
    else
        mylayoutbox[screen].image = nil
    end

    -- Give focus to the latest client in history if no window has focus
    -- or if the current window is a desktop or a dock one.
    if not client.focus then
        local c = awful.client.focus.history.get(screen, 0)
        if c then client.focus = c end
    end
end)

-- Hook called every minute
awful.hooks.timer.register(60, function ()
    mytextbox.text = os.date(" %a %b %d, %H:%M ")
end)
-- }}}

theme (it is still called default but is modified):

---------------------------
-- Default awesome theme --
---------------------------

font          = Zekton 8
bg_normal     = #222222
bg_focus      = #696969
bg_urgent     = #ff0000

fg_normal     = #aaaaaa
fg_focus      = #0096d1
fg_urgent     = #ffffff

border_width  = 1
border_normal = #000000
border_focus  = #0096d1
border_marked = #0096d1

# There are another variables sets
# overriding the default one when
# defined, the sets are:
# [taglist|tasklist]_[bg|fg]_[focus|urgent]
# titlebar_[bg|fg]_[normal|focus]
# Example:
#taglist_bg_focus = #ff0000

# Display the taglist squares
taglist_squares_sel = /usr/share/awesome/themes/default/taglist/squarefw.png
taglist_squares_unsel = /usr/share/awesome/themes/default/taglist/squarew.png

tasklist_floating_icon = /usr/share/awesome/themes/default/tasklist/floatingw.png

# Variables set for theming menu
# menu_[bg|fg]_[normal|focus]
# menu_[border_color|border_width]
menu_submenu_icon = /usr/share/awesome/themes/default/submenu.png
menu_height   = 15
menu_width    = 100

# You can add as many variables as
# you wish and access them by using
# beautiful.variable in your rc.lua
#bg_widget    = #cc0000

# Define the image to load
titlebar_close_button_normal = /usr/share/awesome/themes/default/titlebar/close.png
titlebar_close_button_focus = /usr/share/awesome/themes/default/titlebar/closer.png

# You can use your own command to set your wallpaper
#wallpaper_cmd = awsetbg /usr/share/awesome/themes/default/background.png
wallpaper_cmd = awsetbg /home/micha/system/wallpaper/the_darkness/td_1680x1050.png
#wallpaper_cmd = awsetbg /home/micha/system/wallpaper/darkwood/darkwood.jpg
#wallpaper_cmd = awsetbg /home/micha/system/wallpaper/nogods1680.png

# You can use your own layout icons like this:
layout_dwindle = /usr/share/awesome/themes/default/layouts/dwindlew.png
layout_fairh = /usr/share/awesome/themes/default/layouts/fairhw.png
layout_fairv = /usr/share/awesome/themes/default/layouts/fairvw.png
layout_floating = /usr/share/awesome/themes/default/layouts/floatingw.png
layout_magnifier = /usr/share/awesome/themes/default/layouts/magnifierw.png
layout_max = /usr/share/awesome/themes/default/layouts/maxw.png
layout_spiral = /usr/share/awesome/themes/default/layouts/spiralw.png
layout_tilebottom = /usr/share/awesome/themes/default/layouts/tilebottomw.png
layout_tileleft = /usr/share/awesome/themes/default/layouts/tileleftw.png
layout_tile = /usr/share/awesome/themes/default/layouts/tilew.png
layout_tiletop = /usr/share/awesome/themes/default/layouts/tiletopw.png

awesome_icon = /usr/share/awesome/icons/awesome16.png

as you can see it is almost standard but i like it this way. smile
i do not need any fancy widgets for cpu-usage or similar stuff.
here is an "old" screenshot (with one 1680x1050 and one 1280x1024 monitor in dualview):

2009-02-07-225000_29609uig.png

Offline

#180 2009-05-04 23:41:57

Breakage
Member
From: London
Registered: 2008-02-12
Posts: 198
Website

Re: May 2009 Screenshots

Gimp'd this http://www.flickr.com/photos/ravanderende/3466665218/ into a decent wall for dwm..

vMW1pdQ
vMW1pdw
vMW1peg

Offline

#181 2009-05-05 00:04:22

capnmoney
Member
From: ~
Registered: 2008-10-17
Posts: 108
Website

Re: May 2009 Screenshots

X/ax wrote:

@everyone running awesome3 mind sharing some rc.lua files? I can't really find a lot of configs that really work out-of-the-box and I don't know sufficient lua to start writing one myself...

tMW1qNg

In my personal experience, it's almost easier to start from awesome's standard config and build it up to what you want.  There's a lot of good notes in the comments, and when in doubt there's always the wiki.

awesome 3.3pre20090421-1

-- Standard awesome library
require("awful")
-- Theme handling library
require("beautiful")
-- Notification library
require("naughty")
-- Wicked for widgets
require("wicked")

-- Volume widget
 function volume (mode, widget)
     local cardid  = 0
     local channel = "PCM"
     if mode == "update" then
         local status = io.popen("amixer -c " .. cardid .. " -- sget " .. channel):read("*all")
         
         local volume = tonumber(string.match(status, "(%d?%d?%d)%%"))
 
         status = string.match(status, "%[(o[^%]]*)%]")
 
         local color = "#FF0000"
         if string.find(status, "on", 1, true) then
              color = "#00FF00"
         end
         status = ""
         for i = 1, math.floor(volume / 10) do
             status = status .. "*"
         end
         for i = math.floor(volume / 10) + 1, 10 do
             status = status .. "."
         end
         status = "[Vol: " ..status .. "]"
         widget.text = "" .. status .. "|"
     elseif mode == "up" then
         os.execute("amixer -q -c " .. cardid .. " sset " .. channel .. " 5%+")
         volume("update", widget)
     elseif mode == "down" then
         os.execute("amixer -q -c " .. cardid .. " sset " .. channel .. " 5%-")
         volume("update", widget)
     else
         os.execute("amixer -c " .. cardid .. " sset " .. channel .. " toggle")
         volume("update", widget)
     end
 end

 awful.hooks.timer.register(10, function () volume("update", tb_volume) end)

-- {{{ Variable definitions
-- Themes define colours, icons, and wallpapers
-- The default is a dark theme
-- theme_path = "/usr/share/awesome/themes/default/theme"
-- Uncommment this for a lighter theme
-- theme_path = "/usr/share/awesome/themes/sky/theme"
theme_path = "/home/phill/.awesome/themes/default/theme"

-- Actually load theme
beautiful.init(theme_path)

-- This is used later as the default terminal and editor to run.
terminal = "urxvtc"
editor = os.getenv("EDITOR") or "vim"
editor_cmd = terminal .. " -e " .. editor
browser = "firefox"
manager = "pcmanfm"
music = terminal .. " -name mocp -e mocp"
wifi = terminal .. " -e sudo wifi-select eth0"
menu = "dmenu_run" 

-- Default modkey.
-- Usually, Mod4 is the key with a logo between Control and Alt.
-- If you do not like this or do not have such a key,
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
-- However, you can use another modifier like Mod1, but it may interact with others.
modkey = "Mod4"

-- Table of layouts to cover with awful.layout.inc, order matters.
layouts =
{
    awful.layout.suit.tile,
    -- awful.layout.suit.tile.left,
    awful.layout.suit.tile.bottom,
    -- awful.layout.suit.tile.top,
    -- awful.layout.suit.fair,
    -- awful.layout.suit.fair.horizontal,
    awful.layout.suit.max,
    -- awful.layout.suit.max.fullscreen,
    -- awful.layout.suit.magnifier,
    awful.layout.suit.floating
}

-- Table of clients that should be set floating. The index may be either
-- the application class or instance. The instance is useful when running
-- a console app in a terminal like (Music on Console)
--    xterm -name mocp -e mocp
floatapps =
{
    -- by class
    -- ["MPlayer"] = true,
    -- ["pinentry"] = true,
    --"gimp"] = true,
    -- by instance
    -- ["mocp"] = true
}

-- Applications to be moved to a pre-defined tag by class or instance.
-- Use the screen and tags indices.
apptags =
{
    ["Gran Paradiso"] = { screen = 1, tag = 2 },
    ["mocp"] = { screen = 1, tag = 5 },
    ["pcmanfm"] = {screen = 1, tag = 3 },
    ["mirage"] = {screen = 1, tag = 3 },
    ["easytag"] = {screen = 1, tag = 3 },
}

-- Define if we want to use titlebar on all applications.
use_titlebar = false
-- }}}


-- {{{ Tags
-- Define tags table.
mytags = {}
mytags[1] = { name = "main", layout = layouts[1] }
mytags[2] = { name = "web", layout = layouts[1] }
mytags[3] = { name = "file", layout = layouts[1] }
mytags[4] = { name = "text", layout = layouts[1] }
mytags[5] = { name = "media", layout = layouts[1] }
mytags[6] = { name = "misc", layout = layouts[1] }
 
tags = {}
for s = 1, screen.count() do
        -- Each screen has its own tag table.
        tags[s] = {}
        -- Create 5 tags per screen.
        for tagnumber = 1, 6 do
                -- Create the tag with name from table above
                tags[s][tagnumber] = tag(mytags[tagnumber].name)
 
                -- Add tags to screen one by one
                tags[s][tagnumber].screen = s
 
                -- Set layout
                if mytags[tagnumber].layout then
                        awful.layout.set(mytags[tagnumber].layout, tags[s][tagnumber])
                else
                        awful.layout.set(layouts[1], tags[s][tagnumber])
                end
                if mytags[tagnumber].mwfact then
                        awful.tag.setmwfact(mytags[tagnumber].mwfact, tags[s][tagnumber])
                end
                if mytags[tagnumber].nmaster then
                        awful.tag.setnmaster(mytags[tagnumber].nmaster, tags[s][tagnumber])
                end
        end
        -- I'm sure you want to see at least one tag.
                tags[s][1].selected = true
end
-- }}}

-- {{{ Tags
-- Define tags table.
--tags = {}
--for s = 1, screen.count() do
    -- Each screen has its own tag table.
--    tags[s] = {}
    -- Create tags, add layout and set screen.
   
--    for tagnumber = 1, 6 do
--        tags[s][tagnumber] = tag(tagnumber)
          -- Add tags to screen one by one
--        tags[s][tagnumber].screen = s
--        awful.layout.set(layouts[1], tags[s][tagnumber])
--    end
    -- I'm sure you want to see at least one tag.
--    tags[s][1].selected = true
--end
-- }}}

-- {{{ Wibox
-- Create a textbox widget
-- mytextbox = widget({ type = "textbox", align = "right" })
-- Set the default text in textbox
-- mytextbox.text = "<b><small> " .. AWESOME_RELEASE .. " </small></b>"

-- 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.new({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
                                        { "open terminal", terminal }
                                      }
                            })

mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon),
                                     menu = mymainmenu })

-- Create a systray
mysystray = widget({ type = "systray", align = "right" })

-- Create a wibox for each screen and add it
mywibox = {}
mypromptbox = {}
mylayoutbox = {}
mytaglist = {}
mytaglist.buttons = awful.util.table.join(
                    awful.button({ }, 1, awful.tag.viewonly),
                    awful.button({ modkey }, 1, awful.client.movetotag),
                    awful.button({ }, 3, function (tag) tag.selected = not tag.selected end),
                    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] = widget({ type = "textbox", align = "left" })
    -- Create an imagebox widget which will contains an icon indicating which layout we're using.
    -- We need one layoutbox per screen.
    mylayoutbox[s] = widget({ type = "imagebox", align = "right" })
    mylayoutbox[s]:buttons(awful.util.table.join(
                           awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
                           awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
                           awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
                           awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)))
    -- Create a taglist widget
    mytaglist[s] = awful.widget.taglist.new(s, awful.widget.taglist.label.all, mytaglist.buttons)

    -- Create a tasklist widget
    mytasklist[s] = awful.widget.tasklist.new(function(c)
                                                  return awful.widget.tasklist.label.currenttags(c, s)
                                              end, mytasklist.buttons)

    -- Create the wibox
    mywibox[s] = wibox({ position = "top", fg = beautiful.fg_normal, bg = beautiful.bg_normal })
    -- Add widgets to the wibox - order matters
    mywibox[s].widgets = { mylauncher,
                           mytaglist[s],
                           mytasklist[s],
                           mypromptbox[s],
                           -- mytextbox,
                           mylayoutbox[s],
                           s == 1 and mysystray or nil }
    mywibox[s].screen = s
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( 1)       end),
    awful.key({ modkey, "Control" }, "k", function () awful.screen.focus(-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, "Shift"   }, "e",      function () awful.util.spawn(terminal .. " -e " .. editor .. " ~/.config/awesome/rc.lua") end),
    awful.key({ modkey, "Shift"   }, "f",      function () awful.util.spawn(browser) end),
    awful.key({ modkey, "Shift"   }, "p",      function () awful.util.spawn(manager) end),
    awful.key({ modkey, "Shift"   }, "m",      function () awful.util.spawn(music) end),
    awful.key({ modkey, "Shift"   }, "w",      function () awful.util.spawn(wifi) end),
    awful.key({ modkey, "Shift"   }, "t",      function () awful.util.spawn(terminal .. " -e htop") end), 
    awful.key({ modkey, "Shift"   }, "s",      function () awful.util.spawn(terminal .. " -e slurm -i eth0") end),
    awful.key({ modkey, "Shift"   }, "d",      function () awful.util.spawn(menu .. " -b -nb #3f3f3f -nf #dcdccc -sb #1e2320 -sf #f0dfaf") end),

    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),

-- Media keys

    awful.key({ }, "#123", function () volume("up", tb_volume) end),
    awful.key({ }, "#122", function () volume("down", tb_volume) end),
    awful.key({ }, "#121", function () volume("mute", tb_volume) end),
    awful.key({ }, "#172", function () awful.util.spawn('mocp -G') end),
    awful.key({ }, "#173", function () awful.util.spawn('mocp -r') end),
    awful.key({ }, "#171", function () awful.util.spawn('mocp -f') end),
    awful.key({ }, "#174", function () awful.util.spawn('mocp -s') end),

    -- Prompt
    awful.key({ modkey }, "r",
              function ()
                  awful.prompt.run({ prompt = "Run: " },
                  mypromptbox[mouse.screen],
                  awful.util.spawn, awful.completion.shell,
                  awful.util.getdir("cache") .. "/history")
              end),

    awful.key({ modkey }, "x",
              function ()
                  awful.prompt.run({ prompt = "Run Lua code: " },
                  mypromptbox[mouse.screen],
                  awful.util.eval, nil,
                  awful.util.getdir("cache") .. "/history_eval")
              end)
)

-- Client awful tagging: this is useful to tag some clients and then do stuff like move to tag on them
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", awful.client.togglemarked),
    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

for i = 1, keynumber do
    table.foreach(awful.key({ modkey }, i,
                  function ()
                        local screen = mouse.screen
                        if tags[screen][i] then
                            awful.tag.viewonly(tags[screen][i])
                        end
                  end), function(_, k) table.insert(globalkeys, k) end)
    table.foreach(awful.key({ modkey, "Control" }, i,
                  function ()
                      local screen = mouse.screen
                      if tags[screen][i] then
                          tags[screen][i].selected = not tags[screen][i].selected
                      end
                  end), function(_, k) table.insert(globalkeys, k) end)
    table.foreach(awful.key({ modkey, "Shift" }, i,
                  function ()
                      if client.focus and tags[client.focus.screen][i] then
                          awful.client.movetotag(tags[client.focus.screen][i])
                      end
                  end), function(_, k) table.insert(globalkeys, k) end)
    table.foreach(awful.key({ modkey, "Control", "Shift" }, i,
                  function ()
                      if client.focus and tags[client.focus.screen][i] then
                          awful.client.toggletag(tags[client.focus.screen][i])
                      end
                  end), function(_, k) table.insert(globalkeys, k) end)
    table.foreach(awful.key({ modkey, "Shift" }, "F" .. i,
                  function ()
                      local screen = mouse.screen
                      if tags[screen][i] then
                          for k, c in pairs(awful.client.getmarked()) do
                              awful.client.movetotag(tags[screen][i], c)
                          end
                      end
                   end), function(_, k) table.insert(globalkeys, k) end)
end

-- Set keys
root.keys(globalkeys)
-- }}}

-- {{{ Hooks
-- Hook function to execute when focusing a client.
awful.hooks.focus.register(function (c)
    if not awful.client.ismarked(c) then
        c.border_color = beautiful.border_focus
    end
end)

-- Hook function to execute when unfocusing a client.
awful.hooks.unfocus.register(function (c)
    if not awful.client.ismarked(c) then
        c.border_color = beautiful.border_normal
    end
end)

-- Hook function to execute when marking a client
awful.hooks.marked.register(function (c)
    c.border_color = beautiful.border_marked
end)

-- Hook function to execute when unmarking a client.
awful.hooks.unmarked.register(function (c)
    c.border_color = beautiful.border_focus
end)

-- Hook function to execute when the mouse enters a client.
awful.hooks.mouse_enter.register(function (c)
    -- Sloppy focus, but disabled for magnifier layout
    if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
        and awful.client.focus.filter(c) then
        client.focus = c
    end
end)

-- Hook function to execute when a new client appears.
awful.hooks.manage.register(function (c, startup)
    -- If we are not managing this application at startup,
    -- move it to the screen where the mouse is.
    -- We only do it for filtered windows (i.e. no dock, etc).
    if not startup and awful.client.focus.filter(c) then
        c.screen = mouse.screen
    end

    if use_titlebar then
        -- Add a titlebar
        awful.titlebar.add(c, { modkey = modkey })
    end
    -- Add mouse bindings
    c:buttons(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)
    ))
    -- New client may not receive focus
    -- if they're not focusable, so set border anyway.
    c.border_width = beautiful.border_width
    c.border_color = beautiful.border_normal

    -- Check if the application should be floating.
    local cls = c.class
    local inst = c.instance
    if floatapps[cls] then
        awful.client.floating.set(c, floatapps[cls])
    elseif floatapps[inst] then
        awful.client.floating.set(c, floatapps[inst])
    end

    -- Check application->screen/tag mappings.
    local target
    if apptags[cls] then
        target = apptags[cls]
    elseif apptags[inst] then
        target = apptags[inst]
    end
    if target then
        c.screen = target.screen
        awful.client.movetotag(tags[target.screen][target.tag], c)
    end

    -- Do this after tag mapping, so you don't see it on the wrong tag for a split second.
    client.focus = c

    -- Set key bindings
    c:keys(clientkeys)

    -- Set the windows at the slave,
    -- i.e. put it at the end of others instead of setting it master.
    -- awful.client.setslave(c)

    -- Honor size hints: if you want to drop the gaps between windows, set this to false.
    -- c.size_hints_honor = false
end)

-- Hook function to execute when arranging the screen.
-- (tag switch, new client, etc)
awful.hooks.arrange.register(function (screen)
    local layout = awful.layout.getname(awful.layout.get(screen))
    if layout and beautiful["layout_" ..layout] then
        mylayoutbox[screen].image = image(beautiful["layout_" .. layout])
    else
        mylayoutbox[screen].image = nil
    end

    -- Give focus to the latest client in history if no window has focus
    -- or if the current window is a desktop or a dock one.
    if not client.focus then
        local c = awful.client.focus.history.get(screen, 0)
        if c then client.focus = c end
    end
end)

-- Hook called every minute
--awful.hooks.timer.register(60, function ()
--    mytextbox.text = os.date(" %a %b %d, %H:%M ")
-- end)

-- Widgets using wicked
memwidget = widget({
   type = 'textbox',
   name = 'memwidget',
   align = "right"
})
wicked.register(memwidget, wicked.widgets.mem,
   '[Memory: $1%]')
--date
datewidget = widget({
   type = 'textbox',
   name = 'datewidget',
})
wicked.register(datewidget, wicked.widgets.date,
   '[%a %b %d, %H:%M]')

-- mocp widget

mocpwidget = widget({
    type = 'textbox',
    name = 'mocpwidget',
    align = "left"
})

function run_script()
    local filedescriptor = io.popen('/home/phill/.scripts/mocsong.sh')
    local value = filedescriptor:read()
    filedescriptor:close()

    return {value}
end
 
--call mocp widget
wicked.register(mocpwidget, run_script, "$1", 5)

-- file system
fswidget = widget({
   type = 'textbox',
   name = 'fswidget',
   align = "right"
})
wicked.register(fswidget, wicked.widgets.fs,
   '[/: ${/ usep}%][/home: ${/home usep}%]', 30)

   --Dropbox Widget - calls ~/.scripts/drop.sh
   dbwidget = widget({
    type = 'textbox',
    name = 'dbwidget',
    align = "right"
})
 
function run_script()
    local filedescriptor = io.popen('/home/phill/.scripts/drop.sh')
    local value = filedescriptor:read()
    filedescriptor:close()

    return {value}
end
 
-- Runs 'my_nifty_script.py' every 10 seconds and puts its output into the widget
wicked.register(dbwidget, run_script, "[/Dropbox: $1%]", 30)

-- cpu
cpuwidget = widget({
   type = 'textbox',
   name = 'cpuwidget',
   align = "right"
})
wicked.register(cpuwidget, wicked.widgets.cpu,
   '[CPU: $1%]')
-- battery
batterywidget = widget({type = "textbox", name = "batterywidget", align = "right" })
 function batteryInfo(adapter)
     spacer = " "
     local fcur = io.open("/sys/class/power_supply/"..adapter.."/charge_now")    
     local fcap = io.open("/sys/class/power_supply/"..adapter.."/charge_full")
     local fsta = io.open("/sys/class/power_supply/"..adapter.."/status")
     local cur = fcur:read()
     local cap = fcap:read()
     local sta = fsta:read()
     local battery = math.floor(cur * 100 / cap)
     if sta:match("Charging") then
         dir = "^"
         battery = "A/C ("..battery..")"
     elseif sta:match("Discharging") then
         dir = "v"
         if tonumber(battery) > 25 and tonumber(battery) < 75 then
             battery = battery
         elseif tonumber(battery) < 25 then
             if tonumber(battery) < 10 then
                 naughty.notify({ title      = "Battery Warning"
                                , text       = "Battery low!"..spacer..battery.."%"..spacer.."left!"
                                , timeout    = 5
                                , position   = "top_right"
                                , fg         = beautiful.fg_focus
                                , bg         = beautiful.bg_focus
                                })
             end
             battery = battery
         else
             battery = battery
         end
     else
         dir = "="
         battery = "A/C"
     end
     batterywidget.text = "[Bat:"..spacer..dir..battery..dir.."]"
     fcur:close()
     fcap:close()
     fsta:close()
 end

awful.hooks.timer.register(20, function()
     batteryInfo("BAT0")
end)

wifiwidget = widget({type = "textbox", name = "wifiwidget", align = "right" })

 function wifiInfo(adapter)
     spacer = " "
     local f = io.open("/sys/class/net/"..adapter.."/wireless/link")
     local wifiStrength = f:read()
     if wifiStrength == "0" then
         wifiStrength = "Network Down"
     else
         wifiStrength = "Wifi:"..spacer..wifiStrength.."%"
     end
     wifiwidget.text = "["..wifiStrength.."]"
     f:close()
 end

awful.hooks.timer.register(30, function() wifiInfo("eth0")
end)

 tb_volume = widget({ type = "textbox", name = "tb_volume", align = "right" })
 tb_volume:buttons({
     button({ }, 4, function () volume("up", tb_volume) end),
     button({ }, 5, function () volume("down", tb_volume) end),
     button({ }, 1, function () volume("mute", tb_volume) end)
 })
 volume("update", tb_volume)
 
-- statebar in the bottom
mystatebar = wibox( {position = "bottom", fg = beautiful.fg_focus, bg = beautiful.bg_focus} )
mystatebar.widgets = {
   datewidget,
   mocpwidget,
   fswidget,
   dbwidget,
   cpuwidget,
   memwidget,
   wifiwidget,
   batterywidget,
   tb_volume,
}

mystatebar.screen = 1
-- }}}

Offline

#182 2009-05-05 00:30:16

HashBox
Member
Registered: 2009-01-22
Posts: 271

Re: May 2009 Screenshots

OpenBox this month smile

(hope the thumbnail shows!)

Laptop_050509__Updated_by_HashBox.png

Edit: Updated

Last edited by HashBox (2009-05-07 10:04:30)

Offline

#183 2009-05-05 01:11:34

Lexion
Member
Registered: 2008-03-23
Posts: 510

Re: May 2009 Screenshots

@Icair:  Wall, please?  It rocks.


urxvtc / wmii / zsh / configs / onebluecat.net
Arch will not hold your hand

Offline

#184 2009-05-05 02:35:12

methuselah
Member
Registered: 2007-10-02
Posts: 570

Re: May 2009 Screenshots

How did you get your Firefox tab-bar like that? Like the way it was before native Linux widgets?

Mine looks like this for 3.1b3-PGO: http://fc02.deviantart.com/fs45/f/2009/ … 93a234.png


a6c22162e6ec4b09923b756c3615a064.png
http://fc05.deviantart.com/fs43/f/2009/ … 15a064.png

9150dc9b3c7b0b1281b33b6dd5404c94.png
http://fc01.deviantart.com/fs45/f/2009/ … 404c94.png

002aceed1bcda429e8b7b54225468379.png
http://fc01.deviantart.com/fs44/f/2009/ … 468379.png

Last edited by methuselah (2009-05-05 03:10:40)

Offline

#185 2009-05-05 03:12:35

Joe_Arch
Member
Registered: 2008-11-27
Posts: 67

Re: May 2009 Screenshots

What GTK theme is that, Methuselah?

Offline

#186 2009-05-05 03:27:22

methuselah
Member
Registered: 2007-10-02
Posts: 570

Re: May 2009 Screenshots

Joe_Arch wrote:

What GTK theme is that, Methuselah?

It's one that I made using murrine-svn. I plan on releasing a few of these soon.

Here is my gallery of murrine-svn themes and emerald themes that I have made: http://crimesaucer.deviantart.com/gallery/

Last edited by methuselah (2009-05-05 03:30:23)

Offline

#187 2009-05-05 05:20:16

Murray_B
Member
From: Germany
Registered: 2008-07-29
Posts: 134

Re: May 2009 Screenshots

Methuselah:
Could you tell a bit more about your config? I think it's conky on the right side, isn't it?
Could you post the config? And which applets are you using on the left side, the clock is
really nice! Or is it a special them for the applets? And what applet displays the places, I
never saw something like that before.

Thanks in advance!

Thomas

Offline

#188 2009-05-05 05:30:53

X/ax
Member
From: Oost vlaanderen, Belgium
Registered: 2008-01-13
Posts: 275
Website

Re: May 2009 Screenshots

@koch and capnmoney:
Thanks a lot, this means I can finally start configuring awesome smile
I'll play around with both your configs today...


My coding blog (or an attempt at it)
Archer start page (or an attempt at it)

Offline

#189 2009-05-05 06:04:43

aqamar
Member
Registered: 2008-09-01
Posts: 49

Re: May 2009 Screenshots

celettu wrote:

Same as the end of last month. TMNT were the ultimate of cool when I was a kid, and with this picture...they still are!

http://omploader.org/tMWxldQ

you can share the config of the bmpanel??

Offline

#190 2009-05-05 06:27:56

methuselah
Member
Registered: 2007-10-02
Posts: 570

Re: May 2009 Screenshots

Murray_B wrote:

Methuselah:
Could you tell a bit more about your config? I think it's conky on the right side, isn't it?
Could you post the config? And which applets are you using on the left side, the clock is
really nice! Or is it a special them for the applets? And what applet displays the places, I
never saw something like that before.

Thanks in advance!

Thomas

Yes, it's just a normal conky app on the right using the weather script that I customized.

The screenlets: http://aur.archlinux.org/packages.php?ID=15048 I use are customized to match the conky look of text on the wallpaper.

It's easy to do. I had to change the font used in the python scripts for the 'ClearCalendar' to match the font of conky (then I used the no back setting to draw it on the wallpaper).

For the 'Clock' I made my background image "bg.svg" to 100% transparent to give the same look as the way conky draws it's self onto the wallpaper..... (it is also very easy to customize the clock face and hands to any color, check out my deviantART gallery http://crimesaucer.deviantart.com/gallery/ to see all of the way's that I have changed these screenlets from simple edits to the python script and the svg images).

As for the 'Places' screenlet it is basically using the defaul settings with the Opacity turned to 0%. I think I downloaded it from gnome-looks....

The 4th screenlet I use is the 'Pager' screenlet which I also edit. I change the RGBA colors in the python script to use different colors and opacity settings.... and I usually changed the bg.svg image to look better because the one that comes with it is sloppily done (this time I just made my image 100% transparent to match the conky look).

The window theme is an Emerald theme I made.... like I said above check out my gallery to see some themes that I want to upload in a package of themes: http://crimesaucer.deviantart.com/gallery/

Also, here is my ~/.conkyrc file:

# Archlinux-CONKY
# A comprehensive conky script, configured for use on
# Archlinux, without the need for any external scripts.
#
# Based on the conky settings and conky variables web pages.
# INCLUDES:
# - battery stats, cached memory, uptime, date/time, file system stats
# 
#
# 
#

# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_transparent yes
#own_window_type normal
own_window_type override
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# fiddle with window
# I think the "use spacer" option only works with mono fonts.
use_spacer none
use_xft yes

# Xft font when Xft is enabled
#xftfont Bitstream Vera Sans Mono:size=4
#xftfont URW Gothic L:bold:size=7
xftfont Lucida MAC Bold:bold:size=7

# Update interval in seconds
update_interval 3.0

# Minimum size of text area

minimum_size 760 

maximum_width 150


# Draw shades? was yes
draw_shades no

# Draw outlines?
draw_outline no

# Draw borders around text
draw_borders no

# Text stuff
# amplifies text if yes was no
# draw_outline no 
# draw_borders no
uppercase no # set to yes if you want all text to be in uppercase


# border margins
#border_margin 5

# border width
#border_width 1

# Default colors and also border colors
#default_shade_color 000000
#default_outline_color 158DBB
default_color FFFFFF



# Text alignment, other possible values are commented
#alignment top_left
alignment top_right
#alignment bottom_left
#alignment bottom_right

# Gap between borders of screen and text
gap_x 24
gap_y 74
    

# Text alpha when using Xft
xftalpha 1


# drawn 1 pixel border around graphs or not was no on screenshot guide
draw_graph_borders no

# stuff after 'TEXT' will be formatted on screen

# Subtract file system buffers from used memory?
no_buffers yes

# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 2

# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2

# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes

# Add spaces to keep things from moving about?  This only affects certain objects.
#use_spacer yes

stippled_borders

TEXT
${time %b. %d, %Y}${alignr 3}${time %l:%M %p}
${voffset 5}${alignc}${execi 3600 python ~/scripts/conkyForecast.py --location=USDC0001 --datatype=CC -n}
${offset 52}${font Weather:size=46}${execi 3600 python ~/scripts/conkyForecast.py --location=USDC0001 --datatype=WF -n}${font} 
Temp:${alignr 3}${execi 3600 python ~/scripts/conkyForecast.py --location=USDC0001 --datatype=HT -i -n}
Wind:${alignr 3}${execi 3600 python ~/scripts/conkyForecast.py --location=USDC0001 --datatype=WD -n}
Speed:${alignr 3}${execi 3600 python ~/scripts/conkyForecast.py --location=USDC0001 --datatype=WS -i -n}
Gusts:${alignr 3}${execi 3600 python ~/scripts/conkyForecast.py --location=USDC0001 --datatype=WG -i -n}
Sunrise:${alignr 3}${execi 3600 python ~/scripts/conkyForecast.py --location=USDC0001 --datatype=SR}
Sunset:${alignr 3}${execi 3600 python ~/scripts/conkyForecast.py --location=USDC0001 --datatype=SS}


Arch x86_64${alignr 3} ${fs_size}
${offset 24}used =${alignr 3}${fs_used}
${offset 24}free =${alignr 3}${fs_free}
Vista 64bit${alignr 3} ${fs_size /mnt/windows}
${offset 24}used =${alignr 3}${fs_used /mnt/windows}
${offset 24}free =${alignr 3}${fs_free /mnt/windows}
RAM TOTAL${alignr 3}${memmax}
RAM${alignr 3}${mem}
CACHE${alignr 3}${cached}
SWAP TOTAL${alignr 3}${swapmax}
SWAP${alignr 3}${swap}
BATTERY${alignr 3}${battery}


NVIDIA GPU TEMP:
+${execi 1 nvidia-settings -q [GPU:0]/GPUCoreTemp | grep Attribute | cut -d ' ' -f 6 | cut -c 1-2} Celsius
Turion 64 X2 Core 1 TEMP:
${execi 1 sensors | grep "Core0" | cut -c14-20}
Turion 64 X2 Core 2 TEMP:
${execi 1 sensors | grep "Core1" | cut -c14-20}


Core 1 CPU:${alignr 3}   ${cpu cpu0}% ${cpubar cpu0 5,50}
Core 2 CPU:${alignr 3}   ${cpu cpu1}% ${cpubar cpu1 5,50}


${stippled_hr}
TOP APPS${alignr 3}CPU
${stippled_hr}
${top name 1}${alignr 3}${top cpu 1}%
${top name 2}${alignr 3}${top cpu 2}%
${top name 3}${alignr 3}${top cpu 3}%
${top name 4}${alignr 3}${top cpu 4}%

${stippled_hr}
TOP APPS${alignr 3}MEM
${stippled_hr}
${top_mem name 1}${alignr 3}${top_mem mem 1}%
${top_mem name 2}${alignr 3}${top_mem mem 2}%
${top_mem name 3}${alignr 3}${top_mem mem 3}%
${top_mem name 4}${alignr 3}${top_mem mem 4}%

You need to have the conkyForecast.py from here (follow README directions): http://sen7.deviantart.com/art/Conky-Mira-100078939


I hope this helps.

Last edited by methuselah (2009-05-05 06:31:31)

Offline

#191 2009-05-05 06:58:38

adamruss
Member
Registered: 2008-01-17
Posts: 143

Re: May 2009 Screenshots

methuselah wrote:

How did you get your Firefox tab-bar like that? Like the way it was before native Linux widgets?

i dont understand the question... the tab bar? i didnt do anything to it, i use jimmy ff3 theme for firefox and modified the userchorme.css a little for the menu's to fit the "new wave" theme. if you meant the bookmark bar.. i use "smart bookmark bar" addon, but you can also do this with stylish.

btw, i have seen you't screenshot before at compiz forums, they are really nice, you should release them allready i'll be happy to use them smile

Offline

#192 2009-05-05 07:04:09

KlavKalashj
Member
Registered: 2008-10-09
Posts: 376

Re: May 2009 Screenshots

X/ax wrote:

@everyone running awesome3 mind sharing some rc.lua files? I can't really find a lot of configs that really work out-of-the-box and I don't know sufficient lua to start writing one myself...

Here is mine. My config works for awesome 3.3pre2009*keeps going*, that is in repositorys right now. I tried out awesome 3.3-rc1 and it did not work, there is (very) minor changes in config file syntax, but the big part is, from rc1 theme file will be in lua. Anyways, it looks like this:

t_UzBlVAqDG.gif

rc.lua:

require("awful")
require("beautiful")
require("naughty")
require("wicked")
require('invaders')

-- {{{ Variable definitions
theme_path = "/home/oscar/.config/awesome/themes/arch"
beautiful.init(theme_path)

terminal = "urxvtc"
editor = os.getenv("EDITOR") or "vi"
editor_cmd = terminal .. " -e " .. editor

modkey = "Mod4"

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.max,        -- 7
    awful.layout.suit.max.fullscreen,    -- 8
    awful.layout.suit.magnifier,    -- 9
    awful.layout.suit.floating         -- 10
}

floatapps =
{
    -- by class
    ["MPlayer"] = true,
    ["feh"] = true,
    ["Heroes3.exe"] = true,
    ["Wine"] = true,
    -- by instance
    ["mocp"] = true,
    ["H5_Game.exe"] = true
}

apptags =
{
    ["Gran Paradiso"] = { screen = 1, tag = 2 },
    ["Thunderbird-bin"] = { screen = 1, tag = 4 },
    ["Mplayer"] = { screen = 1, tag = 3 },
    -- ["Heroes3.exe"] = { screen = 1, tag = 3 },
}

use_titlebar = false
-- }}}

-- {{{ Tags
-- Define tags table.
tags = {}
tags.settings = {
    { name = "urxvt",   layout = layouts[1],  },
    { name = "www",     layout = layouts[7],  },
    { name = "media",   layout = layouts[8]  },
    { name = "mail",    layout = layouts[7],  },
    { name = "other",   layout = layouts[10], setslave = true },
}

-- Initialize tags
 for s = 1, screen.count() do
 tags[s] = {}
 for i, v in ipairs(tags.settings) do
 tags[s][i] = tag(v.name)
 tags[s][i].screen = s
 awful.tag.setproperty(tags[s][i], "layout",   v.layout)
 awful.tag.setproperty(tags[s][i], "setslave", v.setslave)
 awful.tag.setproperty(tags[s][i], "mwfact",   v.mwfact)
end
 tags[s][1].selected = true
end
-- }}}

-- {{{ Wibox
-- Create a textbox widget
mytextbox = widget({ type = "textbox", align = "right" })
-- Set the default text in textbox
mytextbox.text = "<b><small> " .. AWESOME_RELEASE .. " </small></b>"

-- 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.new({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
                                        { "open terminal", terminal }
                                      }
})

mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon),
                                     menu = mymainmenu })

-- Create a systray
mysystray = widget({ type = "systray", align = "right" })

-- Create a wibox for each screen and add it
mywibox = {}
mypromptbox = {}
mylayoutbox = {}
mytaglist = {}
mytaglist.buttons = awful.util.table.join(
                    awful.button({ }, 1, awful.tag.viewonly),
                    awful.button({ modkey }, 1, awful.client.movetotag),
                    awful.button({ }, 3, function (tag) tag.selected = not tag.selected end),
                    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] = widget({ type = "textbox", align = "left" })
    -- Create an imagebox widget which will contains an icon indicating which layout we're using.
    -- We need one layoutbox per screen.
    mylayoutbox[s] = widget({ type = "imagebox", align = "right" })
    mylayoutbox[s]:buttons(awful.util.table.join(
                           awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
                           awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
                           awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
                           awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)))
    -- Create a taglist widget
    mytaglist[s] = awful.widget.taglist.new(s, awful.widget.taglist.label.all, mytaglist.buttons)

    -- Create a date widget
    -- mydatewidget = widget({
    -- type = "textbox",
    -- name = "mydatewidget",
    -- align = "right" })
    -- wicked.register(mydatewidget, wicked.widgets.date, " :: %b %e, %R ::", 60)

    -- MPD
    mpdwidget = widget({
    type = 'textbox',
    name = 'mpdwidget',
    align = 'right',
    })
    wicked.register(mpdwidget, wicked.widgets.mpd,
    ' <span color="#e2baf1">Now Playing:</span> $1 ::')

    -- Mousebindings for MPD
    mpdwidget:buttons(awful.util.table.join(
    awful.button({ }, 1, function () awful.util.spawn("mpc toggle")  end),
    awful.button({ }, 4, function () awful.util.spawn("aumix -v +3") end),
    awful.button({ }, 5, function () awful.util.spawn("aumix -v -3") end),
    awful.button({ }, 8, function () awful.util.spawn("mpc prev") end),
    awful.button({ }, 9, function () awful.util.spawn("mpc next") end)))

    -- Create a tasklist widget
    mytasklist[s] = awful.widget.tasklist.new(function(c)
                                                  return awful.widget.tasklist.label.currenttags(c, s)
                                              end, mytasklist.buttons)

    -- Create the wibox
    mywibox[s] = wibox({ position = "top", fg = beautiful.fg_normal, bg = beautiful.bg_normal })
    -- Add widgets to the wibox - order matters
    mywibox[s].widgets = { mylauncher,
                           mytaglist[s],
                                                    -- mytasklist[s],
                                                    mpdwidget,
                                                    -- mydatewidget,
                           mypromptbox[s],
                           mytextbox,
                                                    mylayoutbox[s],
                           s == 1 and mysystray or nil }
    mywibox[s].screen = s
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( 1)       end),
    awful.key({ modkey, "Control" }, "k", function () awful.screen.focus(-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),

    -- Mina
    awful.key({ }, "XF86AudioPlay",            function () awful.util.spawn("mpc toggle")  end),
    awful.key({ }, "XF86AudioStop",            function () awful.util.spawn("mpc stop")    end),
    awful.key({ }, "XF86AudioNext",            function () awful.util.spawn("mpc next")  end),
    awful.key({ }, "XF86AudioPrev",            function () awful.util.spawn("mpc prev")  end),
    awful.key({ }, "XF86AudioLowerVolume",     function () awful.util.spawn("aumix -v -3")  end),
    awful.key({ }, "XF86AudioRaiseVolume",     function () awful.util.spawn("aumix -v +3")  end),
    awful.key({ }, "XF86HomePage",             function () awful.util.spawn("firefox")  end),
    awful.key({ }, "XF86Mail",                 function () awful.util.spawn("thunderbird")  end),
    

    -- Prompt
    awful.key({ modkey }, "r",
              function ()
                  awful.prompt.run({ prompt = "Run: " },
                  mypromptbox[mouse.screen],
                  awful.util.spawn, awful.completion.shell,
                  awful.util.getdir("cache") .. "/history")
              end),

    awful.key({ modkey }, "x",
              function ()
                  awful.prompt.run({ prompt = "Run Lua code: " },
                  mypromptbox[mouse.screen],
                  awful.util.eval, nil,
                  awful.util.getdir("cache") .. "/history_eval")
              end)
)

-- Client awful tagging: this is useful to tag some clients and then do stuff like move to tag on them
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", awful.client.togglemarked),
    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

for i = 1, keynumber do
    table.foreach(awful.key({ modkey }, i,
                  function ()
                        local screen = mouse.screen
                        if tags[screen][i] then
                            awful.tag.viewonly(tags[screen][i])
                        end
                  end), function(_, k) table.insert(globalkeys, k) end)
    table.foreach(awful.key({ modkey, "Control" }, i,
                  function ()
                      local screen = mouse.screen
                      if tags[screen][i] then
                          tags[screen][i].selected = not tags[screen][i].selected
                      end
                  end), function(_, k) table.insert(globalkeys, k) end)
    table.foreach(awful.key({ modkey, "Shift" }, i,
                  function ()
                      if client.focus and tags[client.focus.screen][i] then
                          awful.client.movetotag(tags[client.focus.screen][i])
                      end
                  end), function(_, k) table.insert(globalkeys, k) end)
    table.foreach(awful.key({ modkey, "Control", "Shift" }, i,
                  function ()
                      if client.focus and tags[client.focus.screen][i] then
                          awful.client.toggletag(tags[client.focus.screen][i])
                      end
                  end), function(_, k) table.insert(globalkeys, k) end)
    table.foreach(awful.key({ modkey, "Shift" }, "F" .. i,
                  function ()
                      local screen = mouse.screen
                      if tags[screen][i] then
                          for k, c in pairs(awful.client.getmarked()) do
                              awful.client.movetotag(tags[screen][i], c)
                          end
                      end
                   end), function(_, k) table.insert(globalkeys, k) end)
end

-- Set keys
root.keys(globalkeys)
-- }}}

-- {{{ Hooks
-- Hook function to execute when focusing a client.
awful.hooks.focus.register(function (c)
    if not awful.client.ismarked(c) then
        c.border_color = beautiful.border_focus
    end
end)

-- Hook function to execute when unfocusing a client.
awful.hooks.unfocus.register(function (c)
    if not awful.client.ismarked(c) then
        c.border_color = beautiful.border_normal
    end
end)

-- Hook function to execute when marking a client
awful.hooks.marked.register(function (c)
    c.border_color = beautiful.border_marked
end)

-- Hook function to execute when unmarking a client.
awful.hooks.unmarked.register(function (c)
    c.border_color = beautiful.border_focus
end)

-- Hook function to execute when a new client appears.
awful.hooks.manage.register(function (c, startup)
    -- If we are not managing this application at startup,
    -- move it to the screen where the mouse is.
    -- We only do it for filtered windows (i.e. no dock, etc).
    if not startup and awful.client.focus.filter(c) then
        c.screen = mouse.screen
    end

    if use_titlebar then
        -- Add a titlebar
        awful.titlebar.add(c, { modkey = modkey })
    end
    -- Add mouse bindings
    c:buttons(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)
    ))
    -- New client may not receive focus
    -- if they're not focusable, so set border anyway.
    c.border_width = beautiful.border_width
    c.border_color = beautiful.border_normal

    -- Check if the application should be floating.
    local cls = c.class
    local inst = c.instance
    if floatapps[cls] then
        awful.client.floating.set(c, floatapps[cls])
    elseif floatapps[inst] then
        awful.client.floating.set(c, floatapps[inst])
    end

    -- Check application->screen/tag mappings.
    local target
    if apptags[cls] then
        target = apptags[cls]
    elseif apptags[inst] then
        target = apptags[inst]
    end
    if target then
        c.screen = target.screen
        awful.client.movetotag(tags[target.screen][target.tag], c)
    end

    -- Do this after tag mapping, so you don't see it on the wrong tag for a split second.
    client.focus = c

    -- Set key bindings
    c:keys(clientkeys)

    -- Set the windows at the slave,
    -- i.e. put it at the end of others instead of setting it master.
    -- awful.client.setslave(c)

    -- Honor size hints: if you want to drop the gaps between windows, set this to false.
    c.size_hints_honor = false
end)

-- Hook function to execute when arranging the screen.
-- (tag switch, new client, etc)
awful.hooks.arrange.register(function (screen)
    local layout = awful.layout.getname(awful.layout.get(screen))
    if layout and beautiful["layout_" ..layout] then
        mylayoutbox[screen].image = image(beautiful["layout_" .. layout])
    else
        mylayoutbox[screen].image = nil
    end

    -- Give focus to the latest client in history if no window has focus
    -- or if the current window is a desktop or a dock one.
    if not client.focus then
        local c = awful.client.focus.history.get(screen, 0)
        if c then client.focus = c end
    end
end)

-- Hook called every minute
awful.hooks.timer.register(60, function ()
    mytextbox.text = os.date(" %a %b %d, %H:%M ")
end)
-- }}}

-- {{ Quick'n'Dirty Autostart
awful.util.spawn("xset r rate 200 30")
awful.util.spawn("numlockx")
awful.util.spawn("setxkbmap se")
-- awful.util.spawn("xrandr --output LVDS --off")
-- awful.util.spawn("xrandr --output VGA-0 --mode 1680x1050")
awful.util.spawn("mount /media/usb")
awful.util.spawn("mpd")
awful.util.spawn("urxvtd -q -f -o")
awful.util.spawn("nm-applet")
awful.util.spawn("xsetroot -cursor_name obsidian")
awful.util.spawn("xrdb -merge ~/.Xdefaults")
-- }}

theme:

------------------------
-- arch awesome theme --
------------------------
 
font = snap 9
 
bg_normal = #000000
bg_focus = #000000
bg_urgent = #000000
 
fg_normal = #afd700
fg_focus = #e2baf1
fg_urgent = #ff0000
 
border_width = 1
border_normal = #000000
border_focus = #e2baf1
border_marked = #ff0000
 
# There are another variables sets
# overriding the default one when
# defined, the sets are:
# [taglist|tasklist]_[bg|fg]_[focus|urgent]
# titlebar_[bg|fg]_[normal|focus]
# Example:
#taglist_bg_focus = #ff0000
 
# Display the taglist squares
taglist_squares_sel = /usr/share/awesome/themes/default/taglist/squarefw.png
taglist_squares_unsel = /usr/share/awesome/themes/default/taglist/squarew.png
 
tasklist_floating_icon = /usr/share/awesome/themes/default/tasklist/floatingw.png
 
# Variables set for theming menu
# menu_[bg|fg]_[normal|focus]
# menu_[border_color|border_width]
menu_submenu_icon = /usr/share/awesome/themes/default/submenu.png
menu_height = 15
menu_width = 100
 
# You can add as many variables as
# you wish and access them by using
# beautiful.variable in your rc.lua
#bg_widget = #cc0000
 
# Define the image to load
titlebar_close_button_normal = /usr/share/awesome/themes/default/titlebar/close.png
titlebar_close_button_focus = /usr/share/awesome/themes/default/titlebar/closer.png
 
# You can use your own command to set your wallpaper
#wallpaper_cmd = xsetroot -solid #252525 
#wallpaper_cmd = awsetbg -c ~/My\ Shit/Pics/Wallpaper/Start_Small_by_Jarki.jpg
wallpaper_cmd = eval `cat ~/.fehbg`
 
# You can use your own layout icons like this:
layout_dwindle = /usr/share/awesome/themes/default/layouts/dwindlew.png
layout_fairh = /usr/share/awesome/themes/default/layouts/fairhw.png
layout_fairv = /usr/share/awesome/themes/default/layouts/fairvw.png
layout_floating = /usr/share/awesome/themes/default/layouts/floatingw.png
layout_magnifier = /usr/share/awesome/themes/default/layouts/magnifierw.png
layout_max = /usr/share/awesome/themes/default/layouts/maxw.png
layout_spiral = /usr/share/awesome/themes/default/layouts/spiralw.png
layout_tilebottom = /usr/share/awesome/themes/default/layouts/tilebottomw.png
layout_tileleft = /usr/share/awesome/themes/default/layouts/tileleftw.png
layout_tile = /usr/share/awesome/themes/default/layouts/tilew.png
layout_tiletop = /usr/share/awesome/themes/default/layouts/tiletopw.png
 
# awesome_icon = /usr/share/awesome/icons/awesome16.png
awesome_icon = /home/oscar/.config/awesome/arch.png

Offline

#193 2009-05-05 07:40:38

methuselah
Member
Registered: 2007-10-02
Posts: 570

Re: May 2009 Screenshots

adamruss wrote:
methuselah wrote:

How did you get your Firefox tab-bar like that? Like the way it was before native Linux widgets?

i dont understand the question... the tab bar? i didnt do anything to it, i use jimmy ff3 theme for firefox and modified the userchorme.css a little for the menu's to fit the "new wave" theme. if you meant the bookmark bar.. i use "smart bookmark bar" addon, but you can also do this with stylish.

btw, i have seen you't screenshot before at compiz forums, they are really nice, you should release them allready i'll be happy to use them smile

Thank you. I still plan on releasing these soon.... and I was going to message you at the compiz forum with the theme you asked about.... in fact this is sort of the theme that it evolved into.

As for my question about your Firefox tab-bar..... It's just that your tab bar has that old look from Firefox 2.0.... with that beveled look and the tab connecting to a window frame.

All of these pictures below are default Firefox with no theme installed using the Linux gtk of clearlooks and murrine.

This is a picture of the old Firefox before native widgets:
Screenshot-19b.png

Another picture of the old Firefox before native widgets:
Screenshot-36b.png

A.) The tab connects to a window frame that separates it from the page.
B.) There is a reverse gradient used to have a smooth beveled look.
C.) The window frame separates the page and the tab bar, and the tabs look better that way like in the first photo above.
Screenshot-36b2.png

This is how the tab-bar and tabs have looked since Firefox started to use the native Linux widgets.
Screenshot-25b.png

Offline

#194 2009-05-05 07:54:06

lswest
Member
From: Munich, Germany
Registered: 2008-06-14
Posts: 456
Website

Re: May 2009 Screenshots

X/ax wrote:

@everyone running awesome3 mind sharing some rc.lua files? I can't really find a lot of configs that really work out-of-the-box and I don't know sufficient lua to start writing one myself...

Sure, my basic rc.lua (which has worked for me for all awesome3 versions except the newest git, since it seems to change the syntax for the theme file):

-- Standard awesome library
require("awful")
-- Theme handling library
require("beautiful")
-- Notification library
require("naughty")
--Widgets
require("wicked")

--{{ Functions for Widgets
--}}

-- {{{ Variable definitions
-- Themes define colours, icons, and wallpapers
-- The default is a dark theme
theme_path = "/home/lswest/.config/awesome/lswest/theme"
-- Uncommment this for the default theme
-- theme_path = "/usr/share/awesome/themes/default/theme"

-- Actually load theme
beautiful.init(theme_path)

--Autorun programs
autorun = true
autorunApps = 
{ 
   "dropbox",
   "checkgmail",
   "xscreensaver -no-splash",
   "conky",
   "xcompmgr",
   "conky -c .conkyrc_coding"
}
if autorun then
   for app = 1, #autorunApps do
       awful.util.spawn(autorunApps[app])
   end
end

-- This is used later as the default terminal and editor to run.
terminal = "urxvt"
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.max,  --7
    awful.layout.suit.max.fullscreen,  --8
    awful.layout.suit.magnifier,  --9
    awful.layout.suit.floating  --10
}

-- Table of clients that should be set floating. The index may be either
-- the application class or instance. The instance is useful when running
-- a console app in a terminal like (Music on Console)
--    xterm -name mocp -e mocp
floatapps =
{
    -- by class
    ["MPlayer"] = true,
    ["pinentry"] = true,
    ["gimp-2.6"] = true,
    ["amsn"] = true,
    ["."] = true,
    [","] = true,
    [""] = true,
    ["vlc"] = true,
    ["VLC"] = true,
    ["VLC (XVideo output)"] = true,
    ["VirtualBox"] = true,
    -- by instance
    ["mocp"] = true,
    ["skype"] = true,
    ["Download"] = true,
    ["pidgin"] = true
}

-- Applications to be moved to a pre-defined tag by class or instance.
-- Use the screen and tags indices.
apptags =
{
    ["Firefox"] = { screen = 1, tag = 2 },
    ["mocp"] = { screen = 1, tag = 6 },
    ["pidgin"] = { screen = 1, tag = 3 },
}

-- Define if we want to use titlebar on all applications.
use_titlebar = false
-- }}}

-- {{{ Tags
-- Define tags table.
mytags = {}
mytags[1] = { name = "main", layout = layouts[1] }
mytags[2] = { name = "www", layout = layouts[1] }
mytags[3] = { name = "chat", layout = layouts[1] }
mytags[4] = { name = "urxvt", layout = layouts[1] }
mytags[5] = { name = "misc", layout = layouts[1] }
mytags[6] = { name = "mocp", layout = layouts[1] }

tags = {}
for s = 1, screen.count() do
    -- Each screen has its own tag table.
        tags[s] = {}
            -- Create 9 tags per screen.
                for tagnumber = 1, 6 do
                   -- Create the tag with name from table above
                   tags[s][tagnumber] = tag(mytags[tagnumber].name)
           -- Add tags to screen one by one
                   tags[s][tagnumber].screen = s
                   -- Set layout
                   if mytags[tagnumber].layout then
                       awful.layout.set(mytags[tagnumber].layout, tags[s][tagnumber])
                   else
                       awful.layout.set(layouts[1], tags[s][tagnumber])
                   end
                   if mytags[tagnumber].mwfact then
                      awful.tag.setmwfact(mytags[tagnumber].mwfact, tags[s][tagnumber])
                   end
                   if mytags[tagnumber].nmaster then
                      awful.tag.setnmaster(mytags[tagnumber].nmaster, tags[s][tagnumber])
                   end
               end
               -- I'm sure you want to see at least one tag.
                   tags[s][1].selected = true
end
-- }}}

-- {{{ Wibox
-- Create a textbox widget
mytextbox = widget({ type = "textbox", align = "right" })
-- Set the default text in textbox
mytextbox.text = "<b><small> " .. AWESOME_RELEASE .. " </small></b>"

-- 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 }
}

myapplicationmenu = {
   { "Nautilus", "nautilus --no-desktop" },
   { "Firefox", "firefox" },
   { "Skype", "skype" }
}

mymainmenu = awful.menu.new({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
                    { "applications", myapplicationmenu },
                                        { "open terminal", terminal }
                                      }
                            })

mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon),
                                     menu = mymainmenu })

-- Create a systray
mysystray = widget({ type = "systray", align = "right" })

-- Create a wibox for each screen and add it
mywibox = {}
mypromptbox = {}
mylayoutbox = {}
mytaglist = {}
mytaglist.buttons = { button({ }, 1, awful.tag.viewonly),
                      button({ modkey }, 1, awful.client.movetotag),
                      button({ }, 3, function (tag) tag.selected = not tag.selected end),
                      button({ modkey }, 3, awful.client.toggletag),
                      button({ }, 4, awful.tag.viewnext),
                      button({ }, 5, awful.tag.viewprev) }
mytasklist = {}
mytasklist.buttons = { button({ }, 1, function (c)
                                          if not c:isvisible() then
                                              awful.tag.viewonly(c:tags()[1])
                                          end
                                          client.focus = c
                                          c:raise()
                                      end),
                       button({ }, 3, function () if instance then instance:hide() end instance = awful.menu.clients({ width=250 }) end),
                       button({ }, 4, function () awful.client.focus.byidx(1) end),
                       button({ }, 5, function () awful.client.focus.byidx(-1) end) }

for s = 1, screen.count() do
    -- Create a promptbox for each screen
    mypromptbox[s] = widget({ type = "textbox", align = "left" })
    -- Create an imagebox widget which will contains an icon indicating which layout we're using.
    -- We need one layoutbox per screen.
    mylayoutbox[s] = widget({ type = "imagebox", align = "right" })
    mylayoutbox[s]:buttons({ button({ }, 1, function () awful.layout.inc(layouts, 1) end),
                             button({ }, 3, function () awful.layout.inc(layouts, -1) end),
                             button({ }, 4, function () awful.layout.inc(layouts, 1) end),
                             button({ }, 5, function () awful.layout.inc(layouts, -1) end) })
    -- Create a taglist widget
    mytaglist[s] = awful.widget.taglist.new(s, awful.widget.taglist.label.all, mytaglist.buttons)

    -- Create a tasklist widget
    mytasklist[s] = awful.widget.tasklist.new(function(c)
                                                  return awful.widget.tasklist.label.currenttags(c, s)
                                              end, mytasklist.buttons)

    -- Create the wibox
    mywibox[s] = wibox({ position = "top", fg = beautiful.fg_normal, bg = beautiful.bg_normal })
    -- Add widgets to the wibox - order matters
    mywibox[s].widgets = { mylauncher,
                           mytaglist[s],
                           mytasklist[s],
                           mypromptbox[s],
                           s == 1 and mysystray or nil,
               mylayoutbox[s],
               mytextbox }
    mywibox[s].screen = s
end
-- }}}

-- {{{ Mouse bindings
root.buttons({
    button({ }, 3, function () mymainmenu:toggle() end),
    button({ }, 4, awful.tag.viewnext),
    button({ }, 5, awful.tag.viewprev)
})
-- }}}

-- {{{ Key bindings
-- Bind keyboard digits
-- 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

globalkeys = {
    -- Applications
    key({ modkey }, "F12", function () awful.util.spawn("xscreensaver-command -lock") end),
    key({}, "XF86AudioPrev", function () awful.util.spawn("mocp -r") end),
    key({}, "XF86AudioNext", function () awful.util.spawn("mocp -f") end),
    key({}, "XF86AudioPlay", function () awful.util.spawn("mocp -G") end),
    key({}, "XF86AudioStop", function () awful.util.spawn("mocp -s") end),
    key({}, "XF86AudioLowerVolume", function () awful.util.spawn("dvol -d 5") end),
    key({}, "XF86AudioRaiseVolume", function () awful.util.spawn("dvol -i 5") end),
    key({}, "XF86AudioMute", function () awful.util.spawn("dvol -t") end),
    key({}, "Print", function () awful.util.spawn("scrot -q 100 -t 25 '%Y-%m-%d-%H-%M-%S.png' -e 'mv $f $m ~/Pictures/Screenshots/'") end),
    key({ modkey }, "w", function () awful.util.spawn("firefox") end),
    key({ modkey }, "s", function () awful.util.spawn("skype") end),
    key({ modkey }, "q", function () awful.util.spawn("urxvt -e mocp") end),
    key({ modkey }, "d", function () awful.util.spawn("nautilus --no-desktop") end)
}
clientkeys = {}

for i = 1, keynumber do
    table.insert(globalkeys,
        key({ modkey }, i,
            function ()
                local screen = mouse.screen
                if tags[screen][i] then
                    awful.tag.viewonly(tags[screen][i])
                end
            end))
    table.insert(globalkeys,
        key({ modkey, "Control" }, i,
            function ()
                local screen = mouse.screen
                if tags[screen][i] then
                    tags[screen][i].selected = not tags[screen][i].selected
                end
            end))
    table.insert(globalkeys,
        key({ modkey, "Shift" }, i,
            function ()
                if client.focus and tags[client.focus.screen][i] then
                    awful.client.movetotag(tags[client.focus.screen][i])
                end
            end))
    table.insert(globalkeys,
        key({ modkey, "Control", "Shift" }, i,
            function ()
                if client.focus and tags[client.focus.screen][i] then
                    awful.client.toggletag(tags[client.focus.screen][i])
                end
            end))
end

table.insert(globalkeys, key({ modkey }, "Left", awful.tag.viewprev))
table.insert(globalkeys, key({ modkey }, "Right", awful.tag.viewnext))
table.insert(globalkeys, key({ modkey }, "Escape", awful.tag.history.restore))

table.insert(globalkeys, key({ modkey }, "j", function () awful.client.focus.byidx(1); if client.focus then client.focus:raise() end end))
table.insert(globalkeys, key({ modkey }, "k", function () awful.client.focus.byidx(-1);  if client.focus then client.focus:raise() end end))
table.insert(globalkeys, key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx(1) end))
table.insert(globalkeys, key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx(-1) end))

table.insert(globalkeys, key({ modkey, "Control" }, "j", function () awful.screen.focus(1) end))
table.insert(globalkeys, key({ modkey, "Control" }, "k", function () awful.screen.focus(-1) end))

table.insert(globalkeys, key({ modkey }, "Tab", function () awful.client.focus.history.previous(); if client.focus then client.focus:raise() end end))

table.insert(globalkeys, key({ modkey }, "u", awful.client.urgent.jumpto))

-- Standard program
table.insert(globalkeys, key({ modkey }, "Return", function () awful.util.spawn(terminal) end))

table.insert(globalkeys, key({ modkey, "Control" }, "r", function ()
                                                             mypromptbox[mouse.screen].text =
                                                                 awful.util.escape(awful.util.restart())
                                                          end))
table.insert(globalkeys, key({ modkey, "Shift" }, "q", awesome.quit))

-- Client manipulation
table.insert(clientkeys, key({ modkey }, "m", function (c) c.maximized_horizontal = not c.maximized_horizontal
                                                           c.maximized_vertical = not c.maximized_vertical end))
table.insert(clientkeys, key({ modkey }, "f", function (c) c.fullscreen = not c.fullscreen end))
table.insert(clientkeys, key({ modkey, "Shift" }, "c", function (c) c:kill() end))
table.insert(clientkeys, key({ modkey, "Control" }, "space", awful.client.floating.toggle))
table.insert(clientkeys, key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end))
table.insert(clientkeys, key({ modkey }, "o", awful.client.movetoscreen))
table.insert(clientkeys, key({ modkey, "Shift" }, "r", function (c) c:redraw() end))

-- Layout manipulation
table.insert(globalkeys, key({ modkey }, "l", function () awful.tag.incmwfact(0.05) end))
table.insert(globalkeys, key({ modkey }, "h", function () awful.tag.incmwfact(-0.05) end))
table.insert(globalkeys, key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster(1) end))
table.insert(globalkeys, key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1) end))
table.insert(globalkeys, key({ modkey, "Control" }, "h", function () awful.tag.incncol(1) end))
table.insert(globalkeys, key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end))
table.insert(globalkeys, key({ modkey }, "space", function () awful.layout.inc(layouts, 1) end))
table.insert(globalkeys, key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end))

-- Prompt
table.insert(globalkeys, key({ modkey }, "F1", function ()
                                                    awful.prompt.run({ prompt = "Run: " },
                                                                     mypromptbox[mouse.screen],
                                                                     awful.util.spawn, awful.completion.bash,
                                                                     awful.util.getdir("cache") .. "/history")
                                               end))
table.insert(globalkeys, key({ modkey }, "F4", function ()
                                                   awful.prompt.run({ prompt = "Run Lua code: " },
                                                                    mypromptbox[mouse.screen],
                                                                    awful.util.eval, awful.prompt.bash,
                                                                    awful.util.getdir("cache") .. "/history_eval")
                                               end))

-- Client awful tagging: this is useful to tag some clients and then do stuff like move to tag on them
table.insert(clientkeys, key({ modkey }, "t", awful.client.togglemarked))

for i = 1, keynumber do
    table.insert(globalkeys, key({ modkey, "Shift" }, "F" .. i,
                 function ()
                     local screen = mouse.screen
                     if tags[screen][i] then
                         for k, c in pairs(awful.client.getmarked()) do
                             awful.client.movetotag(tags[screen][i], c)
                         end
                     end
                 end))
end

-- Set keys
root.keys(globalkeys)
-- }}}

-- {{{ Hooks
-- Hook function to execute when focusing a client.
awful.hooks.focus.register(function (c)
    if not awful.client.ismarked(c) then
        c.border_color = beautiful.border_focus
    end
end)

-- Hook function to execute when unfocusing a client.
awful.hooks.unfocus.register(function (c)
    if not awful.client.ismarked(c) then
        c.border_color = beautiful.border_normal
    end
end)

-- Hook function to execute when marking a client
awful.hooks.marked.register(function (c)
    c.border_color = beautiful.border_marked
end)

-- Hook function to execute when unmarking a client.
awful.hooks.unmarked.register(function (c)
    c.border_color = beautiful.border_focus
end)

-- Hook function to execute when the mouse enters a client.
awful.hooks.mouse_enter.register(function (c)
    -- Sloppy focus, but disabled for magnifier layout
    if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
        and awful.client.focus.filter(c) then
        client.focus = c
    end
end)

-- Hook function to execute when a new client appears.
awful.hooks.manage.register(function (c, startup)
    -- If we are not managing this application at startup,
    -- move it to the screen where the mouse is.
    -- We only do it for filtered windows (i.e. no dock, etc).
    if not startup and awful.client.focus.filter(c) then
        c.screen = mouse.screen
    end

    if use_titlebar then
        -- Add a titlebar
        awful.titlebar.add(c, { modkey = modkey })
    end
    -- Add mouse bindings
    c:buttons({
        button({ }, 1, function (c) client.focus = c; c:raise() end),
        button({ modkey }, 1, awful.mouse.client.move),
        button({ modkey }, 3, awful.mouse.client.resize)
    })
    -- New client may not receive focus
    -- if they're not focusable, so set border anyway.
    c.border_width = beautiful.border_width
    c.border_color = beautiful.border_normal

    -- Check if the application should be floating.
    local cls = c.class
    local inst = c.instance
    if floatapps[cls] then
        awful.client.floating.set(c, floatapps[cls])
    elseif floatapps[inst] then
        awful.client.floating.set(c, floatapps[inst])
    end

    -- Check application->screen/tag mappings.
    local target
    if apptags[cls] then
        target = apptags[cls]
    elseif apptags[inst] then
        target = apptags[inst]
    end
    if target then
        c.screen = target.screen
        awful.client.movetotag(tags[target.screen][target.tag], c)
    end

    -- Do this after tag mapping, so you don't see it on the wrong tag for a split second.
    client.focus = c

    -- Set key bindings
    c:keys(clientkeys)

    -- Set the windows at the slave,
    -- i.e. put it at the end of others instead of setting it master.
    -- awful.client.setslave(c)

    -- Honor size hints: if you want to drop the gaps between windows, set this to false.
    c.size_hints_honor = false
end)

-- Hook function to execute when arranging the screen.
-- (tag switch, new client, etc)
awful.hooks.arrange.register(function (screen)
    local layout = awful.layout.getname(awful.layout.get(screen))
    if layout and beautiful["layout_" ..layout] then
        mylayoutbox[screen].image = image(beautiful["layout_" .. layout])
    else
        mylayoutbox[screen].image = nil
    end

    -- Give focus to the latest client in history if no window has focus
    -- or if the current window is a desktop or a dock one.
    if not client.focus then
        local c = awful.client.focus.history.get(screen, 0)
        if c then client.focus = c end
    end
end)

-- Hook called every second
awful.hooks.timer.register(1, function ()
    -- For unix time_t lovers
    -- mytextbox.text = " " .. os.time() .. " time_t "
    -- Otherwise use:
    mytextbox.text = " " .. os.date() .. " "
end)
-- }}}

Sorry about the lack of comments in the file.  Honestly, I don't know lua properly either tongue Lots of googling before messing around with the file for me, but it works.

The theme it refers to was a copy of /usr/share/awesome/themes/default (or whatever the path to the original default theme is) where I changed the background and the awesome_icon.  The theme file is below:

---------------------------
-- Default awesome theme --
---------------------------

font          = sans 8

bg_normal     = #222222
bg_focus      = #535d6c
bg_urgent     = #ff0000
bg_minimize   = #444444

fg_normal     = #aaaaaa
fg_focus      = #ffffff
fg_urgent     = #ffffff
fg_minimize  =  #ffffff

border_width  = 1
border_normal = #000000
border_focus  = #535d6c
border_marked = #91231c

-- There are another variables sets
-- overriding the default one when
-- defined, the sets are:
-- [taglist|tasklist]_[bg|fg]_[focus|urgent]
-- titlebar_[bg|fg]_[normal|focus]
-- Example:
-- taglist_bg_focus = #ff0000

-- Display the taglist squares
taglist_squares_sel = /home/lswest/.config/awesome/lswest/taglist/squarefw.png
taglist_squares_unsel = /home/lswest/.config/awesome/lswest/taglist/squarew.png

tasklist_floating_icon = /home/lswest/.config/awesome/lswest/tasklist/floatingw.png

-- Variables set for theming menu
-- menu_[bg|fg]_[normal|focus]
-- menu_[border_color|border_width]
menu_submenu_icon = /home/lswest/.config/awesome/lswest/submenu.png
menu_height   = 15
menu_width    = 100

-- You can add as many variables as
-- you wish and access them by using
-- beautiful.variable in your rc.lua
-- bg_widget    = #cc0000

-- Define the image to load
titlebar_close_button_normal = /home/lswest/.config/awesome/lswest/titlebar/close.png
titlebar_close_button_focus = /home/lswest/.config/awesome/lswest/titlebar/closer.png

-- You can use your own command to set your wallpaper
wallpaper_cmd = awsetbg "/home/lswest/Pictures/Hyperion/Wallpapers/GIMP'd/shattered ice2.jpg"

-- You can use your own layout icons like this:
layout_fairh = /home/lswest/.config/awesome/lswest/layouts/fairhw.png
layout_fairv = /home/lswest/.config/awesome/lswest/layouts/fairvw.png
layout_floating = /home/lswest/.config/awesome/lswest/layouts/floatingw.png
layout_magnifier = /home/lswest/.config/awesome/lswest/layouts/magnifierw.png
layout_max = /home/lswest/.config/awesome/lswest/layouts/maxw.png
layout_tilebottom = /home/lswest/.config/awesome/lswest/layouts/tilebottomw.png
layout_tileleft = /home/lswest/.config/awesome/lswest/layouts/tileleftw.png
layout_tile = /home/lswest/.config/awesome/lswest/layouts/tilew.png
layout_tiletop = /home/lswest/.config/awesome/lswest/layouts/tiletopw.png

-- awesome_icon = /usr/share/awesome/icons/awesome64.png
awesome_icon = /home/lswest/Pictures/icons/archlinux-icon-crystal-256.png

Last edited by lswest (2009-05-05 07:58:49)


Lswest <- the first letter of my username is a lowercase "L".
"...the Linux philosophy is "laugh in the face of danger". Oops. Wrong one. "Do it yourself". That's it." - Linus Torvalds

Offline

#195 2009-05-05 08:57:14

unexist
Member
From: Germany
Registered: 2008-05-13
Posts: 301
Website

Re: May 2009 Screenshots

Offline

#196 2009-05-05 09:15:06

tyr0
Member
Registered: 2007-06-02
Posts: 152

Re: May 2009 Screenshots

ri wrote:

Its bmpanel with my own theme, can share it if anyone is interessted.

Please share your theme with us, it is so great!

Offline

#197 2009-05-05 09:54:29

Wra!th
Member
Registered: 2009-03-31
Posts: 342

Re: May 2009 Screenshots

tMW1raQ


MacGregor DESPITE THEM!
7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00

Offline

#198 2009-05-05 10:08:01

Arkane
Member
From: Switzerland
Registered: 2008-02-18
Posts: 263

Re: May 2009 Screenshots

Now with home-made smart placement of floating windows! I love extending XMonad big_smile.

tMW1rag


What does not kill you will hurt a lot.

Offline

#199 2009-05-05 10:19:18

Wra!th
Member
Registered: 2009-03-31
Posts: 342

Re: May 2009 Screenshots

Arkane wrote:

Now with home-made smart placement of floating windows! I love extending XMonad big_smile.

http://omploader.org/tMW1rag

That's by far the cleanest xmonad setup I've seen. Congrats
I'd go for named workspaces though smile. 1 2 3 4 etc. is just mediocre


MacGregor DESPITE THEM!
7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00

Offline

#200 2009-05-05 10:21:41

moljac024
Member
From: Serbia
Registered: 2008-01-29
Posts: 2,676

Re: May 2009 Screenshots

Arkane wrote:

Now with home-made smart placement of floating windows! I love extending XMonad big_smile.

http://omploader.org/tMW1rag

Care to share your xmonad.hs and .conkyrc ?


The day Microsoft makes a product that doesn't suck, is the day they make a vacuum cleaner.
--------------------------------------------------------------------------------------------------------------
But if they tell you that I've lost my mind, maybe it's not gone just a little hard to find...

Offline

Board footer

Powered by FluxBB