Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
awesome [Le 11/11/2013, 16:26] – [Lancer des applications au demarrage] kanor | awesome [Le 21/02/2020, 19:02] (Version actuelle) – 91.169.249.112 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | |||
+ | ====== Awesome ====== | ||
+ | |||
+ | |||
+ | **Awesome** est un « Window Manager » minimaliste, | ||
+ | C'est un gestionnaire de fenêtre qui utilise la technique dite du " | ||
+ | |||
+ | |||
+ | Dans sa conception, awesome ressemble assez à [[http:// | ||
+ | |||
+ | |||
+ | Le [[gestionnaire de fenêtres]] (WM, « Window Manager ») **Awesome** est basé sur le code de [[:dwm]], qu'il tente d' | ||
+ | |||
+ | Comme une image vaut mieux qu'un long discours, voici à quoi cela ressemble: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== Pré-requis ===== | ||
+ | |||
+ | * Disposer des [[: | ||
+ | * Disposer d'une connexion à Internet configurée et activée. | ||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | <note important> | ||
+ | < | ||
+ | |||
+ | Awesome se trouve déjà dans les dépôts officiels. | ||
+ | Il suffit d’[[: | ||
+ | |||
+ | Le paquet **awesome-extra** fournit de nombreux //widgets// supplémentaires | ||
+ | (l' | ||
+ | ==== En compilant les sources ==== | ||
+ | |||
+ | Vous pouvez aussi compiler les sources, en vous rendant sur le git de Awesome vous possèderez les dernières modifications : http:// | ||
+ | |||
+ | Décompressez l' | ||
+ | |||
+ | < | ||
+ | |||
+ | Si il y a une erreur lors du ./ | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | Ou bien, notamment si vous êtes sous Hardy : | ||
+ | [[http:// | ||
+ | |||
+ | |||
+ | =====Configuration Version 3 (Karmic et ultérieur) ===== | ||
+ | |||
+ | La syntaxe du fichier de configuration a complètement changé avec la version 3 d' | ||
+ | |||
+ | En effet, un des intérêts principaux d' | ||
+ | |||
+ | Vous pouvez consulter [[http:// | ||
+ | |||
+ | Pensez aussi à regarder les notes de changements entre versions: | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | ==== Configuration ==== | ||
+ | <note tip>Le fichier de configuration par défaut se trouve dans / | ||
+ | Passons à la partie vraiment intéressante :-P | ||
+ | |||
+ | Il faut commencer par créer le dossier qui contiendra les fichiers de configuration dans le home: | ||
+ | < | ||
+ | Ensuite, afin d' | ||
+ | < | ||
+ | Il est aussi possible de copier le fichier de thème afin de les personnaliser: | ||
+ | < | ||
+ | <note important> | ||
+ | |||
+ | ==== Raccourcis claviers ==== | ||
+ | Les principaux sont les suivants: | ||
+ | * Super = Touche Windows (entre Ctrl gauche et Alt) | ||
+ | * Super + Entrer => ouvre un terminal | ||
+ | * Super + Flèche Droite => passer au bureau de droite | ||
+ | * Super + Flèche Gauche => passer au bureau de gauche | ||
+ | * Super + F1 => lanceur d'un manuel pour une application | ||
+ | |||
+ | |||
+ | Les raccourcis par défaut sont pensés pour un clavier QWERTY. Si vous utilisez un clavier QWERTZ, les raccourcis seront également bien adaptés mais si vous utilisez un clavier azerty, je vous recommande de modifier le fichier de configuration pour avoir quelque chose comme: | ||
+ | <code lua> | ||
+ | tagkeys = { '# | ||
+ | for i = 1, keynumber do | ||
+ | keybinding({ modkey }, tagkeys[i], | ||
+ | | ||
+ | local screen = mouse.screen | ||
+ | if tags[screen][i] then | ||
+ | | ||
+ | end | ||
+ | | ||
+ | keybinding({ modkey, " | ||
+ | | ||
+ | local screen = mouse.screen | ||
+ | if tags[screen][i] then | ||
+ | | ||
+ | end | ||
+ | | ||
+ | keybinding({ modkey, " | ||
+ | | ||
+ | if client.focus then | ||
+ | if tags[client.focus.screen][i] then | ||
+ | | ||
+ | end | ||
+ | end | ||
+ | | ||
+ | keybinding({ modkey, " | ||
+ | | ||
+ | if client.focus then | ||
+ | if tags[client.focus.screen][i] then | ||
+ | | ||
+ | end | ||
+ | end | ||
+ | | ||
+ | end | ||
+ | </ | ||
+ | |||
+ | qui vous permet d' | ||
+ | ( Mod4+guillemet pour aller au bureau n°3, par exemple) | ||
+ | |||
+ | ==== Raccourcis claviers Perso pour lancer des applications==== | ||
+ | |||
+ | Il est possible de rajouter ses propres raccourcis afin de lancer des applications, | ||
+ | < | ||
+ | |||
+ | Cette ligne (a placer dans la section KeysBindings) vous permet de lancer Firefox via SUPER+ALT+f, | ||
+ | * awful.key: | ||
+ | * { modkey," | ||
+ | * awful.util.spawn: | ||
+ | |||
+ | <note tip> | ||
+ | Pour connaitre la correspondance des touches ainsi que leur syntaxe exacte il suffit de lancer xmodmap dans une console. | ||
+ | </ | ||
+ | |||
+ | ==== Afficher la date et l' | ||
+ | |||
+ | Modifiez les lignes suivantes : | ||
+ | |||
+ | <code lua> | ||
+ | -- Create a textclock widget | ||
+ | mytextclock = awful.widget.textclock()</ | ||
+ | |||
+ | par | ||
+ | |||
+ | <code lua> | ||
+ | -- Create a textclock widget | ||
+ | os.setlocale(" | ||
+ | mytextclock = awful.widget.textclock(" | ||
+ | -- mytextclock = awful.widget.textclock(" | ||
+ | |||
+ | |||
+ | ==== Configurer les " | ||
+ | Par défaut, les " | ||
+ | Cependant, il est possible de configurer chaque tag avec un layout particulier. Par exemple, j'aime bien avoir mon navigateur web en mode " | ||
+ | Pour ceci, il faut repérer la partie Tags de votre rc.lua (plutôt au début) et la remplacer par celle-ci: | ||
+ | <code lua>-- {{{ Tags | ||
+ | -- Define a tag table which hold all screen tags. | ||
+ | tags = { | ||
+ | names = { " | ||
+ | layout = { layouts[2], layouts[2], layouts[2], layouts[1], layouts[2], layouts[2]} | ||
+ | } | ||
+ | |||
+ | for s = 1, screen.count() do | ||
+ | tags[s] = awful.tag(tags.names, | ||
+ | end | ||
+ | |||
+ | -- }}}</ | ||
+ | Vous pouvez noter que dans '' | ||
+ | Les layouts ('' | ||
+ | |||
+ | ====Lancer des applications au démarrage==== | ||
+ | |||
+ | 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) | ||
+ | < | ||
+ | ou | ||
+ | < | ||
+ | Bien évidemment ceci est valable pour tout les exécutables que vous voudriez lancer au démarrage :D | ||
+ | |||
+ | <note important> | ||
+ | ==== Ajouter des widgets ==== | ||
+ | La zone de notification se situe par défaut en haut à droite, à côté de l' | ||
+ | |||
+ | === Precious (Widgets de Rolinh) === | ||
+ | <note important> | ||
+ | <note warning> | ||
+ | |||
+ | Pour avoir une idée de ce à quoi cela peut ressembler, voici une capture de la zone de widget: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Il est à noter cependant qu'il est fort possible, voire très probable, qu'ils aient changé / évolué et que d' | ||
+ | |||
+ | 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. | ||
+ | Une fois que vous l' | ||
+ | |||
+ | Afin de cloner le dépôt, rendez-vous d' | ||
+ | < | ||
+ | cd $XDG_CONFIG_HOME/ | ||
+ | </ | ||
+ | Puis clonez le dépôt precious: | ||
+ | < | ||
+ | git clone git:// | ||
+ | </ | ||
+ | Cette commande créera un dossier nommé // | ||
+ | < | ||
+ | git pull | ||
+ | </ | ||
+ | |||
+ | Si vous avez donc cloné le dépôt, comme il est recommandé, | ||
+ | Afin de les ajouter, il suffit d'une ligne précisant le widget que vous voulez inclure. L' | ||
+ | <code lua> | ||
+ | require(" | ||
+ | </ | ||
+ | |||
+ | Cependant, ce n'est pas tout: il faut également les mentionner dans la liste des widgets de votre //rc.lua// (mywibox) qui ressemble à quelque chose comme ça: | ||
+ | <code lua> | ||
+ | mywibox[s] = awful.wibox({ position = " | ||
+ | -- Add widgets to the wibox - order matters | ||
+ | mywibox[s].widgets = { | ||
+ | { | ||
+ | mylauncher, | ||
+ | mytaglist[s], | ||
+ | mypromptbox[s], | ||
+ | layout = awful.widget.layout.horizontal.leftright | ||
+ | }, | ||
+ | mylayoutbox[s], | ||
+ | mymail, | ||
+ | s == 1 and mysystray or nil, | ||
+ | tb_volume, | ||
+ | mytextclock, | ||
+ | batinfo, | ||
+ | meminfo, | ||
+ | cputemp, | ||
+ | cpuinfo, | ||
+ | tb_moc, | ||
+ | mytasklist[s], | ||
+ | layout = awful.widget.layout.horizontal.rightleft | ||
+ | }</ | ||
+ | <note tip> | ||
+ | |||
+ | Si on poursuit avec l' | ||
+ | |||
+ | Si ce n'est pas bien clair, il suffit de regarder comment cela est fait dans mon rc.lua disponible dans [[http:// | ||
+ | |||
+ | === Applet pour le son === | ||
+ | L' | ||
+ | |||
+ | Une première chose avant de passer au code de l' | ||
+ | Pour cela, il faut rajouter ces lignes dans la partie " | ||
+ | <code lua>-- Multimedia keys | ||
+ | awful.key({ }, " | ||
+ | awful.key({ }, " | ||
+ | awful.key({ }, " | ||
+ | </ | ||
+ | Pour le reste, il vous suffit d' | ||
+ | <code lua> | ||
+ | require(" | ||
+ | </ | ||
+ | N' | ||
+ | |||
+ | === Applet pour mocplayer (mocp) === | ||
+ | < | ||
+ | |||
+ | Pour une utilisation optimale de ce widget, il est recommandé d' | ||
+ | <code lua> | ||
+ | awful.key({ " | ||
+ | awful.key({ " | ||
+ | awful.key({ " | ||
+ | <note tip>Vous pouvez très bien remplacer la touche contrôle par une autre que vous souhaitez. A noter que le raccourcis play/pause permet de lancer automatiquement mocplayer sans même le lancer dans un terminal (il commencera la lecture de votre denière playlist), ce qui est très pratique à l' | ||
+ | |||
+ | Il faut maintenant inclure le code correspondant au widget: | ||
+ | <code lua> | ||
+ | require(" | ||
+ | </ | ||
+ | N' | ||
+ | |||
+ | === Applet d' | ||
+ | Cet applet n'est utile que pour ceux qui utilisent un ordinateur portable ;-) | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Les informations détaillées ne sont affichées qu'au survol de l' | ||
+ | <note important> | ||
+ | Il suffit d' | ||
+ | <code lua> | ||
+ | require(" | ||
+ | </ | ||
+ | Et comme d' | ||
+ | |||
+ | === Applet d' | ||
+ | Comme d' | ||
+ | <code lua> | ||
+ | require(" | ||
+ | </ | ||
+ | |||
+ | Et il faut aussi ajouter '' | ||
+ | |||
+ | === Applet du taux d' | ||
+ | <code lua> | ||
+ | require(" | ||
+ | </ | ||
+ | Ajoutez encore '' | ||
+ | |||
+ | === Applet de notification des emails pour Gmail === | ||
+ | Cet applet va vérifier s'il y a des emails non-lus sur votre compte Gmail et notifie le nombre via un numéro. | ||
+ | Tout d' | ||
+ | < | ||
+ | Dans ce dossier, créez un fichier nommé '' | ||
+ | <code python># | ||
+ | |||
+ | import imaplib | ||
+ | |||
+ | #first field is imap server, second - port (993 for gmail SSL IMAP) | ||
+ | M=imaplib.IMAP4_SSL(" | ||
+ | #first field is imap login (gmail uses login with domain and ' | ||
+ | M.login(" | ||
+ | |||
+ | status, counts = M.status(" | ||
+ | |||
+ | unread = counts[0].split()[4][: | ||
+ | if unread == " | ||
+ | print " 0 " | ||
+ | else: | ||
+ | #red bg color when you have unseen mail | ||
+ | print unread | ||
+ | |||
+ | M.logout()</ | ||
+ | Il est également nécessaire de créer un fichier qui sera utilisé comme tampon: | ||
+ | < | ||
+ | |||
+ | Maintenant, il faut ajouter ce bout de code dans votre rc.lua pour le widget en prenant soin de remplacer le chemin du fichier tmp pour gmail par le votre: | ||
+ | <code lua>-- GMail Widget | ||
+ | mymail = widget({ type = " | ||
+ | mymail.text = ' <span color=" | ||
+ | |||
+ | awful.hooks.timer.register(30, | ||
+ | local f = io.open("/ | ||
+ | local l = nil | ||
+ | if f ~= nil then | ||
+ | l = f:read() -- read output of command | ||
+ | else | ||
+ | l = " | ||
+ | end | ||
+ | f:close() | ||
+ | |||
+ | if l ~= " | ||
+ | l = '< | ||
+ | else | ||
+ | l = '' | ||
+ | end | ||
+ | |||
+ | mymail.text = ' <span color=" | ||
+ | os.execute(" | ||
+ | end)</ | ||
+ | Ajouter encore '' | ||
+ | |||
+ | === Vicious === | ||
+ | Tout d' | ||
+ | |||
+ | ==== Astuce permettant de tester sans risques son rc.lua ==== | ||
+ | Cela vous est peut-être déjà arrivé: une erreur dans le rc.lua et hop, on se retrouve avec quelque chose d' | ||
+ | Voici deux astuces à combiner qui permettent de tester son rc.lua avant de l' | ||
+ | === Vérifier la syntaxe === | ||
+ | Il suffit d' | ||
+ | < | ||
+ | === Utiliser Xephyr pour tester la configuration === | ||
+ | La commande ci-dessus permet uniquement de vérifier la syntaxe mais elle ne vous permet pas de tester les changements apportés à la configuration. | ||
+ | Une astuce, tirée du wiki d' | ||
+ | Pour ce faire, passez la commande suivante (vous pouvez changer la résolution à loisir ;-) ) afin de lancer Xephyr (note: s'il n'est pas déjà installé, cliquez ici sur ce lien apt **[[apt> | ||
+ | < | ||
+ | Une fois ceci fait, lancez awesome: | ||
+ | < | ||
+ | Et voilà, plus qu'à vérifier que les changements apportés conviennent et le cas échéant, remplacer son //rc.lua// par le // | ||
+ | ====" | ||
+ | |||
+ | ===Conky=== | ||
+ | Si vous desirez que votre conky (ou vos conky) ne puissient pas etre recouverts par les fenetres il suffit pour cela de rajouter (ou modifier) ces lignes dans votre **conkyrc**: | ||
+ | < | ||
+ | own_window_hints below, | ||
+ | |||
+ | |||
+ | ====Screenshots==== | ||
+ | |||
+ | 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' | ||
+ | < | ||
+ | |||
+ | Cette commande va vous permettre de dessiner avec la souris le cadre du screenshot que vous voulez prendre et l' | ||
+ | ===== Voir aussi ===== | ||
+ | |||
+ | * **(en)** [[http:// | ||
+ | * **(en)** [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * **(en)** [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | ---- | ||
+ | |||
+ | // |