Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Dernière révision Les deux révisions suivantes | ||
awesome [Le 06/02/2012, 14:31] rolinh suppression exemple rc.lua |
awesome [Le 01/09/2022, 00:02] moths-art Passage de http à https sur les liens externes (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 10: | Ligne 10: | ||
- | Dans sa conception, awesome ressemble assez à [[http://fr.wikipedia.org/wiki/Ion_(logiciel)|ion]] ou encore [[wmii|Wmii]] . | + | Dans sa conception, awesome ressemble assez à [[https://fr.wikipedia.org/wiki/Ion_(logiciel)|ion]] ou encore [[wmii|Wmii]] . |
Ligne 25: | Ligne 25: | ||
===== Installation ===== | ===== Installation ===== | ||
+ | |||
+ | <note important>Il existe un dépôt PPA contenant la dernière version. Pour Installer awesome depuis ce dépôt : | ||
+ | <code>sudo add-apt-repository ppa:klaus-vormweg/awesome && sudo apt-get update && sudo apt-get install awesome</code></note> | ||
Awesome se trouve déjà dans les dépôts officiels. | Awesome se trouve déjà dans les dépôts officiels. | ||
Il suffit d’[[:tutoriel:comment_installer_un_paquet|installer les paquets]] **[[apt://awesome|awesome]] et [[apt://awesome-extra|awesome-extra]]**. | Il suffit d’[[:tutoriel:comment_installer_un_paquet|installer les paquets]] **[[apt://awesome|awesome]] et [[apt://awesome-extra|awesome-extra]]**. | ||
- | le paquet **awesome-extra** fournit de nombreux //widgets// supplémentaires | + | Le paquet **awesome-extra** fournit de nombreux //widgets// supplémentaires |
(l'usage de la mémoire, la vitesse bande passante, etc ). | (l'usage de la mémoire, la vitesse bande passante, etc ). | ||
- | |||
- | La compilation (fastidieuse) de awesone n'est utile que pour ceux qui ont réellement besoin de la toute dernière version. | ||
- | |||
- | |||
==== En compilant les sources ==== | ==== En compilant les sources ==== | ||
Ligne 53: | Ligne 52: | ||
=====Configuration Version 3 (Karmic et ultérieur) ===== | =====Configuration Version 3 (Karmic et ultérieur) ===== | ||
- | La syntaxe du fichier de configuration a complètement changé avec la version 3 d'Awesome. Celui-ci utilise désormais le langage [[http://fr.wikipedia.org/wiki/Lua|lua]], ce qui facilite grandement la personnalisation. | + | La syntaxe du fichier de configuration a complètement changé avec la version 3 d'Awesome. Celui-ci utilise désormais le langage [[https://fr.wikipedia.org/wiki/Lua|lua]], ce qui facilite grandement la personnalisation. |
En effet, un des intérêts principaux d'Awesome est de se forger un environnement entièrement personnalisé et dans lequel on se sent à l'aise et productif. | En effet, un des intérêts principaux d'Awesome est de se forger un environnement entièrement personnalisé et dans lequel on se sent à l'aise et productif. | ||
Ligne 69: | Ligne 68: | ||
Il faut commencer par créer le dossier qui contiendra les fichiers de configuration dans le home: | Il faut commencer par créer le dossier qui contiendra les fichiers de configuration dans le home: | ||
<code>mkdir ~/.config/awesome</code> | <code>mkdir ~/.config/awesome</code> | ||
- | Ensuite, afin d'avoir une base, on copie de le fichier de configuration par défaut: | + | Ensuite, afin d'avoir une base, on copie le fichier de configuration par défaut: |
<code>cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua</code> | <code>cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua</code> | ||
Il est aussi possible de copier le fichier de thème afin de les personnaliser: | Il est aussi possible de copier le fichier de thème afin de les personnaliser: | ||
Ligne 77: | Ligne 76: | ||
==== Raccourcis claviers ==== | ==== Raccourcis claviers ==== | ||
Les principaux sont les suivants: | Les principaux sont les suivants: | ||
- | * Meta = Touche Windows (entre Ctrl gauche et Alt) | + | * Super = Touche Windows (entre Ctrl gauche et Alt) |
- | * Meta + Entrer => ouvre un terminal | + | * Super + Entrer => ouvre un terminal |
- | * Meta + Fleche Droite => passer au bureau de droite | + | * Super + Flèche Droite => passer au bureau de droite |
- | * Meta + Fleche Gauche => passer au bureau de gauche | + | * Super + Flèche Gauche => passer au bureau de gauche |
- | * Meta + F1 => lanceur d'un manuel pour une application | + | * Super + F1 => lanceur d'un manuel pour une application |
Ligne 138: | Ligne 137: | ||
</note> | </note> | ||
- | ==== afficher la date et l'heure dans la version française ==== | + | ==== Afficher la date et l'heure dans la version française ==== |
Modifiez les lignes suivantes : | Modifiez les lignes suivantes : | ||
Ligne 144: | Ligne 143: | ||
<code lua> | <code lua> | ||
-- Create a textclock widget | -- Create a textclock widget | ||
- | mytextclock = awful.widget.textclock({ align = "right" })</code> | + | mytextclock = awful.widget.textclock()</code> |
par | par | ||
Ligne 151: | Ligne 150: | ||
-- Create a textclock widget | -- Create a textclock widget | ||
os.setlocale("fr_FR.UTF-8") -- Français | os.setlocale("fr_FR.UTF-8") -- Français | ||
- | mytextclock = awful.widget.textclock({ align = "right" }," %a %d %b %H:%M ")</code> | + | mytextclock = awful.widget.textclock(" %a %d %b %H:%M ", 60) |
+ | -- mytextclock = awful.widget.textclock(" %a %d %b, %H:%M:%S ", 1) si vous voulez afficher les secondes</code> | ||
Ligne 173: | Ligne 173: | ||
Les layouts (''layouts[2]'' par exemple) correspondent au layouts définit dans le tableau au dessus dans votre rc.lua. Ainsi, ''layouts[2]'' correspond au mode tile normal et layouts[1] correspond au mode float. Vous pouvez donc remplacer le numéro celui qui correspond à n'importe lequel des 12 layouts disponibles. Notez bien que les arrays ''names'' et ''layout'' doivent avoir la même taille! | Les layouts (''layouts[2]'' par exemple) correspondent au layouts définit dans le tableau au dessus dans votre rc.lua. Ainsi, ''layouts[2]'' correspond au mode tile normal et layouts[1] correspond au mode float. Vous pouvez donc remplacer le numéro celui qui correspond à n'importe lequel des 12 layouts disponibles. Notez bien que les arrays ''names'' et ''layout'' doivent avoir la même taille! | ||
- | ====Lancer des applications au demarrage==== | + | ====Lancer des applications au démarrage==== |
- | Pour lancer des applications au demarrage rien de plus simple, il suffit de rajouter cette ligne (en fin de fichier rc.lua) pour lancer nm-applet (applet de Network-Manager) | + | Pour lancer des applications au démarrage rien de plus simple, il suffit de rajouter cette ligne (en fin de fichier rc.lua) pour lancer nm-applet (applet de Network-Manager) |
<code>os.execute("nm-applet &")</code> | <code>os.execute("nm-applet &")</code> | ||
ou | ou | ||
<code>awful.util.spawn("nm-applet &")</code> | <code>awful.util.spawn("nm-applet &")</code> | ||
- | Bien evidemment ceci est valable pour tout les executables que vous voudriez lancer au demarrage :D | + | Bien évidemment ceci est valable pour tout les exécutables que vous voudriez lancer au démarrage :D |
+ | <note important>Cette fonctionnalité ne fonctionne pas sur la version 13.10 avec awful.util.spawn. Plus d'information sur la page de bug https://bugs.launchpad.net/ubuntu/+source/awesome/+bug/1176862</note> | ||
==== Ajouter des widgets ==== | ==== Ajouter des widgets ==== | ||
La zone de notification se situe par défaut en haut à droite, à côté de l'horloge. Il est très facile d'écrire des widgets en lua afin de, par exemple, afficher des notifications à propos de l'état de la batterie ou encore créer un applet de son. Cependant, si cela vous rebute, il y existe également des librairies de widgets toute prêtes dont l'utilisation est détaillée ci-dessous. | La zone de notification se situe par défaut en haut à droite, à côté de l'horloge. Il est très facile d'écrire des widgets en lua afin de, par exemple, afficher des notifications à propos de l'état de la batterie ou encore créer un applet de son. Cependant, si cela vous rebute, il y existe également des librairies de widgets toute prêtes dont l'utilisation est détaillée ci-dessous. | ||
=== Precious (Widgets de Rolinh) === | === Precious (Widgets de Rolinh) === | ||
- | <note important>Ces widgets ont été écrit pas mes soins et adapté à mes machines. Par conséquent, il est possible qu'il y ait quelques modifications mineures à apporter à certains de ces widgets afin qu'ils marchent correctement pour vous. Rien d'insurmontable cependant. Libre à vous également de les adapter/modifier comme bon vous semble! On peut les trouver dans ce [[http://git.rolinh.ch/?p=precious.git&a=summary|dépôt git]]. Il est prévu que je les améliore dans le futur afin de les rendre plus générique.</note> | + | <note important>Ces widgets ont été écrit pas mes soins et adapté à mes machines. Par conséquent, il est possible qu'il y ait quelques modifications mineures à apporter à certains de ces widgets afin qu'ils marchent correctement pour vous. Rien d'insurmontable cependant. Libre à vous également de les adapter/modifier comme bon vous semble! On peut les trouver dans ce [[http://projects.gw-computing.net/projects/precious/repository|dépôt git]]. Il est prévu que je les améliore dans le futur afin de les rendre plus générique.</note> |
+ | <note warning>Depuis la version 3.5 (sortie en décembre 2012), les API Awesome pour les widgets ont complétement changés. Étant donné que Precious souffre également du manque d'une couche d'abstraction pour récupérer les informations nécessaires aux widgets, je ne vais pas fournir l'effort d'adapter les widgets à Awesome 3.5 (pour le moment en tout cas). La librairie Vicious fonctionne avec Awesome 3.5 et constiture à mon avis une bonne alternative.</note> | ||
Pour avoir une idée de ce à quoi cela peut ressembler, voici une capture de la zone de widget: | Pour avoir une idée de ce à quoi cela peut ressembler, voici une capture de la zone de widget: | ||
Ligne 191: | Ligne 193: | ||
{{:awesomewmapplet.png|}} | {{:awesomewmapplet.png|}} | ||
- | Il est à noter cependant qu'il est fort possible, voir très probable, qu'ils aient changés / évolués et que d'autres soient apparus depuis le temps de la capture d'écran. | + | Il est à noter cependant qu'il est fort possible, voire très probable, qu'ils aient changé / évolué et que d'autres soient apparus depuis le temps de la capture d'écran. |
- | Ajouter des widgets peut se faire de plusieurs manières, la plus simple étant de copier le code d'un widget directement dans votre rc.lua. En revanche, cette méthode n'est pas recomandée car si des mises-à-jours sont apportées aux widgets, vous devrez recommencer le processus sans compter que vous ne serez pas forcément au courant des mises-à-jour. | + | Ajouter des widgets peut se faire de plusieurs manières, la plus simple étant de copier le code d'un widget directement dans votre rc.lua. En revanche, cette méthode n'est pas recommandée car si des mises-à-jours sont apportées aux widgets, vous devrez recommencer le processus sans compter que vous ne serez pas forcément au courant des mises-à-jour. |
La méthode recommandée consiste donc à cloner le dépôt [[git|git]] dans votre dossier awesome. Pour cela, il vous faut bien sûr que git soit installé sur votre machine. | La méthode recommandée consiste donc à cloner le dépôt [[git|git]] dans votre dossier awesome. Pour cela, il vous faut bien sûr que git soit installé sur votre machine. | ||
Une fois que vous l'aurez cloné, la mise.à-jour des widgets se fera simplement à l'aide d'une commande. Alors, elle n'est pas belle la vie? | Une fois que vous l'aurez cloné, la mise.à-jour des widgets se fera simplement à l'aide d'une commande. Alors, elle n'est pas belle la vie? | ||
Ligne 280: | Ligne 282: | ||
=== Applet d'indication de l'état de la batterie === | === Applet d'indication de l'état de la batterie === | ||
Cet applet n'est utile que pour ceux qui utilisent un ordinateur portable ;-) | Cet applet n'est utile que pour ceux qui utilisent un ordinateur portable ;-) | ||
+ | |||
+ | {{:precious-battery.png|}} | ||
+ | |||
+ | Les informations détaillées ne sont affichées qu'au survol de l'applet (en haut à gauche sur l'image) avec la souris. | ||
<note important>Si le widget ne fonctionne pas, il faut vérifier le numéro de la batterie pour le remplacer dans le code de battery.lua. Pour cela, allez faire un tour dans ''/proc/acpi/battery'' et vérifiez si c'est dans BAT0 ou BAT1 qu'il y a les infos. Chez moi, les infos sont dans BAT0 mais si chez vous c'est dans BAT1 il faut alors remplacer en conséquence la première ligne dans le widget (battery.lua).</note> | <note important>Si le widget ne fonctionne pas, il faut vérifier le numéro de la batterie pour le remplacer dans le code de battery.lua. Pour cela, allez faire un tour dans ''/proc/acpi/battery'' et vérifiez si c'est dans BAT0 ou BAT1 qu'il y a les infos. Chez moi, les infos sont dans BAT0 mais si chez vous c'est dans BAT1 il faut alors remplacer en conséquence la première ligne dans le widget (battery.lua).</note> | ||
Il suffit d'include le widget: | Il suffit d'include le widget: | ||
Ligne 288: | Ligne 294: | ||
=== Applet d'indication de l'état d'utilisation de la mémoire RAM === | === Applet d'indication de l'état d'utilisation de la mémoire RAM === | ||
- | Comme je ne vais pas chercher la taille de votre mémoire RAM automatiquement (ce n'est pas quelque chose qui change souvent :-P ), il faut juste indiquer le total correspondant (chez moi c'est 2056100). | + | Comme d'habitude: |
- | Pour savoir la quantité exact de RAM, utilisez cette commande: | + | <code lua> |
- | <code>cat /proc/meminfo | grep MemTotal</code> | + | require("precious.ram") |
- | <code lua>-- Create a RAM widget giving the MB used by the RAM | + | </code> |
- | -- declare memtot for reuse below | + | |
- | memtot = 2056100 | + | |
- | function activeram() | + | Et il faut aussi ajouter ''meminfo'' dans la wibox. |
- | local active, ramusg, res | + | |
- | + | ||
- | 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 | + | |
- | + | ||
- | ramusg = (active/memtot)*100 | + | |
- | + | ||
- | res = string.format("%.2f", (active/1024)) | + | |
- | + | ||
- | if ramusg < 51 then | + | |
- | res = '<span color="green">' .. res .. '</span>MB (<span color="green">' .. string.format("%.2f",ramusg) .. '</span>%)' | + | |
- | elseif ramusg < 71 then | + | |
- | res = '<span color="yellow">' .. res .. '</span>MB (<span color="green">' .. string.format("%.2f",ramusg) .. '</span>%)' | + | |
- | elseif ramusg < 86 then | + | |
- | res = '<span color="orange">' .. res .. '</span>MB (<span color="green">' .. string.format("%.2f",ramusg) .. '</span>%)' | + | |
- | else | + | |
- | res = '<span color="red">' .. res .. '</span>MB (<span color="green">' .. string.format("%.2f",ramusg) .. '</span>%)' | + | |
- | end | + | |
- | return res | + | === Applet du taux d'utilisation du CPU et de sa température === |
- | end | + | <code lua> |
- | + | require("precious.cpu") | |
- | meminfo = widget({ type = "textbox", name = "meminfo" }) | + | |
- | + | ||
- | -- Assign a hook to update info | + | |
- | meminfo_timer = timer({timeout = 1}) | + | |
- | meminfo_timer:add_signal("timeout", function() meminfo.text = activeram() .. " | " end) | + | |
- | meminfo_timer:start() | + | |
</code> | </code> | ||
- | Et de nouveau, il faut ajouter ''meminfo'' dans la wibox. | ||
- | |||
- | === Applet du taux d'utilisation du CPU et de sa température === | ||
- | <code lua>-- Create a CPU widget | ||
- | jiffies = {} | ||
- | function activecpu() | ||
- | local s, str | ||
- | |||
- | for line in io.lines("/proc/stat") do | ||
- | local cpu,newjiffies = string.match(line, "(cpu)\ +(%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% | ||
- | str = string.format("%02d", newjiffies-jiffies[cpu]) | ||
- | |||
- | if str < "31" then | ||
- | str = '<span color="green">' .. str .. '</span>' | ||
- | elseif str < "51" then | ||
- | str = '<span color="yellow">' .. str .. '</span>' | ||
- | elseif str < "70" then | ||
- | str = '<span color="orange">' .. str .. '</span>' | ||
- | else | ||
- | str = '<span color="red">' .. str .. '</span>' | ||
- | end | ||
- | |||
- | s = '| CPU: ' .. str .. '% ' | ||
- | jiffies[cpu] = newjiffies | ||
- | end | ||
- | end | ||
- | |||
- | return s | ||
- | end | ||
- | |||
- | cpuinfo = widget({ type = "textbox", name = "cpuinfo" }) | ||
- | -- register the hook to update the display | ||
- | cpuinfo_timer = timer({timeout = 1}) | ||
- | cpuinfo_timer:add_signal("timeout", function() cpuinfo.text = activecpu() end) | ||
- | cpuinfo_timer:start() | ||
- | |||
- | -- Create CPU Temp Widget | ||
- | function activecputemp() | ||
- | local temp | ||
- | |||
- | io.input("/sys/bus/acpi/devices/LNXTHERM\:00/thermal_zone/temp") | ||
- | temp = io.read("*number")/1000 | ||
- | |||
- | if temp < 46 then | ||
- | temp = '<span color="turquoise">' .. temp .. '</span>' | ||
- | elseif temp < 61 then | ||
- | temp = '<span color="yellow">' .. temp .. '</span>' | ||
- | elseif temp < 76 then | ||
- | temp = '<span color="orange">' .. temp .. '</span>' | ||
- | else | ||
- | temp = '<span color="red">' .. temp .. '</span>' | ||
- | end | ||
- | |||
- | return temp | ||
- | end | ||
- | |||
- | cputemp = widget({ type = "textbox" , name = "cputemp" }) | ||
- | |||
- | -- Assign a hook to update temperature | ||
- | -- awful.hooks.timer.register(1, function() cputemp.text = "@ " .. activecputemp() .. "°C | RAM: " end) | ||
- | cputemp_timer = timer({timeout = 1}) | ||
- | cputemp_timer:add_signal("timeout", function() cputemp.text = "@ " .. activecputemp() .. "°C | RAM: " end) | ||
- | cputemp_timer:start()</code> | ||
Ajoutez encore ''cpuinfo'' et ''cputemp'' dans la wibox en suivant cet ordre afin que l'affichage soit correct (il s'agit de deux widgets différents). | Ajoutez encore ''cpuinfo'' et ''cputemp'' dans la wibox en suivant cet ordre afin que l'affichage soit correct (il s'agit de deux widgets différents). | ||
Ligne 454: | Ligne 361: | ||
=== Vicious === | === Vicious === | ||
- | Tout d'abord, une bonne idée est d'aller faire un tour sur [[http://sysphere.org/~anrxc/j/archives/2009/07/09/vicious_widgets_for_awesome_wm/index.html|le site officiel de Vicious]], ou sur [[http://awesome.naquadah.org/wiki/Vicious|la section Vicious du wiki officiel d'Awesome]], avant de télécharger le code des widgets sur [[http://git.sysphere.org/vicious/|le dépôt Git officiel]]. | + | Tout d'abord, une bonne idée est d'aller faire un tour sur [[https://sysphere.org/~anrxc/j/archives/2009/07/09/vicious_widgets_for_awesome_wm/index.html|le site officiel de Vicious]], ou sur [[http://awesome.naquadah.org/wiki/Vicious|la section Vicious du wiki officiel d'Awesome]], avant de télécharger le code des widgets sur [[http://git.sysphere.org/vicious/|le dépôt Git officiel]]. |
==== Astuce permettant de tester sans risques son rc.lua ==== | ==== Astuce permettant de tester sans risques son rc.lua ==== | ||
Ligne 480: | Ligne 387: | ||
====Screenshots==== | ====Screenshots==== | ||
- | A venir, merci de ne pas envahir cette section ;) Elle aura simplement pour but de donner un apercu des possibilitées ;) | + | A venir, merci de ne pas envahir cette section ;) Elle aura simplement pour but de donner un apercu des possibilités ;) |
+ | |||
+ | === Avec ImageMagick === | ||
+ | |||
+ | Une astuce simple pour prendre un screenshot est d'utiliser ImageMagick en tapant dans votre console: | ||
+ | <code>import screenshot.png</code> | ||
+ | Cette commande va vous permettre de dessiner avec la souris le cadre du screenshot que vous voulez prendre et l'enregistrera dans un fichier (ici screenshot.png). | ||
===== Voir aussi ===== | ===== Voir aussi ===== | ||
Ligne 489: | Ligne 402: | ||
* [[http://forum.malekal.com/awesome-window-manager-t21608.html|Tutoriel complet]] | * [[http://forum.malekal.com/awesome-window-manager-t21608.html|Tutoriel complet]] | ||
* **(en)** [[http://awesome.naquadah.org/wiki/Ubuntu_Hardy|Installation sous Hardy]] | * **(en)** [[http://awesome.naquadah.org/wiki/Ubuntu_Hardy|Installation sous Hardy]] | ||
- | * [[http://git.rolinh.ch/?p=precious.git&a=summary| widgets de Rolinh]] | + | * [[http://projects.gw-computing.net/projects/precious| Widgets Precious]] |
---- | ---- | ||
//Contributeurs : x0rg62, rhaamo, [[utilisateurs:zobi8225]],[[:utilisateurs:Sherwood51|Rolinh]], TraGiKomiK // | //Contributeurs : x0rg62, rhaamo, [[utilisateurs:zobi8225]],[[:utilisateurs:Sherwood51|Rolinh]], TraGiKomiK // |