Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/05/2010, à 16:32

Rolinh

[awesome]installation et configuration (surtout config :P )

Topic lancé suite à cela: http://forum.ubuntu-fr.org/viewtopic.php?pid=3512674#p3512674

But: installer et configuer awesome wink

Hors ligne

#2 Le 29/05/2010, à 16:35

Rolinh

Re : [awesome]installation et configuration (surtout config :P )

Donc comme je le disais:

@Kookaburra: installe déjà awesome wink

Ensuite, même si tu l'utilises pas encore, tu pourras aller voir dans /etc/xdg/awesome et tu verras le rc.lua par défaut. Après, il faut que tu fasses:

mkdir ~/.config/awesome
cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua

et ça peut être aussi utile de récupérer ceux-là (thème etc):

cp -R /usr/share/awesome/* ~/.config/awesome

ça ne te coûte rien d'essayer wink
Et tu peux toujours revenir sur tes autres sessions sans soucis au cas où...

Hors ligne

#3 Le 29/05/2010, à 16:37

Rolinh

Re : [awesome]installation et configuration (surtout config :P )

wlourf a écrit :

Je l'ai installé sur un Karmic (sur Jaunty, ça ne marchait pas, mauvaise version de cmake, et je suis pas encore passé au Lynx) et je voulais la version 3, bref, ...
c'est assez déroutant au début, les raccourcis claviers habituels ne fonctionnent pas Alt+Tab, Super F1, F2 ... et le fichier de config par défaut fait ... 436 lignes, donc toi qui maitrise Sherwood, si tu as de bons liens dans tes signets je suis preneur!

@Kookaburra Pour le Lua, ce n'est pas compliqué (je trouve) et la doc est vraiment bien faite http://www.lua.org/manual/5.1/index.html#index
et comme dit sur la doc de awesome :

While awesome 3 was originally conceptualized and developed for power users with some computer science background, many current users only learned Lua for and by using awesome

j'ai appris Lua pour utiliser conky il y a 6 mois et au bout de quelques semaines j'obtenais de beaux résultats (enfin, des résultats à mon goût), pourtant il me reste beaucoup de choses à apprendre !

Faut pas se laisser impressionner par le fichier de conf wink
Le gros avantage d'awesome c'est que tout est commenté et bien.
Je fais une recherche dans mes liens et je post tout ça.

Dernière modification par Sherwood51 (Le 29/05/2010, à 16:40)

Hors ligne

#4 Le 29/05/2010, à 16:44

Rolinh

Re : [awesome]installation et configuration (surtout config :P )

Bon, déjà mon rc.lua:

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

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

-- This is used later as the default terminal and editor to run.
--terminal = "xterm"
terminal = "urxvtc"
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.
layouts =
{
    awful.layout.suit.floating,
    awful.layout.suit.tile,
    awful.layout.suit.tile.left,
    awful.layout.suit.tile.bottom,
    awful.layout.suit.tile.top,
    awful.layout.suit.fair,
    awful.layout.suit.fair.horizontal,
    awful.layout.suit.spiral,
    awful.layout.suit.spiral.dwindle,
    awful.layout.suit.max,
    awful.layout.suit.max.fullscreen,
    awful.layout.suit.magnifier
}
-- }}}

-- {{{ Tags
-- Define a tag table which hold all screen tags.
tags = {}
for s = 1, screen.count() do
    -- Each screen has its own tag table.
    tags[s] = awful.tag({ "sec", "main","dev", "web","chat", "music" }, s, layouts[1])
end
-- }}}

-- {{{ Menu
-- Create a laucher widget and a main menu
myawesomemenu = {
   { "manual", terminal .. " -e man awesome" },
   { "edit config", editor_cmd .. " " .. awful.util.getdir("config") .. "/rc.lua" },
   { "restart", awesome.restart },
   { "quit", awesome.quit }
}

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

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

-- {{{ Wibox

-- Create CPU Temp Widget

function activecputemp()
	local temp

	for line in io.lines("/proc/acpi/thermal_zone/THM/temperature") do
		temp = string.match(line, "temperature:\ +(%d+)")
	end

	return temp
end

cputemp = widget({ type = "textbox" , name = "cputemp" })

-- Assign a hook to update temperature
awful.hooks.timer.register(1, function() cputemp.text = "| CPU° " .. activecputemp() .. " °C | " end)
	
-- Create a battery status Widget

function activebat()
	local stat_actu, stat_tot, res

	for line in io.lines("/proc/acpi/battery/BAT0/state") do
		local status  =  string.match(line, "remaining capacity:\ +(%d+)")
		if status then
			stat_actu = status
		end
	end

	stat_tot = 5982;
	res = string.format("%.2f ", (stat_actu/stat_tot) * 100);

	if ((stat_actu/stat_tot) * 100)  < 10 then 
		res = '<span color="red">' .. res .. '</span>'
	elseif	((stat_actu/stat_tot) * 100) < 20 then
		res = '<span color="orange">' .. res .. '</span>'
	elseif  ((stat_actu/stat_tot) * 100)  < 30 then 
		res = '<span color="yellow">' .. res .. '</span>'
	else 
		res = '<span color="green">' .. res .. '</span>'
	end


	return res 
end

batinfo = widget({ type = "textbox" , name = "batinfo" })

-- Assign a hook to update info
awful.hooks.timer.register(1, function() batinfo.text = "BAT: " .. activebat() .. "% | " end)

-- Create a RAM widget giving the MB used by the RAM

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
	end

	return string.format("%.2fMB", (active/1024))
end

meminfo = widget({ type = "textbox", name = "meminfo" })

-- Assign a hook to update info
awful.hooks.timer.register(1, function() meminfo.text = activeram() .. " | "  end)


-- Create a CPU widget
jiffies = {}
function activecpu()
	local s = ""
	
	for line in io.lines("/proc/stat") do
		local cpu,newjiffies = string.match(line, "(cpu%d*)\ +(%d+)")
		if cpu and newjiffies then
			if not jiffies[cpu] then
				jiffies[cpu] = newjiffies
			end
			-- The string.format prevents your task list from jumping around
			-- When CPU usage goes above/below 10%
			s = s .. " " .. cpu .. ": " .. string.format("%02d", newjiffies-jiffies[cpu]) .. "% "
			jiffies[cpu] = newjiffies
		end
	end
	
	return s
end

cpuinfo = widget({ type = "textbox", name = "cpuinfo" })
-- register the hook to update the display
awful.hooks.timer.register(1, function() cpuinfo.text = activecpu() .. " | " end)


-- Create a textclock widget
mytextclock = awful.widget.textclock({ align = "right" })

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

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

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

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

    -- Create the wibox
    mywibox[s] = awful.wibox({ position = "top", screen = s })
    -- Add widgets to the wibox - order matters
    mywibox[s].widgets = {
        {
            mylauncher,
            mytaglist[s],
            mypromptbox[s],
            layout = awful.widget.layout.horizontal.leftright
        },
        mylayoutbox[s],
        s == 1 and mysystray or nil,
        mytextclock,
	cpuinfo,
	meminfo,
	batinfo,
	cputemp,
        mytasklist[s],
        layout = awful.widget.layout.horizontal.rightleft
    }
end
-- }}}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-- {{{ Signals
-- Signal function to execute when a new client appears.
client.add_signal("manage", function (c, startup)
    -- Add a titlebar
    -- awful.titlebar.add(c, { modkey = modkey })

    -- Enable sloppy focus
    c:add_signal("mouse::enter", function(c)
        if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
            and awful.client.focus.filter(c) then
            client.focus = c
        end
    end)

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

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

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


awful.util.spawn('wicd-client')
awful.util.spawn('kmix')

Hors ligne

#5 Le 29/05/2010, à 17:17

wlourf

Re : [awesome]installation et configuration (surtout config :P )

Sherwood51 a écrit :

Donc comme je le disais:

@Kookaburra: installe déjà awesome wink

Ensuite, même si tu l'utilises pas encore, tu pourras aller voir dans /etc/xdg/awesome et tu verras le rc.lua par défaut. Après, il faut que tu fasses:

mkdir ~/.config/awesome
cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua

et ça peut être aussi utile de récupérer ceux-là (thème etc):

cp -R /usr/share/awesome/* ~/.config/awesome

ça ne te coûte rien d'essayer wink
Et tu peux toujours revenir sur tes autres sessions sans soucis au cas où...

Un truc à savoir aussi au début , pour quitter awesome : Shift + Super + Q

Et après avoir copié les thèmes dans .config, on peut remplacer dans rc.lua /usr/share/awesome par /home/wlourf/.config/awesome et non pas par ~/.config/awesome sinon awesome ne démarrera pas et on est bon pour un  Alt+Syst+k !
Dans le fichier theme.lua, on peut modifier son fond d'écran à la ligne theme.wallpaper_cmd, voilà une bonne chose de faite !:lol: on peut même utiliser feh comme commande pour ça !

Par contre, j'ai remarqué que dans le fichier theme.lua c'est la seule ligne à rentrer entre accolades, et les accolades en Lua, signifie une liste, sais-tu pourquoi on doit utiliser ces accolades sherwood ?

Bon, je m'égare, je retourne vers le rc.lua dès demain, a+

Hors ligne

#6 Le 30/05/2010, à 15:47

maman

Re : [awesome]installation et configuration (surtout config :P )

bonjour,
un tuto très bien fait pour la config d'awesome.
http://forum.malekal.com/awesome-window-manager-t21608.html

@+


90% of teens today would die if Facebook was completely destroyed. If you are one of the 10% that would be laughing, copy and paste this to your signature.

Hors ligne

#7 Le 30/05/2010, à 16:01

wlourf

Re : [awesome]installation et configuration (surtout config :P )

Bonjour, merci pour le lien

J'ai un petit souci, je croyais à une erreur de manip mais j'ai désinstallé awesome et supprimé le dossier ~/.config/awesome puis réinstallé et copié le rc.lua par défaut, mais le problème persiste : quand je lance gedit, il s'affiche sur tous les bureaux, si j'utilise dans rc.lua :

use_titlebar = true

je vois que le symbole + est vert, et si je clique sur ce +, gedit disparait de l'affichage mais est encore actif. Vous voyez d'où ça peut venir ?

Edit : j'ai viré le fichier ~/.gnome2/gedit/gedit-2 et tout est rentré dans l'ordre !

Dernière modification par wlourf (Le 30/05/2010, à 22:34)

Hors ligne

#8 Le 30/05/2010, à 23:17

Kookaburra

Re : [awesome]installation et configuration (surtout config :P )

Bon, faut vraiment que je testes ça, il est installé, j'y est fait un tour mais la config par défaut, c'est pas ça lol

Je m'abonne à ce topic, cool tongue


Portable17p : CrunchBangLinux // EeePC : ArchLinux
Openbox Addict : http://kookadimi.deviantart.com
Mes photos : http://www.fluidr.com/photos/kookadimi/sets
Votre téléphone mobile dispose de plus de puissance que l'ensemble des ordinateurs de la NASA en 1969. La NASA a lancé un homme sur la Lune. Vous lancez un oiseau sur des cochons...

Hors ligne

#9 Le 04/06/2010, à 20:26

wlourf

Re : [awesome]installation et configuration (surtout config :P )

Bonjour,
Une petite question, je n'arrive pas à nommer les tags, la table par défaut est celle-ci :

-- {{{ 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, 9 do
        tags[s][tagnumber] = tag(tagnumber)
        -- Add tags to screen one by one
        tags[s][tagnumber].screen = s
        awful.layout.set(layouts[1], tags[s][tagnumber])
    end
    -- I'm sure you want to see at least one tag.
    tags[s][1].selected = true
end
-- }}}

si je la remplace par celle de Sherwood

-- {{{ 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({ "sec", "main","dev", "web","chat", "music" }, s, layouts[1])
end
-- }}}

.. ben ça marche pas ! même si je rajoute ensuite

 tags[s][1].selected = true

je me retrouve avec juste le fond d'écran.
D'ailleurs je fais Alt+Syst+k pour redémarrer  sous une autre session pour corriger rc.lua. Il y a moyen de tester son rc.lua sans tout bloquer quand ça marche pas ?

Edit : passage à la dernière version 3.4.3, ça va nettement mieux ! j'ai pu nommer les tags

Dernière modification par wlourf (Le 05/06/2010, à 07:40)

Hors ligne

#10 Le 07/06/2010, à 15:12

Rolinh

Re : [awesome]installation et configuration (surtout config :P )

Tu es sûr Ubuntu? De quelle version d'awesome disposes-tu?

Sinon, c'est quoi comme config par défaut? Parce que celle de la version d'awesome inclue dans Ubuntu est patchée Debian... Donc il y a des différences par rapport à une version vanilla d'awesome. Quoiqu'il en soit, j'ai comparé mon rc.lua avec le rc.lua par défaut d'Ubuntu et, à part le nom des tags, c'est exactement le même que ma version donc je ne sais pas d'où tu sors ta config...

Ah, je viens seulement de voir ton edit wink

Sinon, pour ton autre question, tu peux toujours lancer une console (ctrl+alt+f1) et modifier ton rc.lua avec vim (ou nano ou peu importe).
Le mieux, c'est de faire une copie de ton rc.lua et en cas de truc moisis tu n'as qu'à faire par exemple mv rc.lua_backup rc.lua wink

Hors ligne

#11 Le 07/06/2010, à 22:33

wlourf

Re : [awesome]installation et configuration (surtout config :P )

Merci pour ta réponse, je viens de passer sur ubuntu 10.04 et apparemment maintenant, quand le rc.lua n'est pas bon,awesome démarre avec le rc.lua par défaut.

Comme je ne suis pas très à l'aise avec nano j'avais trouvé une autre façon de tester rc.lua, je démarre ubuntu avec une session xterm qui me permet d'ouvrir gedit, et de lancer awesome en console, ce qui m'affiche les éventuelles erreurs, par contre la console dans la session xterm ne s'affiche que dans une petite fenêtre en haut à gauche et je ne sais pas régler la taille.

J'ai pas fini de le configurer mais c'est déjà très agréable à utiliser sur un petit écran !

Hors ligne

#12 Le 07/06/2010, à 22:43

Rolinh

Re : [awesome]installation et configuration (surtout config :P )

J'avoue que je ne suis pas sûr de ce que tu fais...
Ne pas confondre terminal et console --> le terminal est une émulation de console. Cette dernière fonctionne sans X donc sans interface graphique mais ce n'est pas le cas d'un émulateur de terminal (genre konsole ou gnome-terminal).

C'est sûr que c'est pas mal sur un petit écran wink

Hors ligne

#13 Le 07/06/2010, à 22:46

Kanor

Re : [awesome]installation et configuration (surtout config :P )

J'ai un awesome à configuré aussi je garde ce topic sous le coude

Hors ligne

#14 Le 10/06/2010, à 20:41

wlourf

Re : [awesome]installation et configuration (surtout config :P )

Sherwood51 a écrit :

J'avoue que je ne suis pas sûr de ce que tu fais...
Ne pas confondre terminal et console --> le terminal est une émulation de console. Cette dernière fonctionne sans X donc sans interface graphique mais ce n'est pas le cas d'un émulateur de terminal (genre konsole ou gnome-terminal).

C'est sûr que c'est pas mal sur un petit écran wink

en fait, dans le sélecteur de session de Gnome, j'ai la session xterm et c'est ça que j'utilise, un terminal sous X, bref ... voici d'autres interrogations :

Je voudrais lier gnome-screenshot à la touche "Imprim. Ecran", j'essaye avec ça mais ça ne marche pas:

awful.key({ modkey,           }, "Print",	 function () awful.util.spawn("gnome-screenshot") end),

sev me donne ça pour la touche "Imprim. Ecran":

KeyPress event, serial 28, synthetic NO, window 0x1200001,
    root 0x112, subw 0x0, time 2832326, (174,192), root:(175,218),
    state 0x0, keycode 107 (keysym 0xff61, Print), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 28, synthetic NO, window 0x1200001,
    root 0x112, subw 0x0, time 2832387, (174,192), root:(175,218),
    state 0x0, keycode 107 (keysym 0xff61, Print), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Peut-on combiner la ModKey avec la touche "Alt" ? Cette ligne ne fonctionne pas

awful.key({ modkey, "Alt"          }, "g",	 function () awful.util.spawn("gedit") end),

Et enfin, à quoi sert la fonction Run Lua Code (ModKey + x) .

Après les questions, une petite idée ! J'ai déplacé la partie qui créé le menu dans un fichier à part "menu.lua" et j'ai remplacé cette partie dans rc.lua par

dofile ("/home/wlourf/.config/awesome/menu.lua")

je trouve ça plus facile pour modifier le menu rapidement (appelé par un élément de menu par exemple) même si je ne fais pas ça tous les jours wink

Hors ligne

#15 Le 16/06/2010, à 20:08

aleks

Re : [awesome]installation et configuration (surtout config :P )

TROLL : DWM c'est 2x plus simple à configurer.

Le seul réel problème avec awesome c'est que la syntaxe change à chaque nouvelle version.

Hors ligne

#16 Le 16/06/2010, à 21:16

Rolinh

Re : [awesome]installation et configuration (surtout config :P )

@aleks: j'avoue... Le dév principal aime bien le changement...

@wlourf: désolé, j'avais complétement zappé ton post! (exas toussa...)

Pour l'histoire de la touche d'impression écran, faudrait que je me penche un peu dessus pour voi mais je n'ai pas trop le temps en ce moment mais essaye toujours de remplacer par des simples quotes wink --> 'gnome-screenshot'  et pareil pour 'gedit'

Je ne pense pas qu'il y ait de conflits entre la touche Modkey et Alt (regarde du côté de 'gedit')

Hors ligne

#17 Le 07/09/2010, à 13:47

Rolinh

Re : [awesome]installation et configuration (surtout config :P )

J'ai commencé la réécriture complète de la documentation.
Si l'un d'entre vous se sent l'envie de me donner un coup de main, qu'il se manifeste wink

@Kookaburra: tu as testé un peu plus en profondeur finalement?

Hors ligne

#18 Le 07/09/2010, à 16:05

Rolinh

Re : [awesome]installation et configuration (surtout config :P )

Bon, voilà, j'ai déjà bien avancé. Je rajouterais peut-être des trucs au fur et à mesure.

Si quelqu'un pouvait y jeter un oeil et me faire part de ses remarques/critiques ou me signaler des erreurs ça serait bienvenue.

Et si quelqu'un veut tester un peu les widgets et tout ça, ça m'arrangerait pour le cas où j'aurais oublié de mentionner quelque chose.

EDIT: la page de la doc --> awesome

Dernière modification par Sherwood51 (Le 07/09/2010, à 16:11)

Hors ligne

#19 Le 25/11/2010, à 00:18

wlourf

Re : [awesome]installation et configuration (surtout config :P )

merci pour la doc, sherwood,
voilà que je recommence la configuration de awesome, j'espère que j'irai jusqu'au bout cette fois !
je voudrais garder mes habitudes de vieux garçon, c'est à dire utiliser les mêmes raccourcis que j'utilise avec OpenBox, ça va à peu près sauf que je n'arrive pas à utiliser la touche Alt, c'est "Alt", "Alt_L", "Alt_R"? rien ne fonctionne !

Merci !

Hors ligne

#20 Le 25/11/2010, à 08:26

Rolinh

Re : [awesome]installation et configuration (surtout config :P )

Salut,

il me semble que c'est "Mod1".

tu peux faire comme ceci normalement:

alt = "Mod1"

Ce qui rend plus clair quand tu fais appel à Alt après:

-- Awesome Quit/Restart
awul.key({ modkey, alt }, "r", awesome.restart),
awful.key({ modkey, alt }, "q", awesome.quit),
(...)

Hors ligne

#21 Le 25/11/2010, à 10:26

wlourf

Re : [awesome]installation et configuration (surtout config :P )

merci, c'était bien ça!
pendant qu'on est sur quit/restart, sais-tu s'il existe un script demandant confirmation avant de quitter, du genre openbox-logout qui affiche une demande de confrmation avec les messages "Eteindre/Redémarrer/Déconnexion/Annuler".
Si je m'inspire du script ci-dessus, il me manque juste la partie pour quitter awesome en ligne de commande

awesome --quit

ne fonctionne pas bien sûr, d'ailleurs awesome --help me l'avait bien dit !
Tu as une idée ?

Hors ligne

#22 Le 25/11/2010, à 12:47

Rolinh

Re : [awesome]installation et configuration (surtout config :P )

Oui.

Pour le cas du logout, tu passes cette commande:

# Logout
def logout(self, widget):
        os.system("echo 'awesome.quit()' | awesome-client")

Il me semble que ça devrait marcher wink

Hors ligne

#23 Le 26/11/2010, à 18:02

wlourf

Re : [awesome]installation et configuration (surtout config :P )

woo, trop fort !
allez je continue ma transition, voici une question plus dure! Avec awesome, sais-tu si on peut combiner des touches comme avec Openbox et son keychain http://openbox.org/wiki/Help:Bindings#T … ain_dialog
Exemple, je tape
- Super+A puis ensuite B, on ouvre une application
- Super+A puis ensuite C, on ouvre une autre application
Sur le wiki d'awesome, je n'ai rien trouvé (sauf un truc en italien) et je te dis pas les résultats de google si je recherche awesome + keychain

Edit : bon, pour ce qui est ci-dessus , ce n'est pas grave, j'ai modifier ma façon de faire.

Sinon, j'ai essayé quelques-uns de tes widgets sherwood, le volume fonctionne sans problème, pour le meminfo aussi (j'ai juste rajouté un oubli de cat à "cat /proc/meminfo | grep MemTotal" dans la doc) ainsi que pour le cpuinfo. Pour le cpuTemp, acpi ne me donne pas d'infos, j'essairai avec sensors plus tard. Les autres je ne les ai pas testés car ils n'auraient pas foncionné avec mon système. En tous cas merci pour ces widgets, je vois un peu mieux comment ils fonctionnent.
J'essaierai d'ajouter un exemple de widget graphique dans la doc plus tard (graph + progressbar)

ReEdit : il y a là un exemple de dialogue de fermeture : http://awesome.naquadah.org/wiki/ShutdownDialog fonctionnant avec zenity

Dernière modification par wlourf (Le 27/11/2010, à 00:51)

Hors ligne

#24 Le 27/11/2010, à 11:19

Rolinh

Re : [awesome]installation et configuration (surtout config :P )

wlourf a écrit :

woo, trop fort !

wink

wlourf a écrit :

allez je continue ma transition, voici une question plus dure! Avec awesome, sais-tu si on peut combiner des touches comme avec Openbox et son keychain http://openbox.org/wiki/Help:Bindings#T … ain_dialog
Exemple, je tape
- Super+A puis ensuite B, on ouvre une application
- Super+A puis ensuite C, on ouvre une autre application
Sur le wiki d'awesome, je n'ai rien trouvé (sauf un truc en italien) et je te dis pas les résultats de google si je recherche awesome + keychain

faudrait que je me penche dessus parce que là tout de suite je ne vois pas trop.

wlourf a écrit :

pour le meminfo aussi (j'ai juste rajouté un oubli de cat à "cat /proc/meminfo | grep MemTotal" dans la doc)

Non, ce n'était pas un oubli wink

cat /proc/meminfo | grep MemTotal

Cat est l'abbréviation de catenate. Normalement, on devrait l'utiliser pour afficher plusieurs fichiers bout-à-bout.
Ce que j'avais mis marche parfaitement:

< /proc/meminfo | grep MemTotal

Le chevron dans ce sens veut dire que l'on redirige la sortie de ce qui est à droite dans la sortie courante (stdout). Donc le résultat produit est exactement le même qu'avec cat. Seulement, peu de monde utilise cette méthode dans la pratique car un chevron dans l'autre sens veut dire que l'on redirige la sortie courante (dans notre cas ici, rien) dans le fichier ce qui a pour cause... d'effacer le contenu du fichier. Mais ici aucun risque, on est dans des fichiers appartenant à root et le chevron était bien dans le bon sens wink
Un petit exemple de redirection et ça sera peut-être plus clair:

ls -ll > foo

On a redirigé la sortie de ls -ll dans le fichier foo. Tu peux t'en assurer en faisant:

cat foo

OU

< foo

En revanche, si tu fais

> foo

tu va effacer le contenu de foo sauf que la commande restera en suspend.
Pour vider proprement ton fichier, tu voudrais plutôt faire cela:

: > foo

: étant la commande qui ne fait rien.

Plus clair? Fais le test wink


wlourf a écrit :

En tous cas merci pour ces widgets, je vois un peu mieux comment ils fonctionnent.
J'essaierai d'ajouter un exemple de widget graphique dans la doc plus tard (graph + progressbar)

smile
je vais aussi voir pour en rajouter encore un pour mpd. Un pote à moi qui a écrit un petit client mpd en lua et qui s'intègre super bien avec awesome.

Hors ligne

#25 Le 27/11/2010, à 14:52

wlourf

Re : [awesome]installation et configuration (surtout config :P )

petit problème, la méthode avec "<" ne fonctionne pas chez moi, j'ai essayé avec Crunchbang 10 (Debian squeeze) et avec ubuntu 10.10, rien à faire ... rien ne s'affiche !

Dernière modification par wlourf (Le 27/11/2010, à 14:53)

Hors ligne