Le journal de PacMiam

GNU/Linux, Python, Rétrogaming et billevesées

xfce

Another one bites the dunst

Rédigé par PacMiam 3 commentaires
Vous aussi vous en avez marre des notifications sonores comme celles qui vous gueulent à haute voix (parce que des imbéciles ne savent pas baisser le son) que votre base de données concernant les codes malicieux sur un système privateur a été mise à jour afin d'améliorer votre protection ? Ça tombe, bien car je ne vais pas en parler plus longtemps :D

Un petit article sérieux aujourd'hui pour parler d'un démon de notification bien utile qui en plus d'être très léger, permet de faire des jeux de mots du tonnerre !


Oui, je vais les chercher loin parfois ...

Dunst est un démon de notification qu'on pourrait résumer en 3 mots : léger, configurable et indépendant. Entièrement configurable par l'utilisateur via un simple fichier, il sera l'ami de tout les aficionados des gestionnaires de fenêtres léger comme i3wm, awesome, etc.

Lire la suite de Another one bites the dunst

Menus changements pour menu

Rédigé par PacMiam 2 commentaires
Personnellement, le menu de base offert avec Xfce ne me plaît pas. Les logiciels ne suivent pas vraiment d'ordre logique et on se retrouve avec des menus faisant la taille verticale de l'écran. N'ayant pas envie d'utiliser Alacarte et de remplir mon dossier ~/.local/share/applications, j'ai décidé de modifier à la main le menu de Xfce.


Le menu par défaut (à gauche) et modifié (à droite)

La première chose à faire est bien entendu de récupérer le menu de base afin de le modifier.
$ cp /etc/xdg/menus/xfce-applications.menu ~/.config/xfce-applications.menu

Menu

Examinons la composition du fichier que vous avez copié :
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">

<Menu>
    <Name>Xfce</Name>

    <DefaultAppDirs/>
    <DefaultDirectoryDirs/>
    <DefaultMergeDirs/>

    <Include>
        <Category>X-Xfce-Toplevel</Category>
    </Include>

    <Layout>
        <Filename>xfce4-run.desktop</Filename>
        <Separator/>
        <Filename>exo-terminal-emulator.desktop</Filename>
        <Filename>exo-file-manager.desktop</Filename>
        <Filename>exo-mail-reader.desktop</Filename>
        <Filename>exo-web-browser.desktop</Filename>
        <Separator/>
        <Menuname>Settings</Menuname>
        <Separator/>
        <Merge type="all"/>
        <Separator/>
        <Filename>xfce4-about.desktop</Filename>
        <Filename>xfce4-session-logout.desktop</Filename>
    </Layout>

    <Menu>
        [...]
    </Menu>
</Menu>
Nous avons sous les yeux le cœur du menu, à savoir ce qui apparaît quand vous ouvrez le menu. Toute sa mise en forme est définie dans la balise <Layout> à l'aide de quatre balises : <Filename>, <Separator/>, <Menuname> et <Merge type="all"/>. Voici une explication de chacune d'entre elles.

<Filename>Sert à insérer un fichier .desktop (présent sous /usr/share/applications) dans le menu.
<Separator />Sert à insérer une séparation dans le menu.
<Menuname>Sert à insérer un sous-menu dans le menu. Le nom du sous-menu est défini dans les balises <Menu> que nous verrons plus bas.
<Merge type="all"/>Sert à insérer toutes les entrées .directory et .desktop qui appartiennent à la catégorie spécifiée dans <Include> (à l'exception de celle déjà définie avec <Filename>).

A partir de là, vous êtes capable de réorganiser les sous-menus et d'afficher ou cacher des applications dans le menu.

Sous-menu

Maintenant, nous allons voir comment construire un sous-menu. Pour ça, regardons-en un de plus près.
<Menu>
        <Name>Development</Name>
        <Directory>xfce-development.directory</Directory>
        <Include>
            <Category>Development</Category>
        </Include>
    </Menu>
Nous remarquons la présence d'une nouvelle balise qui porte le doux nom de <Directory>. Ces fichiers se situe sous /usr/share/desktop-directories et servent à définir le nom du menu et son icône. Prenons comme exemple le fichier xfce-development.directory :
[Desktop Entry]
Version=1.0
Type=Directory
Icon=applications-development
Name=Development
Name[fr]=Développement
Comment=Software development tools
Comment[fr]=Outils de développement logiciels
Ce fichier permet de définir le menu Development avec une icône, un nom et un commentaire. Comme exemple, nous allons mettre un sous-menu Development dans le menu Network:
<Menu>
[...]
    <Menu>
        <Name>Network</Name>
        <Directory>xfce-network.directory</Directory>
        <Include>
            <Category>Network</Category>
        </Include>
        <Exclude>
        <Or>
            <Filename>exo-mail-reader.desktop</Filename>
            <Filename>exo-web-browser.desktop</Filename>
        </Or>
        </Exclude>
        <Layout>
            <Menuname>Development</Menuname>
            <Merge type="all"/>
        </Layout>

        <Menu>
            <Name>Development</Name>
            <Directory>xfce-development.directory</Directory>
            <Include>
                <Category>Development</Category>
            </Include>
        </Menu>
    </Menu>
[...]
</Menu>
Et voilà, faire un sous-menu est aussi simple que ça.

Utiliser le menu personnalisé

Pour pouvoir l'utiliser, un clic droit sur l'applet de menu puis Propriétés.

Si vous souhaitez regarder le fichier que j'utilise, il est disponible ici.