user@linuxtrack:~ $ python -c 'print("Soyez les bienvenus !")'

Vous n'êtes pas identifié(e).

#1 05-02-2013 14:00:37

Casoum
Membre

Ma config awesome v3.5

Aperçu:
1358266711.png

~/.config/awesome/rc.lua

-- Standard awesome library
local gears = require("gears")
local awful = require("awful")
awful.rules = require("awful.rules")
require("awful.autofocus")
-- Widget and layout library
local wibox = require("wibox")
-- Cairo 2D graphics
local lgi = require("lgi")
local cairo = lgi.cairo
-- Theme handling library
local beautiful = require("beautiful")
-- Notification library
local naughty = require("naughty")
local menubar = require("menubar")

-- {{{ Error handling
-- Check if awesome encountered an error during startup and fell back to
-- another config (This code will only ever execute for the fallback config)
if awesome.startup_errors then
    naughty.notify({ preset = naughty.config.presets.critical,
                     title = "Oops, there were errors during startup!",
                     text = awesome.startup_errors })
end

-- Handle runtime errors after startup
do
    local in_error = false
    awesome.connect_signal("debug::error", function (err)
        -- Make sure we don't go into an endless error loop
        if in_error then return end
        in_error = true

        naughty.notify({ preset = naughty.config.presets.critical,
                         title = "Oops, an error happened!",
                         text = err })
        in_error = false
    end)
end
-- }}}

-- {{{ Variable definitions
-- Themes define colours, icons, and wallpapers
--beautiful.init("/usr/share/awesome/themes/default/theme.lua")
beautiful.init("/home/maxime/.config/awesome/themes/Maxime/theme.lua")

-- This is used later as the default terminal and editor to run.
terminal = "xterm"
editor = os.getenv("EDITOR") or "vim"
editor_cmd = terminal .. " -e " .. editor

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

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

-- {{{ Wallpaper
if beautiful.wallpaper then
    for s = 1, screen.count() do
        gears.wallpaper.maximized(beautiful.wallpaper, s, true)
    end
end
-- }}}

-- {{{ Tags
-- Define a tag table which hold all screen tags.
tags = {}
for s = 1, screen.count() do
    -- Each screen has its own tag table.
    tags[s] = awful.tag({ '1:MAIN', '2:WEB', '3:IRC', '4:DEV', '5:DEV', '6:GRAPH', '7', '8', '9:MEDIA' }, s, layouts[2])
end
-- }}}

-- {{{ Menu
-- Create a laucher widget and a main menu
myawesomemenu = {
   { "manual", terminal .. " -e man awesome" },
   { "edit config", editor_cmd .. " " .. awesome.conffile },
   { "restart", awesome.restart },
   { "quit", awesome.quit }
}

mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
                                    { "open terminal", terminal },
                                    { "reboot", "sudo shutdown -r now" },
                                    { "shutdown", "sudo shutdown -Ph now" }
                                  }
                        })

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

-- Menubar configuration
menubar.utils.terminal = terminal -- Set the terminal for applications that require it
-- }}}

-- {{{ Wibox
-- Create a textclock widget
mytextclock = awful.widget.textclock()

-- Clock widget
local myClock = wibox.widget.base.make_widget()
myClock.fit = function(myClock, width, height)
        local size = math.min(width, height)
        return size,size
end
myClock.draw = function( myClock, wibox, cr, width, height)
       local image = cairo.ImageSurface.create_from_png(beautiful.icon_clock)
       cr:translate(5, 2)
       cr:set_source_surface(image, 0, 0)
       cr:paint()
end
--myClock:emit_signal("widget::updated")

-- Sound widget
local mySound = wibox.widget.base.make_widget()
mySound.fit = function(mySound, width, height)
        local size = math.min(width, height)
        return size,size
end
mySound.draw = function( mySound, wibox, cr, width, height)
       local image = cairo.ImageSurface.create_from_png(beautiful.icon_sound)
       cr:translate(5, 2)
       cr:set_source_surface(image, 0, 0)
       cr:paint()
end

volwidget = wibox.widget.textbox()
function refreshvol()
	local fstatut=io.popen("amixer get Master |awk 'NR==5' | awk ' {print $6}'")
	local result = fstatut:read()
	if result == "[off]" then
		volwidget:set_text("x   ")
	else
		local fvol=io.popen("amixer get Master |awk 'NR==5' | awk ' {print $3}'")
		local vol=math.floor(fvol:read()/87*100)
		volwidget:set_text(vol .. "%   ")
	end
end
mytimer = timer({ timeout = 30 })
mytimer:connect_signal("timeout", function() refreshvol() end)
mytimer:start()

-- Battery widget
local batimage = wibox.widget.base.make_widget()
batimage.fit = function(batimage, width, height)
        local size = math.min(width, height)
        return size,size
end
local imagebattery = cairo.ImageSurface.create_from_png(beautiful.icon_battery)
batimage.draw = function( batimage, wibox, cr, width, height)
       cr:translate(5, 2)
       cr:set_source_surface(imagebattery, 0, 0)
       cr:paint()
end

batwidget = wibox.widget.textbox()
local brightness = 0
function refreshbat()
	local fpercent=io.popen("upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep percentage | awk '{print $2}'")
	local result=fpercent:read()
	local percent=math.floor(string.sub(result,0,string.len(result)-2))
	local fstate=io.popen("upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep 'state:' | awk '{print $2}'")
	local state=fstate:read()
	if state == "discharging" then
		state = "Unplugged: "
		if percent < 50 and brightness ~= 25 then io.popen("xbacklight -set 25") brightness = 25 imagebattery = cairo.ImageSurface.create_from_png(beautiful.icon_nobattery) batimage:emit_signal("widget::updated")
		elseif brightness ~= 50 then io.popen("xbacklight -set 50") brightness = 50 imagebattery = cairo.ImageSurface.create_from_png(beautiful.icon_battery)  batimage:emit_signal("widget::updated") end
	else
		state = "Plugged In: "
		if brightness ~= 100 then io.popen("xbacklight -set 100") brightness = 100 imagebattery = cairo.ImageSurface.create_from_png(beautiful.icon_fullbattery)  batimage:emit_signal("widget::updated") end
	end
	batwidget:set_text(state..percent .. "%   ")
end
mytimer:connect_signal("timeout", function() refreshbat() end)

-- RAM widget
local ramimage = wibox.widget.base.make_widget()
ramimage.fit = function(ramimage, width, height)
        local size = math.min(width, height)
        return size,size
end
ramimage.draw = function(ramimage, wibox, cr, width, height)
       local image = cairo.ImageSurface.create_from_png(beautiful.icon_ram)
       cr:translate(5, 2)
       cr:set_source_surface(image, 0, 0)
       cr:paint()
end
ramwidget = wibox.widget.textbox()
raminfo = awful.tooltip({
	objects = {ramwidget},
	timer_function = function()
	local ftop = io.popen("ps -eo pmem,pid,pcpu,args | grep -v PID | sort -n -r | head -n 5")
	local top = ftop:read('*all')
	return "%MEM   PID %CPU COMMAND\n"..top
	end })
function refreshram()
	local ramval = 0
	local max = 0
	for line in io.lines("/proc/meminfo") do
		local total = string.match(line, "MemTotal: +(%d+) +kB")
		local unused = string.match(line, "MemFree: +(%d+) +kB")
		if total then
			max = total
		elseif unused and max then
			ramval = math.floor((max - unused) / max * 100)
		end
	end
	ramwidget:set_text(ramval .. "%   ")
end
mytimer:connect_signal("timeout", function() refreshram() end)

-- Network widget
local imagenetwork = cairo.ImageSurface.create_from_png(beautiful.icon_wireless)
local netimage = wibox.widget.base.make_widget()
netimage.fit = function(netimage, width, height)
        local size = math.min(width, height)
        return size,size
end
netimage.draw = function(netimage, wibox, cr, width, height)
       cr:translate(5, 2)
       cr:set_source_surface(imagenetwork, 0, 0)
       cr:paint()
end

netwidget = wibox.widget.textbox()
netinfo = awful.tooltip({
	objects = {netwidget},
	timer_function = function()
        local fwireless = io.popen("wicd-cli -y -d")
        local wireless = fwireless:read('*all')
        local ip, essid, quality = string.match(wireless, "IP: (%d+.%d+.%d+.%d+)\nEssid: (.+)\nBssid.+\nQuality: (%d+)")
	local fgateway = io.popen("route | grep default | awk '{print $2}'")
	local gateway = fgateway:read()
        if ip and essid and quality then
		return "Network information:\nWireless network (".. quality .."%)\nEssid: " .. essid .. "\nIP: " .. ip .. "\nGateway: ".. gateway .."\n"
        else
		local fwired = io.popen("wicd-cli -z -d")
		local wired = fwired:read('*all')
		local ip = string.match(wired, "IP:\t(%d+.%d+.%d+.%d+)")
		if ip then
			return "Network information:\n Wired network\nIP: " .. ip .. "\nGateway: ".. gateway .."\n"
		end
	end
	return "Network information:    \ndisconnected"
	end})
networkstate = "wireless"
function refreshnet()
	local fwireless = io.popen("wicd-cli -y -d")
	wireless = fwireless:read('*all')
	local ip, essid, quality = string.match(wireless, "IP: (%d+.%d+.%d+.%d+)\nEssid: (.+)\nBssid.+\nQuality: (%d+)")
	if ip and essid and quality then
		netwidget:set_text(essid .. "   ")
		if networkstate ~= "wireless" then imagenetwork = cairo.ImageSurface.create_from_png(beautiful.icon_wireless) networkstate = "wireless" netimage:emit_signal("widget::updated") end
	else
                local fwired = io.popen("wicd-cli -z -d")
                local wired = fwired:read('*all')
                local ip = string.match(wired, "IP: (%d+.%d+.%d+.%d+)")
                if ip then
                        netwidget:set_text("Wired" .. "   ")
			if networkstate ~= "wired" then imagenetwork = cairo.ImageSurface.create_from_png(beautiful.icon_wired) networkstate = "wired" netimage:emit_signal("widget::updated") end
		else
			if networkstate ~= "disconnect" then imagenetwork = cairo.ImageSurface.create_from_png(beautiful.icon_nonetwork) networkstate = "disconnect" netimage:emit_signal("widget::updated") end
			netwidget:set_text("Disconnected" .. "   ")
		end
	end
end
mytimer:connect_signal("timeout", function() refreshnet() end)

-- Create a wibox for each screen and add it
mywibox = {}
mypromptbox = {}
mylayoutbox = {}
mytaglist = {}
mytaglist.buttons = awful.util.table.join(
                    awful.button({ }, 1, awful.tag.viewonly),
                    awful.button({ modkey }, 1, awful.client.movetotag),
                    awful.button({ }, 3, awful.tag.viewtoggle),
                    awful.button({ modkey }, 3, awful.client.toggletag),
                    awful.button({ }, 4, function(t) awful.tag.viewnext(awful.tag.getscreen(t)) end),
                    awful.button({ }, 5, function(t) awful.tag.viewprev(awful.tag.getscreen(t)) end)
                    )
mytasklist = {}
mytasklist.buttons = awful.util.table.join(
                     awful.button({ }, 1, function (c)
                                              if c == client.focus then
                                                  c.minimized = true
                                              else
                                                  -- Without this, the following
                                                  -- :isvisible() makes no sense
                                                  c.minimized = false
                                                  if not c:isvisible() then
                                                      awful.tag.viewonly(c:tags()[1])
                                                  end
                                                  -- This will also un-minimize
                                                  -- the client, if needed
                                                  client.focus = c
                                                  c:raise()
                                              end
                                          end),
                     awful.button({ }, 3, function ()
                                              if instance then
                                                  instance:hide()
                                                  instance = nil
                                              else
                                                  instance = awful.menu.clients({ width=250 })
                                              end
                                          end),
                     awful.button({ }, 4, function ()
                                              awful.client.focus.byidx(1)
                                              if client.focus then client.focus:raise() end
                                          end),
                     awful.button({ }, 5, function ()
                                              awful.client.focus.byidx(-1)
                                              if client.focus then client.focus:raise() end
                                          end))

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

    -- Create a tasklist widget
    mytasklist[s] = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, mytasklist.buttons)

    -- Create the wibox
    mywibox[s] = awful.wibox({ position = "top", screen = s })

    -- Widgets that are aligned to the left
    local left_layout = wibox.layout.fixed.horizontal()
    left_layout:add(mylauncher)
    left_layout:add(mytaglist[s])
    left_layout:add(mypromptbox[s])

    -- Widgets that are aligned to the right
    local right_layout = wibox.layout.fixed.horizontal()
    if s == 1 then right_layout:add(wibox.widget.systray()) end
    right_layout:add(batimage)
    right_layout:add(batwidget)
    right_layout:add(netimage)
    right_layout:add(netwidget)
    right_layout:add(ramimage)
    right_layout:add(ramwidget)
    right_layout:add(mySound)
    right_layout:add(volwidget)
    right_layout:add(myClock)
    right_layout:add(mytextclock)
    right_layout:add(mylayoutbox[s])

    -- Now bring it all together (with the tasklist in the middle)
    local layout = wibox.layout.align.horizontal()
    layout:set_left(left_layout)
    layout:set_middle(mytasklist[s])
    layout:set_right(right_layout)

    mywibox[s]:set_widget(layout)
end
-- }}}

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

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

    awful.key({ modkey,           }, "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() end),

    -- Multimedia
    awful.key({}, "XF86AudioRaiseVolume", function() awful.util.spawn("amixer set Master 5%+") end),
    awful.key({}, "XF86AudioLowerVolume", function() awful.util.spawn("amixer set Master 5%-") end),
    awful.key({}, "XF86AudioMute", function() awful.util.spawn("amixer set Master toggle") end),

    -- Screenshot
    awful.key({}, "Print", function() awful.util.spawn("import -window root -quality 98 /home/maxime/Pictures/Screenshot/screenshot-".. os.time() ..".png") end),

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

    -- Standard program
    awful.key({ modkey,           }, "Return", function () awful.util.spawn(terminal) end),
    awful.key({ modkey, "Control" }, "r", awesome.restart),
    awful.key({ modkey, "Shift"   }, "q", awesome.quit),

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

    awful.key({ modkey, "Control" }, "n", awful.client.restore),

    -- Prompt
    awful.key({ modkey },            "r",     function () mypromptbox[mouse.screen]:run() end),

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

clientkeys = awful.util.table.join(
    awful.key({ modkey,           }, "f",      function (c) c.fullscreen = not c.fullscreen  end),
    awful.key({ modkey, "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,           }, "t",      function (c) c.ontop = not c.ontop            end),
    awful.key({ modkey,           }, "n",
        function (c)
            -- The client currently has the input focus, so it cannot be
            -- minimized, since minimized clients can't have the focus.
            c.minimized = true
        end),
    awful.key({ modkey,           }, "m",
        function (c)
            c.maximized_horizontal = not c.maximized_horizontal
            c.maximized_vertical   = not c.maximized_vertical
        end)
)

-- Compute the maximum number of digit we need, limited to 9
keynumber = 0
for s = 1, screen.count() do
   keynumber = math.min(9, math.max(#tags[s], keynumber))
end

-- Bind all key numbers to tags.
-- Be careful: we use keycodes to make it works on any keyboard layout.
-- This should map on the top row of your keyboard, usually 1 to 9.
for i = 1, keynumber do
    globalkeys = awful.util.table.join(globalkeys,
        awful.key({ modkey }, "#" .. i + 9,
                  function ()
                        local screen = mouse.screen
                        if tags[screen][i] then
                            awful.tag.viewonly(tags[screen][i])
                        end
                  end),
        awful.key({ modkey, "Control" }, "#" .. i + 9,
                  function ()
                      local screen = mouse.screen
                      if tags[screen][i] then
                          awful.tag.viewtoggle(tags[screen][i])
                      end
                  end),
        awful.key({ modkey, "Shift" }, "#" .. i + 9,
                  function ()
                      if client.focus and tags[client.focus.screen][i] then
                          awful.client.movetotag(tags[client.focus.screen][i])
                      end
                  end),
        awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
                  function ()
                      if client.focus and tags[client.focus.screen][i] then
                          awful.client.toggletag(tags[client.focus.screen][i])
                      end
                  end))
end

clientbuttons = awful.util.table.join(
    awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
    awful.button({ modkey }, 1, awful.mouse.client.move),
    awful.button({ modkey }, 3, awful.mouse.client.resize))

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

-- {{{ Rules
awful.rules.rules = {
    -- All clients will match this rule.
    { rule = { },
      properties = { border_width = beautiful.border_width,
                     border_color = beautiful.border_normal,
                     focus = awful.client.focus.filter,
                     keys = clientkeys,
                     buttons = clientbuttons } },
    { rule = { class = "MPlayer" },
      properties = { floating = true } },
    { rule = { class = "pinentry" },
      properties = { floating = true } },
    { rule = { class = "gimp" },
      properties = { floating = true } },
    -- Set Firefox to always map on tags number 2 of screen 1.
    { rule = { class = "Firefox" },
      properties = { tag = tags[1][2] } },
      --properties = { tag = tag[2] == nil and tags[1][2] or tags[2][2] } },
    { rule = { class = "xchat" },
      properties = { tag = tags[1][3] } },
}
-- }}}

-- {{{ Signals
-- Signal function to execute when a new client appears.
client.connect_signal("manage", function (c, startup)
    -- Enable sloppy focus
    c:connect_signal("mouse::enter", function(c)
        if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
            and awful.client.focus.filter(c) then
            client.focus = c
        end
    end)

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

        -- Put windows in a smart way, only if they does not set an initial position.
        if not c.size_hints.user_position and not c.size_hints.program_position then
            awful.placement.no_overlap(c)
            awful.placement.no_offscreen(c)
        end
    end

    local titlebars_enabled = false
    if titlebars_enabled and (c.type == "normal" or c.type == "dialog") then
        -- Widgets that are aligned to the left
        local left_layout = wibox.layout.fixed.horizontal()
        left_layout:add(awful.titlebar.widget.iconwidget(c))

        -- Widgets that are aligned to the right
        local right_layout = wibox.layout.fixed.horizontal()
        right_layout:add(awful.titlebar.widget.floatingbutton(c))
        right_layout:add(awful.titlebar.widget.maximizedbutton(c))
        right_layout:add(awful.titlebar.widget.stickybutton(c))
        right_layout:add(awful.titlebar.widget.ontopbutton(c))
        right_layout:add(awful.titlebar.widget.closebutton(c))

        -- The title goes in the middle
        local title = awful.titlebar.widget.titlewidget(c)
        title:buttons(awful.util.table.join(
                awful.button({ }, 1, function()
                    client.focus = c
                    c:raise()
                    awful.mouse.client.move(c)
                end),
                awful.button({ }, 3, function()
                    client.focus = c
                    c:raise()
                    awful.mouse.client.resize(c)
                end)
                ))

        -- Now bring it all together
        local layout = wibox.layout.align.horizontal()
        layout:set_left(left_layout)
        layout:set_right(right_layout)
        layout:set_middle(title)

        awful.titlebar(c):set_widget(layout)
    end
end)

-- Detect screen on tsartup
awful.util.spawn("autodetectscreen.sh")

client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
-- }}}

~/.config/awesome/themes/Maxime/theme.lua

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

theme = {}

theme.font          = "sans 7"

theme.bg_normal     = "#222222"
theme.bg_focus      = "#535d6c"
theme.bg_urgent     = "#ff0000"
theme.bg_minimize   = "#444444"
theme.bg_systray    = theme.bg_normal

theme.fg_normal     = "#aaaaaa"
theme.fg_focus      = "#ffffff"
theme.fg_urgent     = "#ffffff"
theme.fg_minimize   = "#ffffff"

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

-- There are other variable sets
-- overriding the default one when
-- defined, the sets are:
-- [taglist|tasklist]_[bg|fg]_[focus|urgent]
-- titlebar_[bg|fg]_[normal|focus]
-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color]
-- mouse_finder_[color|timeout|animate_timeout|radius|factor]
-- Example:
--theme.taglist_bg_focus = "#ff0000"

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

-- Variables set for theming the menu:
-- menu_[bg|fg]_[normal|focus]
-- menu_[border_color|border_width]
theme.menu_submenu_icon = "/usr/share/awesome/themes/default/submenu.png"
theme.menu_height = 12
theme.menu_width  = 100

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

-- Define the image to load
theme.titlebar_close_button_normal = "/usr/share/awesome/themes/default/titlebar/close_normal.png"
theme.titlebar_close_button_focus  = "/usr/share/awesome/themes/default/titlebar/close_focus.png"

theme.titlebar_ontop_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/ontop_normal_inactive.png"
theme.titlebar_ontop_button_focus_inactive  = "/usr/share/awesome/themes/default/titlebar/ontop_focus_inactive.png"
theme.titlebar_ontop_button_normal_active = "/usr/share/awesome/themes/default/titlebar/ontop_normal_active.png"
theme.titlebar_ontop_button_focus_active  = "/usr/share/awesome/themes/default/titlebar/ontop_focus_active.png"

theme.titlebar_sticky_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/sticky_normal_inactive.png"
theme.titlebar_sticky_button_focus_inactive  = "/usr/share/awesome/themes/default/titlebar/sticky_focus_inactive.png"
theme.titlebar_sticky_button_normal_active = "/usr/share/awesome/themes/default/titlebar/sticky_normal_active.png"
theme.titlebar_sticky_button_focus_active  = "/usr/share/awesome/themes/default/titlebar/sticky_focus_active.png"

theme.titlebar_floating_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/floating_normal_inactive.png"
theme.titlebar_floating_button_focus_inactive  = "/usr/share/awesome/themes/default/titlebar/floating_focus_inactive.png"
theme.titlebar_floating_button_normal_active = "/usr/share/awesome/themes/default/titlebar/floating_normal_active.png"
theme.titlebar_floating_button_focus_active  = "/usr/share/awesome/themes/default/titlebar/floating_focus_active.png"

theme.titlebar_maximized_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/maximized_normal_inactive.png"
theme.titlebar_maximized_button_focus_inactive  = "/usr/share/awesome/themes/default/titlebar/maximized_focus_inactive.png"
theme.titlebar_maximized_button_normal_active = "/usr/share/awesome/themes/default/titlebar/maximized_normal_active.png"
theme.titlebar_maximized_button_focus_active  = "/usr/share/awesome/themes/default/titlebar/maximized_focus_active.png"

theme.wallpaper = "/home/maxime/.config/awesome/themes/Maxime/background.png"

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

theme.awesome_icon = "/home/maxime/.config/awesome/themes/Maxime/img/awesome.png"

-- Define the icon theme for application icons. If not set then the icons 
-- from /usr/share/icons and /usr/share/icons/hicolor will be used.
theme.icon_theme = nil

-- Define by user
theme.icon_clock = "/home/maxime/.config/awesome/themes/Maxime/img/clock.png"
theme.icon_sound = "/home/maxime/.config/awesome/themes/Maxime/img/sound.png"
theme.icon_battery = "/home/maxime/.config/awesome/themes/Maxime/img/battery.png"
theme.icon_nobattery = "/home/maxime/.config/awesome/themes/Maxime/img/nobattery.png"
theme.icon_fullbattery = "/home/maxime/.config/awesome/themes/Maxime/img/fullbattery.png"
theme.icon_cpu = "/home/maxime/.config/awesome/themes/Maxime/img/cpu.png"
theme.icon_ram = "/home/maxime/.config/awesome/themes/Maxime/img/ram.png"
theme.icon_wireless = "/home/maxime/.config/awesome/themes/Maxime/img/wireless.png"
theme.icon_wired = "/home/maxime/.config/awesome/themes/Maxime/img/wired.png"
theme.icon_nonetwork = "/home/maxime/.config/awesome/themes/Maxime/img/nonetwork.png"

return theme
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80

Hors ligne

#2 05-02-2013 19:45:55

IceF0x
#! Gourou Linux

Re : Ma config awesome v3.5

Merci pour cette contribution qui me rappelle de créer une section lua dans la catégorie programming.


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

Pied de page des forums