Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 ", 1si 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=summarywidgets 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 //
  • awesome.txt
  • Dernière modification: Le 11/09/2022, 12:01
  • par moths-art