Bureaux multiples

De Diablotins.org.


FreeDesktop, trucs et astuces
Image:brush.png
Utiliser les standards de FreeDesktop pour harmoniser vos bureaux.

Et...utiliser plusieurs bureaux

Vous utilisez plusieurs bureaux sur une même machine, KDE, E17 ou autres, et vous voudriez que certaines applications soient reconnues quelque soit l'environnement de bureau ?
FreeDesktop a pensé à vous.
Je créé ici, des icônes pour lancer des jeux d'arcades à l'aide de M.A.M.E, que je sois sous KDE ou sous E17. Ainsi, je choisi de créer une catégorie «Mame» incluse dans «Game» puis de définir mes jeux.




Définir une catégorie

Pour valider, créez un fichier .directory dans /usr/local/share/desktop-directories/.
Par exemple, notre catégorie de jeux d'arcades:

$less Mame.directory
[Desktop Entry]
Name=Mame
Comment=Mame Games
Icon=applications-games
Type=Directory
Encoding=UTF-8
Ensuite, pour que KDE se débrouille plus ou moins tout seul,

ajoutez dans son arborescence, /usr/local/etc/xdg/menus/kde-applications.menu, le menu Mame, a la suite de Game:

       <Menu>
           <Name>Mame</Name>
           <Directory>Mame.directory</Directory>
           <Include>
               <And>
               <Category>Game</Category>
               <Category>Mame</Category>
               </And>
           </Include>
       </Menu>

Sous E17, copiez le fichier précédent ou seulement le menu «Game» dans

/usr/local/etc/xdg/menus/applications.menu    pour tous les utilisateurs

ou

~/.config/menus/applications.menu    par utilisateurs.

ou lancez le menu d'ajout d'applications.

Définir une application Desktop

Il suffit de créer des fichiers .desktop dans le répertoire idoine, soit /usr/local/share/applications/.

J'y ai créé un répertoire mame, pour y enregistrer tous mes raccourcis de jeux d'arcades.
Par exemple:

$less mame/mslug.desktop
[Desktop Entry]
Encoding=UTF-8
Type=Application
Exec=sdlmame mslug2
Icon=/usr/local/share/sdlmame/icons/mslug2.png
GenericName=Metal slug 2
Comment=Terminus des prétentieux
Terminal=false
Name=Metal slug 2
Categories=Application;Game;Mame

La dernière entrée donne la hiérarchie du logiciel, dans les menus.

Le Rock©, c'est tout à fond
Xnest:2 KDE>Fluxbox>E17

Et pourquoi ne pas utiliser plusieurs gestionnaires de fenêtres, en même temp ?
Utilisez Xnest:

Xnest :1 -ac -name FluxBox & fluxbox -display :1 

Et voilà Fluxbox ouvert dans KDE.

Xnest :2 -ac -name E17 & enlightenment_start -display :2 

Soyons fous,Fluxbox et E17 ouverts dans KDE, comme le montre l'instantané ci-contre.


Xnest est aujourd'hui en cours de remplacement par Xephyr, que vous pouvez utiliser comme suit:
Lancer le serveur:

Xephyr -ac -screen 1280x1024 -br -reset -terminate :1 &

Voilà le serveur est lancé, mais rien ne tourne à l'intérieur. Lancez deux applications bien connues:

xclock -display :1
fluxbox -display :1

Étonnant, non ?


Malheureusement, les logiciels «modernes» ne jugent plus utile d'ajouter un drapeau pour changer de pupitre.
À l'heure où j'écris, Gnome ne juge même plus utile d'être compatible avec d'autres OS que Linux.


Utilisez la variable DISPLAY pour définir le pupitre où doivent se lancer les logiciels.
Par exemple:

  • Lancez un terminal, puis utilisez le pour lancer votre gestionnaire de fenêtres, :
david:~>Xephyr -ac -screen 1280x1024 -br -reset -terminate :1 &
david:~>setenv DISPLAY :1
david:~>xterm &
Dans le terminal qui apparaît sur le nouveau pupitre:
openbox &

ou

  • Pilotez tout depuis l'extérieur:
david:~>Xephyr -ac -screen 1280x1024 -br -reset -terminate :1 &
david:~>setenv DISPLAY :1
david:~>openbox &
Projets :