Vous utilisez un navigateur internet obsolète qui ne respecte pas les standards web du W3C. Vous ne pouvez donc pas visualiser correctement ce site.
Pour un meilleur confort de navigation et plus de sécurité, vous pouvez télécharger et utiliser gratuitement un des navigateurs internet suivants :
Firefox (Mozilla),
Chrome/Chromium (Google),
Opera (Opera),
Surf (Suckless.org)...

PyGitWeb – a python web git browser

Contexte

J’aime bien Git.

C’est le système de versionning/gestion de sources décentralisé créé par Linus Torvalds (le créateur de Linux pour les incultes!). Cependant, à l’inverse de Mercurial, il ne propose pas par défaut un serveur web pour naviguer dans les sources et les versions. Il y a bien des CGIs (gitweb et autres) pour combler ce manque mais ils sont tous trop lourds et complexes à mettre en oeuvre à mon goût.

Comme je désire avoir un moyen simple de naviguer (en lecture seule) dans plusieurs dépôts git sur mon serveur, j’ai décidé de coder mon propre outil : PyGitWeb.

Technologie

J’avais le choix de coder mon outil en PHP, Perl, Ruby ou Python et c’est ce dernier que j’ai choisit. Le serveur http est Lighttpd qui appelle l’interpréteur Python.

Fonctionnalités désirées

L’objectif d’avoir une page web (http://server/git/ par exemple) qui permet d’afficher tous les dépôts présents sur le serveur. On doit ensuite pouvoir aller consulter les commits, les versions, et les diffs/patchs. Pour finir, j’ajouterai une génération des tarballs pour chaque version.

Après 2 heures de réflexion, voici une ébauche (cliquez sur l’image pour agrandir) :

PyGitWeb

PyGitWeb

Sur cette ébauche, le programme va créer des instances Git pour chaque dépôts paramétrés. Il affiche une liste des dépôts et leur dernier commit. Je dois maintenant ajouter la gestion des liens et de la méthode GET pour le programme (pour passer les paramètres via l’URL). Aussi, la page est actuellement au format texte et il faut que je bascule au format xhtml.

Screenshots de la semaine

DWM clean

DWM mutt in tmux

DWM mutt in tmux

DWM chromium

DWM chromium

Mon dépot mercurial pour DWM : http://server.julienpecqueur.com:10000/.

Coup de coeur musical de la semaine

Avoir un sys-tray dans DWM !

J’ai enfin trouvé une solution pour avoir un sys-tray (la zone qui contient toutes les icônes des applications en arrière plan dans la statusbar)!

fbpanel-dwm dans DWM :)

fbpanel-dwm dans DWM :)

Suite à la discussion que j’ai lancé hier sur la mailing list de suckless, j’ai essayé plein de solutions sans succès jusqu’à ce que Anders envoie sa propre solution que je vais vous présenter ici.

Installer fbpanel-dwm (ancienne méthode – obsolète)

Anders m’a expliqué comment modifier fbpanel pour l’adapter à notre utilisation. J’ai donc créé ma propre version de fbpanel nommée fbpanel-dwm qui est disponible ici : archive tar.gz.

Si vous avez déjà une version de fbpanel installée, il faut la désinstaller avant!

Décompressez l’archive et installez fbpanel-dwm suivant la méthode classique :

cd fbpanel-dwm
./configure
sudo make install

Ensuite, créez le répertoire .fbpanel dans votre répertoire utilisateur :

mkdir ~/.fbpanel

Et copiez ce fichier dedans :

Fichier de configuration de fbpanel-dwm.

Installer fbpanel-dwm (nouvelle méthode!)

J’ai créé un PKGBUILD dans AUR pour fbpanel-dwm. Il suffit de l’installer avec yaourt :

yaourt -S fbpanel-dwm

Puis pour le configurer, on peut utiliser l’interface graphique :

fbpanel -C

Et ainsi supprimer tous les plugins inutiles et configurer la position sur l’écran, la couleur, etc…

fbpanel -C

fbpanel -C

Sur cet onglet, il faut setter les paramètres de position, taille et couleur.

fbpanel -C (suite)

fbpanel -C (suite)

Sur cet onglet on garde uniquement les plugins utiles pour un systray (Menu n’est pas essentiel mais peut être utile…).

Modification du fichier ~/.xinitrc

Vous pouvez télécharger mon fichier .xinitrc ou alors modifier le votre de cette façon (lancement de fbpanel-dwm en vert et les clients du tray en rouge) :

while true
do
xsetroot -name "`date +'%d/%m/%Y %k:%M'`"
sleep 1
done &
xcompmgr -c -C &
conky &
sleep 5 && fbpanel &
gmixer -d &
batterymon &
wicd-client &
sonata --hidden &
feh --bg-scale ~/.background.png &
exec ck-launch-session /usr/local/bin/dwm

DWM – Simplicité & élégance…

DWM rocks!

DWM rocks!

Malgrès la découverte de 2 excellents WMs : PekWM et OpenBox, je n’ai pas oublié mon DWM adoré… Pour tous ceux qui trouvent que DWM est un WM de geek moche, voici un screenshot pour les contredire! ^^ transparence, ombres sur les clients, conky… MIAM!

DWM & MPD Client

DWM & MPD Client

Actuellement j’utilise les 2 en parallèle : quand je me login sur tty1, ça lance OpenBox sur le display :0 et quand je me connecte sur le tty2, ça me lance DWM sur le display :1… Ensuite je switch entre les displays via CTRL + ALT + [F8 - F9]. C’est le meilleur moyen pour combiner les avantages des 2 WMs :)

Mon souhait pour 2010 : l’intégration d’une zone de notification dans la status-bar de DWM!