You are not logged in.

#701 2009-04-29 16:48:15

luggi
Member
From: Berlin - Germany
Registered: 2008-04-26
Posts: 30

Re: April "awesome idea" 2009 Screenshots

oew wrote:

Switched to wmii, really like it so far smile
Desided to go brownish to match the wall (thanks YtseJammin!)

http://th02.deviantart.com/fs43/300W/i/ … oewoew.png

could you share your configs please (xdefaults and wmiirc) ?

Offline

#702 2009-04-29 18:37:20

Varreon
Member
Registered: 2008-07-03
Posts: 95

Re: April "awesome idea" 2009 Screenshots

Crooksey wrote:

If anyone knows how to change the ubuntu logo in the top left to an arch logo, please let me know!

Are you running Arch or Ubuntu?

The fact that you've got the ubuntu wheel AND pacman running is a bit confusing.

Last edited by Varreon (2009-04-29 18:37:57)

Offline

#703 2009-04-29 18:44:02

Crooksey
Member
From: UK ~
Registered: 2006-08-14
Posts: 415
Website

Re: April "awesome idea" 2009 Screenshots

Arch, its just the icon theme is obviosuly ubuntu based.


Arch Linux since 2006
Python Web Developer + Sys Admin (Gentoo/BSD)

Offline

#704 2009-04-29 23:59:50

Daisuke_Aramaki
Member
From: ++49/711
Registered: 2008-10-06
Posts: 651
Website

Re: April "awesome idea" 2009 Screenshots

Sorry for the Haruna fan boy mode. Last one for the month.

Haruna.jpg


"You know what I found? Right in the kernel, in the heart of the operating system, I found a developer's comment that said, `Does this belong here?`" -- Simon Lok about Linux kernel in 2005
Reflections on the Strange and the not so Strange
http://skinwalker.wordpress.com

Offline

#705 2009-04-30 02:13:16

froli
Member
From: Germany
Registered: 2008-06-17
Posts: 455

Re: April "awesome idea" 2009 Screenshots

Daisuke_Aramaki wrote:

Sorry for the Haruna fan boy mode. Last one for the month.

http://g.imagehost.org/t/0778/Haruna.jpg

Nice one! Once again... tongue

Could you, please, share you Xdefaults colors?


archlinux on Macbook Pro 10,1

Offline

#706 2009-04-30 02:41:31

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

Re: April "awesome idea" 2009 Screenshots

Barghest wrote:
KlavKalashj wrote:
oew wrote:

Switched to wmii, really like it so far smile
Desided to go brownish to match the wall (thanks YtseJammin!)

http://th02.deviantart.com/fs43/300W/i/ … oewoew.png

Haha, mine is almost the same:

http://pici.se/thumbs/t_tYapxcovk.gif

That is Awesome 3.3.

Wow...looks great!

May I see your configs?

What do you use for transparency and will your rc.lua work with the git version?

@Joe_Arch, may I see your rc.lua, too (just diving into awesome)?

Thanks

I'm just learning awesome too, so my rc.lua is a work in progress.

(Who am I kidding? It's where functions go to die.)

If you have any questions maybe I can clarify a particularly messy part of my config smile

-- Standard awesome library
require("awful")
-- Theme handling library
require("beautiful")
-- Notification library
require("naughty")
-- widget library
require("wicked")
-- sqlite library
--require("sqlite3")

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

-- Actually load theme
beautiful.init(theme_path)

-- 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,
    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
      ["Snackr"] = true, 
   --["mocp"] = 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 },
    ["ncmpc"] = {screen = 1, tag = 4},
    -- ["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 9 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
    tags[s][1] = tag({ name = "term" })
    tags[s][1].screen = s
    awful.layout.set(layouts[1], tags[s][1])
    tags[s][2] = tag({ name = "www" })
    tags[s][2].screen = s
    awful.layout.set(layouts[1], tags[s][2])
    tags[s][3] = tag({ name = "misc" })
    tags[s][3].screen = s
    awful.layout.set(layouts[1], tags[s][3])
    tags[s][4] = tag({ name = "music" })
    tags[s][4].screen = s
    awful.layout.set(layouts[1], tags[s][4])
    -- 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> "  " </small></b>"

--function getImage(name)
--  icons_path = 
--os.getenv("HOME").."/.config/awesome/themes/default/icons/xbm/"
--  io.stderr:write("Getting icon: " .. icons_path .. name .. ".png\n")
--  return image(icons_path..name..".png")
--end

-- mpd widget
mpdwidget = widget({
    type = 'textbox',
    name = 'mpdwidget',
   -- align = "left"
})

wicked.register(mpdwidget, wicked.widgets.mpd, 
    function (widget, args)
           if args[1]:find("volume:") == nil then
              return '<span color="white"></span> '..args[1]
           else
                      return ''
                   end
        end)


-- MPD
--mpd_img = widget({ type="imagebox" })
--mpd_img.image = getImage("play")
--mpd_img.resize = false
--mpd = widget({ type="textbox" })
--wicked.register(
--  mpd,
--  wicked.widgets.mpd,
--  function (widget, args)
 --     if args[1]:find("volume:") == nil then
   --     return Text(args[1], beautiful.fg_widg)
     -- else
       -- return "Nothing is playing."
    --  end
 -- end,
--  5
--)


--mymail = widget({ type = "textbox", align = "right" })



function run_script()
    local filedescriptor = io.popen('/home/joe/scripts/unread.py')
    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(mymail, run_script, "$1", 10)




-- widget icons
function getImage(name)
  icons_path = 
os.getenv("HOME").."/.config/awesome/themes/default/icons/xbm/"
  io.stderr:write("Getting icon: " .. icons_path .. name .. ".png\n")
  return image(icons_path..name..".png")
end


--net down icon
down_img = widget({ type="imagebox", align = "right"})
down_img.image = getImage("down")
down_img.resize = true


--net up icon
up_img = widget({ type="imagebox", align = "right" })
up_img.image = getImage("up")
up_img.resize = true

--MPD icon
mpd_img = widget({ type="imagebox" })
mpd_img.image = getImage("mpd")
mpd_img.resize = true


--FS icon
--fs_img = widget({ type="imagebox", align = "right" })
--fs_img.image = getImage("cpu")
--fs_img.resize = true

--Memory icon
--mem_img = widget({ type="imagebox", align="right"})
--mem_img.image = getImage("mem")
--mem_img.resize= true

--CPU icon
--cpu_img = widget({ type="imagebox", align="right"})
--cpu_img.image = getImage("load")
--cpu_img.resize = true

function activeram()
       local active
     for line in io.lines('/proc/meminfo') do
               for key, value in string.gmatch(line, "(%w+):\ +(%d+).+") do
                      if key == "Active" then active = tonumber(value)
         end
     end
       
       return string.format("%.2fMB",(active/1024))
 end
end
meminfo = widget({ type = "textbox", name = 'meminfo' })





--tb_rss = widget({ type = 'textbox', name = 'tb_rss'}) 


--function hook_rss_liferea()
--    db = sqlite3.open("/home/joe/.liferea_1.4/liferea.db")
--    row = db:first_irow("SELECT COUNT(*) FROM items where read = 0;")
--    tb_rss.text = "Unread items: " .. row[1]
--    db:close()
--end




--awful.hooks.timer.register(60,hook_rss_liferea)


 -- net widget up
        netwidgetup = widget(
        {
                type = 'textbox',
                name = 'netwidgetup',
                align = 'right'
        })
                wicked.register(netwidgetup, wicked.widgets.net,
                '${wlan0 up} ',nil, nil, 3)



 -- net widget down
        netwidgetdown = widget(
        {
                type = 'textbox',
                name = 'netwidgetdown',
                align = 'right'
        })
                wicked.register(netwidgetdown, wicked.widgets.net,
                '${wlan0 down} ', nil, nil,3)



--wicked.register(homebox, 'fs', '  ${/home usep}%  ', 30)




-- 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 },
                    { "wallpaper", terminal .. " -e feh -g 640x480 -d -S filename /home/joe/pictures/wallpapers/" }
                                      }
                            })

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

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

-- Simple spacer we can use to get cleaner code
spacer = " "
 
-- Separator icon
separator = widget({ type = "textbox", align = "right"})
separator.text = " || "
 
-- Blocks
--block_start = widget({type = "textbox" })
--block_start.text = Text("[ ", beautiful.fg_focus)
 
--block_end = widget({type = "textbox"})
--block_end.text = Text(" ]", beautiful.fg_focus)




 
memwidget = widget({
   type = 'textbox',
   name = 'memwidget',
   align = "right"
})
wicked.register(memwidget, wicked.widgets.mem,
   ' $1% ($2Mb/$3Mb) ')
--date
--datewidget = widget({
--   type = 'textbox',
--   name = 'datewidget',
--})
--wicked.register(datewidget, wicked.widgets.date,
--   ' Date: %c')
-- file system
--fswidget = widget({
  -- type = 'textbox',
  -- name = 'fswidget',
  -- align = "right"
--})
--wicked.register(fswidget, wicked.widgets.fs,
  -- ' / ${/ usep}%, /home  ${/home usep}% ', 30)

-- cpu
cpuwidget = widget({
   type = 'textbox',
   name = 'cpuwidget',
   align = "right"
})
wicked.register(cpuwidget, wicked.widgets.cpu,
   ' $1% ')



-- Create a wibox for each screen and add it
statbox = {}
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 stat box
    statbox[s] = wibox({ position = "bottom", fg = beautiful.fg_normal, bg = beautiful.bg_normal })
    statbox[s].widgets = {
                mpd_img,
               mpdwidget,
               --tb_rss,
        --       separator,
               --mymail,
               --mem_img,
               memwidget,
               separator,
                 --cpu_img,
                           cpuwidget,
                separator,
                  --fs_img,
                           --fswidget,
               --separator,
      --                     meminfo,
      --                     separator,
               down_img,
                           netwidgetdown,
               up_img,
               netwidgetup,
                         }
    statbox[s].screen = s


    -- 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],
--                           mpdwidget,
--                           netwidget,             
                           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({ }, 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,           }, "Return", function () awful.util.spawn(terminal) 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),

    -- Applications
    key({ modkey }, "b", function () awful.util.spawn("exec firefox") end),
    key({ modkey }, "t", function () awful.util.spawn("exec urxvt") end),

    -- Music Player Daemon
    key({ modkey,     }, "Up",function () awful.util.spawn("mpc volume +5") end),
    key({ modkey,   }, "Down",function () awful.util.spawn("mpc volume -5") end),
    key({ modkey,   }, "/",function () awful.util.spawn("mpc toggle") end),



    -- 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 }, "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
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 5 seconds for clock
awful.hooks.timer.register(30, function ()
    mytextbox.text = os.date(" %a %b %d, %H:%M ")
end)

-- Hook called for ram usage
--awful.hooks.timer.register(10, function() meminfo.text = activeram()
--end)

--awful.hooks.timer.register(30, function ()
  --  local f = io.open("/home/joe/tmp/gmail") 
  --  local l = f:read() -- read output of command
  --  f:close()

  --  mymail.text = l
  --  os.execute("/home/joe/scripts/unread.py > ~/tmp/gmail &")
--end)

--function run_script()
  --  local filedescriptor = io.open('/home/joe/scripts/unread.py')
  --  local value = filedescriptor:read()
  --  filedescriptor:close()

   -- return {value}
--end





-- }}}

Offline

#707 2009-04-30 03:13:05

chmoder
Member
From: Nebraska
Registered: 2009-02-16
Posts: 19
Website

Re: April "awesome idea" 2009 Screenshots

This is my scrot! 

Is there a program I can run to show my system info such as window manager, gtk, system info?

Clean:
2009-04-29-205702_1680x1050_scrot.png
Dirty:
2009-04-29-221010_1680x1050_scrot.png

I have awesome, starting to try that.  ...its awesome???
But I love my openbox setup.  Very plain and simple.

P.S.  Thanks to whoever put up the wikis for the fonts!  They are the best!

Also I stole most of the stuff from you guys.  thanks for your hard work.

Last edited by chmoder (2009-04-30 04:19:13)


system: AMD Phenom II 940 Black 3.0Ghz; 4GB 1066; AMD integrated 3350; ArchLinux: OpenBox
website: http://www.chmoder.org
code: http://github.com/chmoder/

Offline

#708 2009-04-30 03:57:04

Daisuke_Aramaki
Member
From: ++49/711
Registered: 2008-10-06
Posts: 651
Website

Re: April "awesome idea" 2009 Screenshots

froli wrote:
Daisuke_Aramaki wrote:

Sorry for the Haruna fan boy mode. Last one for the month.

http://g.imagehost.org/t/0778/Haruna.jpg

Nice one! Once again... tongue

Could you, please, share you Xdefaults colors?

Thanks. I posted my updated Xdefaults colors a couple of pages back. Check out page 27.


"You know what I found? Right in the kernel, in the heart of the operating system, I found a developer's comment that said, `Does this belong here?`" -- Simon Lok about Linux kernel in 2005
Reflections on the Strange and the not so Strange
http://skinwalker.wordpress.com

Offline

#709 2009-04-30 04:36:20

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

Re: April "awesome idea" 2009 Screenshots

Chmoder:

3nd3r showed me a great combo: combining inxi with this forum's screenshot info grabber script. His post is just a few pages back. I've included it below:

(Personally I just used inxi -v3.... anything higher just seems to be TMI for my singlescore system)


Joe_Arch wrote:
3nd3r wrote:
Joe_Arch wrote:

3nd3r, I would be much obliged for a copy of your system specs script.

check here: http://techpatterns.com/forums/about1133.html


alias info=" perl /home/ender/scripts/info2.pl;inxi -v5 - if multicore detected, create new frequency line, per cpu"


#!/usr/bin/perl
use Switch;
use strict;
use File::Basename;

####################
## Config options ##
####################

## What distro logo to use to use, Available "Archlinux Debian Ubuntu None" ##
my $distro = "Archlinux";
my $myArchVersion = "ArchLinux (2009.2)";

## what values to display. Use "OS Kernel DE WM win_theme Theme Font Icons" ##
my $display = "OS Kernel DE WM Win_theme Theme Icons Font Background";

## Takes a screen shot if set to 0 ##
my $shot = 1;
## Command to run to take screen shot ##
#my $command = "scrot -d 10";

## What colors to use for the variables. ##
my $textcolor = "\e[0m";

## Prints little debugging messages if set to 0 ##
my $quite = 1;



########################
## Script starts here ##
########################
## Define some thing to work with strict ##
my @line = ();
my $found = 0;
my $DE = "NONE";
my $WM = "Beryl";

## Hash of WMs and the process they run ##
my %WMlist = ("Beryl", "beryl",
              "Fluxbox", "fluxbox",
              "Openbox", "openbox",
              "Blackbox", "blackbox",
              "Xfwm4", "xfwm4",
              "Metacity", "metacity",
              "Kwin", "kwin",
              "FVWM", "fvwm",
              "Enlightenment", "enlightenment",
              "IceWM", "icewm",
              "Window Maker", "wmaker",
              "PekWM","pekwm" );

## Hash of DEs and the process they run ##     
my %DElist = ("Gnome", "gnome-session",
              "Xfce4", "xfce-mcs-manage",
              "KDE", "ksmserver");

## Get Kernel version ##
if ( $display =~ "Kernel"){
  print "\::$textcolor Finding Kernel version\n" unless $quite == 1;
  my $kernel = `uname -r`;
  $kernel =~ s/\s+/ /g;
  $kernel = " Kernel:$textcolor $kernel";
  push(@line, "$kernel");
}

## Find running processes ##
print "\::$textcolor Getting processes \n" unless $quite == 1;
my $processes = `ps -A | awk {'print \$4'}`;

## Find DE ##
while( (my $DEname, my $DEprocess) = each(%DElist) ) {
  print "\::$textcolor Testing $DEname process: $DEprocess \n" unless $quite == 1;
  if ( $processes =~ m/$DEprocess/ ) {
    $DE = $DEname;
    print "\::$textcolor DE found as $DE\n" unless $quite == 1;
    if( $display =~ m/DE/ ) {
      push(@line, " DE:$textcolor $DE");
    }
    last;
  }
}

## Find WM ##
while( (my $WMname, my $WMprocess) = each(%WMlist) ) {
 print "\::$textcolor Testing $WMname process: $WMprocess \n" unless $quite == 1;
  if ( $processes =~ m/$WMprocess/ ) {
    $WM = $WMname;
    print "\::$textcolor WM found as $WM\n" unless $quite == 1;
    if( $display =~ m/WM/ ) {
      push(@line, " WM:$textcolor $WM");
    }
    last;
  }
}

## Find WM theme ##
if ( $display =~ m/Win_theme/ ){
  switch($WM) {
    case "Openbox" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.config/openbox/rc.xml")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
        if( /<name>(.+)<\/name>/ ) {
          while ( $found == 0 ) {
            print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
            push(@line, " WM Theme:$textcolor $1");
            $found = 1;
          }
        }
      }
      close(FILE);
    }
    case "Metacity" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      my $gconf = `gconftool-2 -g /apps/metacity/general/theme`;
      print "\::$textcolor $WM theme found as $gconf\n" unless $quite == 1;
      chomp ($gconf);
      push(@line, " WM Theme:$textcolor $gconf");
    }
    case "Fluxbox" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.fluxbox/init")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
        if( /session.styleFile:.*\/(.+)/ ) {
          print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
          push(@line, " WM Theme:$textcolor $1");
        }
      }
      close(FILE);
    }
    case "Blackbox" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.blackboxrc")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
        if( /session.styleFile:.*\/(.+)/ ) {
          print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
          push(@line, " WM Theme:$textcolor $1");
        }
      }
      close(FILE);
    }
    case "Xfwm4" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.config/xfce4/mcs_settings/xfwm4.xml")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
        if( /<option name="Xfwm\/ThemeName" type="string" value="(.+)"\/>/ ) {
          print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
          push(@line, " WM Theme:$textcolor $1");
        }
  } 
      close(FILE);
    }
    case "Kwin" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.kde/share/config/kwinrc")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
        if( /PluginLib=kwin3_(.+)/ ) {
          print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
          push(@line, " WM Theme:$textcolor $1");
        }
      }
      close(FILE);
    }
    case "Enlightenment" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      my $remote = `enlightenment_remote -theme-get theme` ;
      if( $remote =~ m/.*FILE="(.+).edj"/ ) {
        print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
        push(@line, " WM Theme:$textcolor $1");
      }     
    }       
    case "IceWM" { 
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.icewm/theme")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
        if( /Theme="(.+)\/.*.theme/ ) {
          while( $found == 0 ) {
            print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
            push(@line, " WM Theme:$textcolor $1");
            $found = 1;
          }
        }
      }   
      close(FILE);
    }   
    case "PekWM" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.pekwm/config")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
        if( /Theme.*\/(.*)"/ ) {
            print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
            push(@line, " WM Theme:$textcolor $1");
        }
      }
      close(FILE); 
    } 
  }   
}     
      
## Find Theme Icon and Font ##
if ( $display =~ m/[Theme, Icons, Font, Background]/) {
  switch($DE) {
    case "Gnome" {
      print "\::$textcolor Finding $DE variables\n" unless $quite == 1;
      if ( $display =~ m/Theme/ ) {
        my $gconf = `gconftool-2 -g /desktop/gnome/interface/gtk_theme`;
        chomp ($gconf);
        print "\::$textcolor GTK Theme found as $1\n" unless $quite == 1;
        push(@line, " GTK Theme:$textcolor $gconf");
      }
      if ( $display =~ m/Icons/ ) {
        my $gconf = `gconftool-2 -g /desktop/gnome/interface/icon_theme`;
        chomp ($gconf);
        push(@line, " Icons:$textcolor $gconf");
      } 
      if ( $display =~ m/Font/ ) {
        my $gconf = `gconftool-2 -g /desktop/gnome/interface/font_name`;
        chomp ($gconf);
        push(@line, " Font:$textcolor $gconf");
      }
      if ( $display =~ m/Background/ ) {
        my $gconf = `gconftool-2 -g /desktop/gnome/background/picture_filename`;
        chomp ($gconf);
        my $bname = basename($gconf);
        push(@line, " Background:$textcolor $bname");
      }

    } 
    case "Xfce4" {
      my @sort = ();
      print "\::$textcolor Finding $DE variables\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.config/xfce4/mcs_settings/gtk.xml")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
     if ( $display =~ m/Theme/ ) {
          if (/<option name="Net\/ThemeName" type="string" value="(.+)"\/>/ ) {
            print "\::$textcolor GTK Theme found as $1\n" unless $quite == 1;
            unshift(@sort, " GTK Theme:$textcolor $1");
          } 
        }
        if ( $display =~ m/Icons/ ) {
          if (/<option name="Net\/IconThemeName" type="string" value="(.+)"\/>/ ) {
            print "\::$textcolor Icons found as $1\n" unless $quite == 1;
            unshift(@sort, " Icons:$textcolor $1");
          }
        }
        if ( $display =~ m/Font/ ) {
          if ( /<option name="Gtk\/FontName" type="string" value="(.+)"\/>/ ) {
            print "\::$textcolor Font found as $1\n" unless $quite == 1;
            unshift(@sort, " Font:$textcolor $1");
          } 
        }
      }
      close(FILE);
      ## Sort variables so they're ordered "Theme Icon Font" ##
      foreach my $i (@sort) {
        push(@line, "$i");
      }
    } 
    case "KDE" { 
      print "\::$textcolor Finding $DE variables\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.kde/share/config/kdeglobals")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) { 
        if ( $display =~ m/Theme/ ) {
          if ( /widgetStyle=(.+)/  ) {
            print "\::$textcolor Wiget Style found as $1\n" unless $quite == 1;
            push(@line, " Wiget Style:$textcolor $1");
          }
          if (/colorScheme=(.+).kcsrc/ ) {
            print "\::$textcolor Color Scheme found as $1\n" unless $quite == 1;
            push(@line, " Color Scheme:$textcolor $1");
          }
        }
        if ( $display =~ m/Icons/ ) {
          if ( /Theme=(.+)/ ) {
            print "\::$textcolor Icons found as $1\n" unless $quite == 1;
            push(@line, " Icons:$textcolor $1");
          } 
        }   
        if ( $display =~ m/Font/ ) {
          if ( /font=(.+)/ ) {
            my $font = (split/,/, $1)[0];
            print "\::$textcolor Font found as $font\n" unless $quite == 1;
            push(@line, " Font:$textcolor $font");
          }
        }
      }
      close(FILE);
  
    }
    else {
      my @files = ("$ENV{HOME}/.gtkrc-2.0", "$ENV{HOME}/.gtkrc.mine",);
      foreach my $file (@files) {
        if ( -e $file ) {
          print "\::$textcolor Opening $file\n" unless $quite == 1; 
          open(FILE, $file)
          || die "\e[0;31m<Failed>\n";
          while( <FILE> ) {
            if ( $display =~ m/Theme/ ) {
              if( /include ".*themes\/(.+)\/gtk-(1|2)\.0\/gtkrc"/ ){
                print "\::$textcolor GTK theme found as $1\n" unless $quite == 1;
                push(@line, " GTK Theme:$textcolor $1");
              }
            }
            if ( $display =~ m/Icons/ ) {
              if( /.*gtk-icon-theme-name.*"(.+)"/ ) {
                print "\::$textcolor Icons found as $1\n" unless $quite == 1;
                push(@line, " Icons:$textcolor $1");
              }
            }
            if ( $display =~ m/Font/ ) {
              if( /.*gtk-font-name.*"(.+)"/ ) {
                print "\::$textcolor Font found as $1\n" unless $quite == 1;
                push(@line, " Font:$textcolor $1");
             }
            }
          }
          close(FILE);
        }
      }
    }
  }
}

## Display the system info ##

if ( $distro =~ m/Archlinux/ ) {

## Get Archlinux version ##
if ( $display =~ "OS"){
  print "\::$textcolor Finding Archlinux version\n" unless $quite == 1;
  my $version = $myArchVersion;
  $version =~ s/\s+/ /g;
  $version = " OS:$textcolor $version";
  unshift(@line, "$version");
}

my $c1 = "\e[1;36m";
my $c2 = "\e[0;36m";

system("clear");

print "
${c1}                   -`                   
${c1}                  .o+`                  
${c1}                 `ooo/                  
${c1}                `+oooo:                 
${c1}               `+oooooo:
${c1}               -+oooooo+:
${c1}             `/:-:++oooo+:                       $c1@line[0]
${c1}            `/++++/+++++++:                      $c1@line[1]
${c1}           `/++++++++++++++:                     $c1@line[2]
${c1}          `/+++${c2}ooooooooooooo/`                   $c1@line[3]
${c2}         ./ooosssso++osssssso+`                  $c1@line[4]
${c2}        .oossssso-````/ossssss+`                 $c1@line[5]
${c2}       -osssssso.      :ssssssso.                $c1@line[6]
${c2}      :osssssss/        osssso+++.               $c1@line[7]
${c2}     /ossssssss/        +ssssooo/-               $c1@line[8]
${c2}   `/ossssso+/:-        -:/+osssso+-    
${c2}  `+sso+:-`                 `.-/+oso:   
${c2} `++:.                           `-/+/  
${c2} .`                                  ``
${c2} 
\e[0m";
}

#system("scrot -d 1");

Much obliged, 3nd3r!

I had never heard of inxi, it's pretty awesome. Now if only I could find a script that recognizes awesome wink

http://omploader.org/tMWxoaQ

Offline

#710 2009-04-30 05:48:28

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

Re: April "awesome idea" 2009 Screenshots

ichigo wrote:
celettu wrote:

Nicely done. Could you provide some info? What's the DE, dock, theme, windows decorations, font? smile

DE: Xfce 4.6
Dock: Avant Window Navigator
Thème: Nodoka-Rounded (need gtk-engine-nodoka)
WM: Emerald (ichigo 1.0)
Font: ArabBrud
Wallpaper: i forget a name
Conky: Date, Time, Cpu info, Top Cpu,Ram, Network info, To do, Notification of update Pacman, Music info

Hey, very nice setup! I really like your font, it is not a simple one, has elegance and is still readable - the main-problem with nice fonts, they often aren't readable at small size...

But there is one question left: How does your to-do-list in conky work??

Thanks in advance,

Thomas

Offline

#711 2009-04-30 06:01:00

Alex6969
Member
Registered: 2009-03-26
Posts: 18

Re: April "awesome idea" 2009 Screenshots

First experience with Arch and I'm loving it. I feel like I've learned a lot in the past week, stuff that I didn't learn from ubuntu. The wiki and forum are amazing. The people aren't half bad either ;-)

th_2009-04-30-005629_1024x600_scrot.png

Gnome, Conky, Tint2


This isn't Ubuntu...

Offline

#712 2009-04-30 06:06:10

evr
Arch Linux f@h Team Member
Registered: 2009-01-23
Posts: 554

Re: April "awesome idea" 2009 Screenshots

chmoder wrote:

This is my scrot! 

Is there a program I can run to show my system info such as window manager, gtk, system info?

Clean:
http://lh3.ggpht.com/_lcnSl98eclI/SfkVP … _scrot.png
Dirty:
http://lh6.ggpht.com/_lcnSl98eclI/SfkWr … _scrot.png

I have awesome, starting to try that.  ...its awesome???
But I love my openbox setup.  Very plain and simple.

P.S.  Thanks to whoever put up the wikis for the fonts!  They are the best!

Also I stole most of the stuff from you guys.  thanks for your hard work.

nice wallpaper, could you post a link?

Offline

#713 2009-04-30 07:09:49

kolbycrouch
Member
Registered: 2008-07-18
Posts: 218

Re: April "awesome idea" 2009 Screenshots

Alex6969 wrote:

First experience with Arch and I'm loving it. I feel like I've learned a lot in the past week, stuff that I didn't learn from ubuntu. The wiki and forum are amazing. The people aren't half bad either ;-)

http://i229.photobucket.com/albums/ee69 … _scrot.png

Gnome, Conky, Tint2

nice man, mind sharing that wallpaper?
good to have another archer, may i suggest trying out other de/wms? I just assume you use gnome because ubuntu does.

oh and we are bad, but in a different way cool

Last edited by kolbycrouch (2009-04-30 07:10:03)

Offline

#714 2009-04-30 07:22:21

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

Re: April "awesome idea" 2009 Screenshots

Barghest wrote:
KlavKalashj wrote:
oew wrote:

Switched to wmii, really like it so far smile
Desided to go brownish to match the wall (thanks YtseJammin!)

http://th02.deviantart.com/fs43/300W/i/ … oewoew.png

Haha, mine is almost the same:

http://pici.se/thumbs/t_tYapxcovk.gif

That is Awesome 3.3.

Wow...looks great!

May I see your configs?

What do you use for transparency and will your rc.lua work with the git version?

@Joe_Arch, may I see your rc.lua, too (just diving into awesome)?

Thanks

Thanks man! Yes, my version of awesome is 3.3pre2009 or something, I think it's in AUR. 3.3 will be released in june, so I guess config will work at least over the summer:) I am also new on awesome, have been running Awesom2.3 before, with the much easier config. But just right now I think this config is doing exactly what I want smile Anyways, here you go, enjoy:

Edit: forgot, transparency is achieved through .Xdefaults. I Guess the only important posts is *shading and *depth. Depth has to be 24. I have no xorg.conf so I guess I dont use any stuff like composite extension and so on... No xcompmgr. Too slow on my computer big_smile

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

-- {{{ 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,
    -- ["Heroes3.exe"] = true,
    ["Wine"] = true,
    -- by instance
    ["mocp"] = 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")

-- }}
 URxvt.buffered: true
!URxvt.background: black
!URxvt.foreground: white
URxvt.cursorColor: white
URxvt.font: xft:Terminus:pixelsize=12
!!URxvt.font: xft:bitvera sans:pixelsize=11:antialias=false
!!URxvt*font: -*-terminus-*-*-*-*-11-*-*-*-*-*-*-*
URxvt.perl-ext-common: default,matcher
!!urxvt*fading:             20
urxvt*shading:            25 
urxvt*depth:              24
urxvt*scrollBar:          false
urxvt*scrollstyle:        plain
urxvt*loginShell:         true
urxvt*termName:           rxvt-unicode
urxvt*inheritPixmap:      true
urxvt*urlLauncher:        firefox
urxvt.matcher.pattern.1:    \bwww\.[\w-]\.[\w./?&@#-]*[\w/-]
urxvt.matcher.button:       1
URxvt.urgentOnBell: true
URxvt.colorUL: #4EB4FA
URxvt.underlineColor: #4EB4FA

!--[Colours]--! 
!URxvt*cursorColor: #FFAF00

! black
!URxvt*color0:  #000000
!URxvt*color8:  #9999AA

! red
!URxvt*color1:  #DE1923
!URxvt*color9:  #FF6050

! green
!URxvt*color2:  #559933
!URxvt*color10: #66D077

! yellow
!URxvt*color3:  #FF9922
!URxvt*color11: #FFFFAF

! blue
!URxvt*color4:  #3579A8
!URxvt*color12: #4EB4FA

! magenta
!URxvt*color5:  #BB88DD
!URxvt*color13: #D7AFD7

! cyan
!URxvt*color6:  #00BBDD
!URxvt*color14: #0DEBFF

! white
!URxvt*color7:  #C7C7C7
!URxvt*color15: #D9D9D9

! Colour scheme
!URxvt*color0:#000000
!URxvt*color1:#ff6565
!URxvt*color2:#93d44f
!URxvt*color3:#eab93d
!URxvt*color4:#204a87
!URxvt*color5:#ce5c00
!URxvt*color6:#89b6e2
!URxvt*color7:#cccccc
!URxvt*color8:#555753
!URxvt*color9:#ff8d8d
!URxvt*color10:#c8e7a8
!URxvt*color11:#ffc123
!URxvt*color12:#3465a4
!URxvt*color13:#f57900
!URxvt*color14:#46a4ff
!URxvt*color15:#ffffff

*background:        #252525
*foreground:        light grey

!black
*color0:  #222222
*color8:  #554444
!red
*color1: #EA6868
*color9: #FF7272
!green
*color2: #ABCB8D
*color10: #AFD78A
!yellow
*color3: #E8AE5B
*color11: #FFA75D
!blue
*color4: #71C5F4
*color12: #67CDE9
!magenta
*color5: #E2BAF1
*color13: #ECAEE9
!cyan
*color6: #21F1EA
*color14: #36FFFC
!white
*color7: #F1F1F1
*color15: #FFFFFF

Last edited by KlavKalashj (2009-04-30 07:28:33)

Offline

#715 2009-04-30 07:34:18

ichigo
Member
Registered: 2009-03-27
Posts: 7

Re: April "awesome idea" 2009 Screenshots

Murray_B wrote:
ichigo wrote:
celettu wrote:

Nicely done. Could you provide some info? What's the DE, dock, theme, windows decorations, font? smile

DE: Xfce 4.6
Dock: Avant Window Navigator
Thème: Nodoka-Rounded (need gtk-engine-nodoka)
WM: Emerald (ichigo 1.0)
Font: ArabBrud
Wallpaper: i forget a name
Conky: Date, Time, Cpu info, Top Cpu,Ram, Network info, To do, Notification of update Pacman, Music info

Hey, very nice setup! I really like your font, it is not a simple one, has elegance and is still readable - the main-problem with nice fonts, they often aren't readable at small size...

But there is one question left: How does your to-do-list in conky work??

Thanks in advance,

Thomas

Thanks! For "to do" i create this simple line ${execpi 600 cat ~/todo} and i modify this file when i needed

Offline

#716 2009-04-30 08:42:00

mxforce
Member
Registered: 2009-02-10
Posts: 17

Re: April "awesome idea" 2009 Screenshots

Using Gnome now.

tMWxwYQ

Offline

#717 2009-04-30 09:53:10

na12
Member
From: /home/serbia
Registered: 2008-12-23
Posts: 752

Re: April "awesome idea" 2009 Screenshots

tMWxyMg

tMWxyMw

Gentoo Linux,XFCE 4.6

Last edited by na12 (2009-04-30 12:10:02)

Offline

#718 2009-04-30 13:57:40

Crooksey
Member
From: UK ~
Registered: 2006-08-14
Posts: 415
Website

Re: April "awesome idea" 2009 Screenshots

Laptop, rather simmilar to my desktop tongue

laptop.th.png


Arch Linux since 2006
Python Web Developer + Sys Admin (Gentoo/BSD)

Offline

#719 2009-04-30 14:50:23

whordijk
Member
From: the Netherlands
Registered: 2008-12-12
Posts: 147
Website

Re: April "awesome idea" 2009 Screenshots

KlavKalashj wrote:
Barghest wrote:
KlavKalashj wrote:

Haha, mine is almost the same:

http://pici.se/thumbs/t_tYapxcovk.gif

That is Awesome 3.3.

Wow...looks great!

May I see your configs?

What do you use for transparency and will your rc.lua work with the git version?

@Joe_Arch, may I see your rc.lua, too (just diving into awesome)?

Thanks

Thanks man! Yes, my version of awesome is 3.3pre2009 or something, I think it's in AUR. 3.3 will be released in june, so I guess config will work at least over the summer:) I am also new on awesome, have been running Awesom2.3 before, with the much easier config. But just right now I think this config is doing exactly what I want smile Anyways, here you go, enjoy:

Edit: forgot, transparency is achieved through .Xdefaults. I Guess the only important posts is *shading and *depth. Depth has to be 24. I have no xorg.conf so I guess I dont use any stuff like composite extension and so on... No xcompmgr. Too slow on my computer big_smile

Very nice smile Would you mind sharing the Arch theme, which is referred to in your rc.lua?

Offline

#720 2009-04-30 14:55:42

froli
Member
From: Germany
Registered: 2008-06-17
Posts: 455

Re: April "awesome idea" 2009 Screenshots

Crooksey wrote:

Laptop, rather simmilar to my desktop tongue

http://img254.imageshack.us/img254/5336/laptop.th.png

Do you know that you can change this Ubuntu logo on your panel? There's a setting somewhere in gconf.


archlinux on Macbook Pro 10,1

Offline

#721 2009-04-30 15:10:42

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

Re: April "awesome idea" 2009 Screenshots

whordijk wrote:
KlavKalashj wrote:
Barghest wrote:

Wow...looks great!

May I see your configs?

What do you use for transparency and will your rc.lua work with the git version?

@Joe_Arch, may I see your rc.lua, too (just diving into awesome)?

Thanks

Thanks man! Yes, my version of awesome is 3.3pre2009 or something, I think it's in AUR. 3.3 will be released in june, so I guess config will work at least over the summer:) I am also new on awesome, have been running Awesom2.3 before, with the much easier config. But just right now I think this config is doing exactly what I want smile Anyways, here you go, enjoy:

Edit: forgot, transparency is achieved through .Xdefaults. I Guess the only important posts is *shading and *depth. Depth has to be 24. I have no xorg.conf so I guess I dont use any stuff like composite extension and so on... No xcompmgr. Too slow on my computer big_smile

Very nice smile Would you mind sharing the Arch theme, which is referred to in your rc.lua?

Hm, I made som minor changes... Here is the current, I hope it fits. If there is any colour you are hunting, I guess I can look it up smile
http://pastebin.com/m5d4db66e

There are also changes in my .Xdefaults to match:
http://pastebin.com/m54a63399 (colours, and transparency level lowered)

Edit: The changes can be seen here: http://pici.se/401760

Last edited by KlavKalashj (2009-04-30 15:15:51)

Offline

#722 2009-04-30 15:38:59

whordijk
Member
From: the Netherlands
Registered: 2008-12-12
Posts: 147
Website

Re: April "awesome idea" 2009 Screenshots

KlavKalashj wrote:
whordijk wrote:
KlavKalashj wrote:

Thanks man! Yes, my version of awesome is 3.3pre2009 or something, I think it's in AUR. 3.3 will be released in june, so I guess config will work at least over the summer:) I am also new on awesome, have been running Awesom2.3 before, with the much easier config. But just right now I think this config is doing exactly what I want smile Anyways, here you go, enjoy:

Edit: forgot, transparency is achieved through .Xdefaults. I Guess the only important posts is *shading and *depth. Depth has to be 24. I have no xorg.conf so I guess I dont use any stuff like composite extension and so on... No xcompmgr. Too slow on my computer big_smile

Very nice smile Would you mind sharing the Arch theme, which is referred to in your rc.lua?

Hm, I made som minor changes... Here is the current, I hope it fits. If there is any colour you are hunting, I guess I can look it up smile
http://pastebin.com/m5d4db66e

There are also changes in my .Xdefaults to match:
http://pastebin.com/m54a63399 (colours, and transparency level lowered)

Edit: The changes can be seen here: http://pici.se/401760

Thanks!

Offline

#723 2009-04-30 16:23:35

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

Re: April "awesome idea" 2009 Screenshots

@ whordjik: Np man. But you owe me a scrot wink

Offline

#724 2009-04-30 16:41:44

whordijk
Member
From: the Netherlands
Registered: 2008-12-12
Posts: 147
Website

Re: April "awesome idea" 2009 Screenshots

KlavKalashj wrote:

@ whordjik: Np man. But you owe me a scrot wink

True!
I'm not finished by far: I'm still sorting out the colours and stuff, but here's a draft:
awesome2-thumb.png

Offline

#725 2009-04-30 16:50:36

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

Re: April "awesome idea" 2009 Screenshots

whordijk wrote:
KlavKalashj wrote:

@ whordjik: Np man. But you owe me a scrot wink

True!
I'm not finished by far: I'm still sorting out the colours and stuff, but here's a draft:
http://hcnop.net/awesome2-thumb.png

Nice one. You got good taste wink

Edit: why do you have different colors in vi when we have same .Xdefaults? (If you not edited)

Last edited by KlavKalashj (2009-04-30 16:51:18)

Offline

Board footer

Powered by FluxBB