Journal catwm is back!

Posté par  .
Étiquettes : aucune
16
6
juil.
2010
Salut à toi ô nourjal,

Je te parlais (ici: http://linuxfr.org/~pyknite/29489.html ) il y a quelques temps de ce petit bout de code perdu dans les méandres de Github que j'avais réaliser.

Après avoir laissé tomber l'affaire, j'ai récupéré, dans un moment de brève lucidité, le projet, au grand damne de ma vie sociale ;) (mais j'ai quand même fait quelques heureux: http://bbs.archlinux.org/viewtopic.php?id=100215 \o/)

Bon, tout ça pour vous dire que, cette fois-ci, mon ptit window manager commence à être réellement utilisable.

Au programme:
    légèreté
    multiple vues ("bureaux")
    moins de bug ;)
    et après on verra

Pour ceux que ça pourrait interesser: http://github.com/pyknite/catwm

ps: ma môman est toujours autant fière (même si je crois qu'au fond elle a pas trop compris de quoi je parlais)
  • # quoi ?

    Posté par  . Évalué à 6.

    hein ?!
    Tu as fais un wm en 500 lignes de code à peine ?!
    je suis impressioné, bravo.
    • [^] # Re: quoi ?

      Posté par  . Évalué à 5.

      Merci ;)

      Bon, c'est un window manager hyper simpliste en même temps.
      Pour ceux qui ne connaissent pas le tiling: http://en.wikipedia.org/wiki/Tiling_window_manager
      • [^] # Re: quoi ?

        Posté par  . Évalué à 2.

        tiens en regardant un de tes derniers commit, j'ai une remarque a faire sur le code...

        if(tmp== 9)
        tmp = 0;
        else
        tmp++;

        j'aime pas trop les else (il parait que c'est mieux de les eviter pour les perf d'ailleur), du coups je coderai comme ceci :

        if(tmp++>9) tmp=0;

        Qu'en penses tu ?
        • [^] # Re: quoi ?

          Posté par  . Évalué à 2.

          Je trouve ça plus "joli" comme ça:

          tmp = (tmp + 1) % 10

          et il n'y a plus de test.
          • [^] # Re: quoi ?

            Posté par  . Évalué à 2.

            entre un test et un reste de division...
            • [^] # Re: quoi ?

              Posté par  . Évalué à 1.

              - le processeurs actuels sont tous pipelinés.
              - d'une façon générale, les tests sont plus faciles à faire quend il n'y a pas de branchement.
              - lisibilité : le modulo a le mérite de montrer explicitement que tmp ne sort pas de [0-9]
              - la perfo, c'est bien... quand tu as des problèmes de perfo !

              - les gout et les couleurs !
          • [^] # Re: quoi ?

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

            "premature optimization is the root of all evil", un certain D. Knuth ...

            "It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell

            • [^] # Re: quoi ?

              Posté par  . Évalué à 4.

              Dans ce cas la, ce n'est pas de l'optimisation, ça dit exactement ce qu'on veut faire :

              additionner 1 à tmp dans Z/10Z
        • [^] # Re: quoi ?

          Posté par  . Évalué à 2.

          Dans un cas aussi simple, le compilateur voire le processeur ne saurait vraiment pas optimiser tout seul s'il y a lieu ? C'est un saut de 3 instructions assembleur au plus
          Sinon il me semblait qu'il valait mieux faire des switch ... case que des if là où c'est possible (avec les constantes connues à la compilation) pour améliorer la prédiction de branchement.
        • [^] # Re: quoi ?

          Posté par  . Évalué à 1.

          Hello...

          En effet, y'a pas mal de truc à améliorer... En même temps cette fonction je l'ai codée en vitesse et j'ai pas trop pris le temps de réfléchir à quelque chose de plus élégant ;)

          Si vous êtes intéressés sur le forum de archlinux y'a pas mal de personnes motivées!
    • [^] # Re: quoi ?

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

      500 lignes ?!?!
      Encore un truc bloaté…
      Va donc regarder http://tigerdyr.wheel.dk/ctwm-archive/1328.html
      • [^] # Re: quoi ?

        Posté par  . Évalué à 3.

        Moi je le fais en 0:
        J'utilise la console directement!

        Y'a tout dans la console!
        Tiens! Y'a même une porte!!
        -------------> [ ]
    • [^] # Re: quoi ?

      Posté par  . Évalué à 4.

      Encore plus impressionant quand on sait que le cat tout court de chez gnu fait plus de 700 lignes:
      http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=blob;f(...)
      • [^] # Re: quoi ?

        Posté par  . Évalué à 2.

        Mais au moins, GNU cat a des options, lui :-)

        Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

      • [^] # Re: quoi ?

        Posté par  . Évalué à 2.

        Tiens c'est marrant, mais c'est en regardant les sources de ce "wm" que j'ai eu l'envie d'en faire un ;)
    • [^] # Re: quoi ?

      Posté par  (Mastodon) . Évalué à 2.

      Bof, ça veut dire qu'il y'a 10x trop de lignes.

      Tinywm, 57 lignes :
      http://pastebin.com/qu4WJjUa
  • # #define CACA MOTH**F*KER

    Posté par  . Évalué à 7.

    Héhéhéhé, ça m'a fait bien rigoler ...

    Et quand je me dis que c'est toujours pareil, même en entreprise :) :)

    En tout cas bravo !

Suivre le flux des commentaires

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