Journal Tiling gnome

Posté par  .
Étiquettes : aucune
10
3
déc.
2008
Bonjour,

J'avais fait quelques expériences et recherches sur des gestionnaire de fenêtres type "Tiling Window Manager" il y a quelques temps (ion, awesome, xmonad,...).

Pour rappel il s'agit de WMs qui au lieu de superposer les fenêtres les unes sur les autres, découpent l'espace écran pour maximiser la taille des fenêtres devant s'y afficher.

J'avoue bien aimer cette fonctionnalité, mais l'utilisation de ces WMs nécessite pas mal d'apprentissage, (nombreux raccourcis claviers,...) et l'utilisation avec une souris (depuis le canapé par exemple :) ) est souvent assez difficile ( je n'ose pas dire impossible). Je suis donc assez vite retourné sous gnome.
Mais quand on a gouté à ça, on en demande encore. Alors j'ai codé quelques lignes dans metacity pour retrouver ces fonctionnalités.
Cela fait maintenant quelques mois que j'utilise ce système sur mes différentes machines (bureau, maison) avec pas mal de satisfaction...

Ça marche comme cela :
On ouvre plusieurs fenêtres, jusqu'ici il n'y a pas de différences avec metacity standard :
http://dpt-info.u-strasbg.fr/~maitre/dual-screen-messy.png

Puis il y a un raccourci clavier qui exécutent le tuilage des fenêtres sur le bureau et qui donne quelque chose dans ce style :
http://dpt-info.u-strasbg.fr/~maitre/dual-screen-tiled.png

Voila pour le principe.

J'avais fait ce code, plus pour l'aspect utilitaire de l'ensemble que pour en faire un projet.
Mais le code existe et ça m'intéresse assez de le terminer et de le publier.

Mais avant de m'investir la dedans je me demande si un système comme cela intéresse quelqu'un d'autre que moi?
Et surtout s'il n'existe pas de logiciel comparable (à savoir faire donner un comportement de tiling window manager à metacity. Non remplacer metacity par le wm de xmonad ne m'intéresse pas :) )?
Aussi qu'est ce que vous en pensez?

Merci. Salut



Petits liens connexes :
  • http://en.wikipedia.org/wiki/Tiling_window_manager

  • https://linuxfr.org//2008/09/19/24506.html
  • : News dlfp sur awesome
  • http://xmonad.org/
  • : site officiel de xmonad
  • http://www.haskell.org/haskellwiki/Xmonad/Using_xmonad_in_Gn(...)
  • : un moyen de faire du tuilage avec gnome
    • # Yeah

      Posté par  . Évalué à 6.

      Oh c'est super ça :)

      Les WM comme awesome disposent d'un mode « fenêtres flottantes », qui est en fait l'inverse de ce que tu fais. C'est interressant ce que tu proposes, vraiment. J'aurais testé si tu l'avais fait pour fluxbox :)

      En revanche, une autre raison qui fait que j'utilise awesome, c'est de ne pas avoir de barre de titre au dessus des fenêtres (oui, elle apparait déjà en highlight dans la barre des taches), mais ça, c'est une autre histoire.
      • [^] # Re: Yeah

        Posté par  (site web personnel) . Évalué à 2.

        Remarque, on peut avoir des barres de titre, avec Awesome. Mais je trouve que c'est plus propre sans.
      • [^] # Commentaire supprimé

        Posté par  . Évalué à 3.

        Ce commentaire a été supprimé par l’équipe de modération.

        • [^] # Re: Yeah

          Posté par  . Évalué à 2.

          Oh merci, c'est génial ça. Dommage que ça ne se limite qu'à un seul écran. Je serais curieux de voir comment c'est géré dans ton patch d'ailleurs Moe. Ça doit aussi dépendre de la façon dont le wm/dm gère les screens.
          • [^] # Re: Yeah

            Posté par  . Évalué à 1.

            Les captures sont faites sur un double écran, avec 2 fenêtres sur le premier écran, et 3 sur le second.


            Quand il ya plusieurs fenêtre sur un bureau écran (un xinerama en fait), la dernière ouverte utilise la moitier de l'écran et les autre se partagent l'autre moitier (comme sur la capture).
            Je crois que nombre de tiling window manager font ainsi.
            [...]

      • [^] # Re: Yeah

        Posté par  . Évalué à 3.

        oh une occasion de faire un peu de pub.

        pour fluxbox j'ai un petit projet qui va bien :

        wumwum : http://wumwum.sourceforge.net

        ça marche aussi sur kde et sur les gestionnaires qui supportent correctement
        ewmh
        • [^] # Re: Yeah

          Posté par  (site web personnel) . Évalué à 3.

          J'adore cette partie de ta FAQ :)
          <quote>I am an X-window guru and I can tell you are not doing things the right way.
          Ah, finally. Come on closer, I have a lot of questions for you.</quote>
    • # interessant

      Posté par  . Évalué à 2.

      Personallement je trouve ton projet interressant. J'ai aussi fait exactement le meme raisonement que toi ""J'avoue bien aimer cette fonctionnalité, mais l'utilisation de ces WMs nécessite pas mal d'apprentissage, (nombreux raccourcis claviers,...) et l'utilisation avec une souris (depuis le canapé par exemple :) ) est souvent assez difficile ( je n'ose pas dire impossible). Je suis donc assez vite retourné sous gnome.
      Mais quand on a gouté à ça, on en demande encore. """ mais je me suis arrete la :-)

      Bouger des petites fenetres sur l ecran avec la sourie c'est pas tres ergonomique et le concept de tilling est ineressant mais je ne suis pas sure de la bonne facon de l'utiliser. Est ce que cela doit etre quelquechose que on demarre avec un shortcut (comme tu l as fait) ou est ce que cela doit etre le seul mode possible (xmonad par ex.). et est ce que c est possible d'utiliser le tilling pour le WM de tout le monde ou est ce que cela ne marche que pour un WM de nerd ....

      Est ce que ton projet il a un "mode" tilling ou est ce que il ne fait que re-arranger les fenetres existantes ?

      Si metacity avait une architecture de plugin ca pourrait etre interressant de faire un tilling plugin pour experimenter parceque avant de faire admettre le tilling a la gnome foundation il y a du boulot :-)

      J ai pas trouve d'autre projet comme le tien. mais j ai entendu dire que kwm a prevu d implementer le tilling
      • [^] # Re: interessant

        Posté par  . Évalué à 2.

        J'ai oublié de le mettre dans le journal, mais j'avais testé un plugin pour compiz (fusion?) qui faisait un peu comme ca (tiling sur raccourci).
        Mais je n'utilise pas compiz et il restait un problème en multi-écran (pour trois fenêtre, il coupe en 2/3 d'écran par fenêtre (donc une fenêtre sur les deux écrans).

        Personnellement je préfère le mode raccourci clavier, mais je pense que de déclencher le tuilage à chaque ouverture de fenêtre donnera un résultat proche d'un awesome ou xmonad.

        Effectivement en plugin ce serait surement plus facile. Mais je crois pas qu'une telle architecture existe dans metacity. Mon code est assez petit, il doit y avoir 200 lignes ajoutées/modifiées dans metacity.

        Mon plus gros problème est à l'heure actuelle, de disposer de raccourcis clavier. J'ai détourné quelques raccourcis (ouverture d'une console, de-maximisation) pour mettre mes fonctions, mais c'est difficilement extensible. =)
    • # Génial!

      Posté par  (site web personnel) . Évalué à 3.

      Ca a l'air très chouette ton truc! Après, j'imagine que ça risque quand même de devenir assez compliqué, parce que selon ce qu'on fait, il y a plusieurs modes de tiling envisageables (avec une fenêtre principale, horizontal, vertical, etc.).

      Pour info j'utilise xmonad avec Gnome et ça marche très bien. Le seul inconvénient c'est qu'on ne peut pas redimensionner les fenêtres à la souris.
    • # Tu pourrais pas mettre le code source quelques part.

      Posté par  . Évalué à 4.

      çà m'intéresse beaucoup comme idée le tiling sur raccourcis.

      D'ailleurs, j'ai jamais compris pourquoi il n'y a pas de menu organisation de fenêtre dans tous les WM classique
      • [^] # Re: Tu pourrais pas mettre le code source quelques part.

        Posté par  . Évalué à 1.

        C'est tout à fait possible, mais je dois absolument le finaliser pour que ça soit vraiment utilisable.

        A l'heure actuelle, les bugs les plus génant sont :
        Quand il ya plusieurs fenêtre sur un bureau (un xinerama en fait), la dernière ouverte utilise la moitier de l'écran et les autre se partagent l'autre moitier (comme sur la capture).
        Je crois que nombre de tiling window manager font ainsi.
        Mais ici, il n'est pas encore possible de selectionner l'ordre des fenêtres.

        Par contre ça ne me dérange pas trop, j'avoue l'utiliser tout le temps avec 2 fenêtres par écrans (donc moitier moitier).

        Tout ça c'est par manque de raccourcis clavier. J'ai pas encore regardé trop loin, mais j'ai pas trouvé comment faire pour ajouter un raccourcis maison.

        Mais si ça intéresse vraiment des gens (et ça à un peu l'air =) ) je m'y pencherais bien plus.
        D'ailleur je veux bien un coup de main, si quelqu'un à des connaissances sur metacity (ou la motivation)
    • # Terminator pour remplacer gnome-terminal

      Posté par  . Évalué à 1.

      Si tu n'utilises que des terminaux dans ton tiling (comme le montre ton screenshot), tu peux essayer Terminator, qui renverse un peu le principe, puisque c'est l'application qui contient du tiling, et non le window manager. Je le trouve assez limité, puisqu'on ne peut mettre n'importe quelle application dans les tiles, mais j'aime bien le principe !

      URL du projet: http://www.tenshu.net/terminator/

      Il y a aussi des paquets dans certains distributions [http://packages.debian.org/fr/sid/terminator]
      • [^] # Re: Terminator pour remplacer gnome-terminal

        Posté par  . Évalué à 2.

        effectivement un wm qui implemente ce que fait terminator (inclus la facon dont on peut replacer un terminal ) ca parait une bonne idee.

        La function zoom est aussi interessante.

        A la limite meme le split pourrait etre implemente pour certain programes
      • [^] # Re: Terminator pour remplacer gnome-terminal

        Posté par  . Évalué à 2.

        Les consoles sont dans les copies d'écran uniquement pour l'exemple, même si effectivement j'en utilise pas mal.

        J'ai regardé terminator, ca commence mal, ca à l'air bassé sur la console gnome. (j'aime que xterm =)=) ). Mais j'y jeterais quand même un coup d'oeil.

        L'intéret majeur de faire ça dans metacity, est évidemment que ça fonctionne sur toute application, avec les même commandes etc...
    • # précision xmonad

      Posté par  . Évalué à 1.

      Petites précisions / correction à propos de Xmonad :

      Il est possible de redimensionner et déplacer des fenêtres à la souris : respectivement Meta + clic droit / gauche.

      Je n'ai jamais essayé Xmonad on Gnome mais un mode flottant (mode de fenêtrage traditionnel) est disponible sous xmonad "classique" ... indispensable pour déplacer une fenêtre à la souris ... ;)
      • [^] # Re: précision xmonad

        Posté par  (site web personnel) . Évalué à 3.

        Il est possible de redimensionner et déplacer des fenêtres à la souris : respectivement Meta + clic droit / gauche.

        Oui... en mode flottant. Dommage que ce ne soit pas possible de redimensionner les fenêtre tilées... (Meta + {j,l})
    • # Difficulté des tiling-managers

      Posté par  . Évalué à 2.

      [..]mais l'utilisation de ces WMs nécessite pas mal d'apprentissage, (nombreux raccourcis claviers,...)[..]

      J'utilise personnellement xmonad[1] et voici la listes des raccourcis principaux à retenir :
      * MOD-[0-9] : change de bureau virtuel, + SHIFT pour déplacer la fenêtre courante
      * MOD-SHIFT-ENTER : lancer un terminal
      * MOD-ENTER : définir la fenêtre courante comme fenêtre principale
      * MOD-p : permet de lancer une application en tapant le début de son nom puis ENTER
      * MOD-h / MOD-l : permet de change la taille de la zone principale
      * MOD-SPACE : permet de changer le type de layout
      * MOD-, / MOD-. : permet de déplacer des fenêtres dans la zone principale
      * MOD-TAB : change le focus vers la fenêtre suivante, possible également en déplacement le pointeur de la souris vers une autre fenêtre

      Honnêtement il n'y en a pas énormément à mémoriser, en quelques heures d'utilisation on a vite pris l'habitude.

      Par contre la difficulté provient plutôt de la mise en place et de la configuration qui nécessite un peu d'édition de fichiers de conf. Heureusement la documentation d'xmonad est plutôt bien faite avec, par exemple, une description pas-à-pas de sa mise en place[2].

      [1] xmonad : http://xmonad.org/
      [1] Guide de configuration pas-à-pas : http://haskell.org/haskellwiki/Xmonad/Config_archive/John_Go(...)
      • [^] # Re: Difficulté des tiling-managers

        Posté par  . Évalué à 1.

        Je suis assez d'accord. J'ai quand même utilisé awesome pendant quelques temps.
        J'ai pas testé en vrai xmonad, mais j'ai un ami qui l'a sur sa machine. Disons qu'avec mon master d'info, je suis quand même obligé de lui demandé comment on ouvre un firefox =)=). Je te racconte pas comment ca doit être avec sa copine...

        Non mais plus serieusement, je pense qu'il s'agit d'un compromis intéressant entre les WMs classiques, et les hardcore WMs.
    • # Je comprends pas l'interêt

      Posté par  . Évalué à 2.

      Je n'ai jamais réussi à comprendre l'intérêt de ce genre de WM...Ça à l'air super pratique si on ouvre que des terminaux virtuels ou de éditeurs de texte. Mais vous arrivez à utiliser ça avec disons ...un navigateur, un éditeur d'image et un lecteur multimedia d'ouvert ??
    • # Moi ça m'intéresse

      Posté par  . Évalué à 2.

      J'en ai rêvé tu l'as presque fait, donc persiste s'il te plait ;)

      Pour moi l'utilité du tilling c'est d'organiser les fenêtres sur mon énorme bureau lorsque j'ai besoin de changer d'appli toutes les 10 secondes, comme lorsqu'il faut faire un TP, l'œil se balade entre l'éditeur, le sujet et l'éditeur du rapport.
    • # Back to the future

      Posté par  . Évalué à 6.

      C'est marrant, il y a près de 20 ans je me demandais à quoi pouvait bien servir l'option "mosaïque" de Windows 3.0 ;)

      BeOS le faisait il y a 20 ans !

    Suivre le flux des commentaires

    Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.