Blog de Guillaume

Tout n'est qu'une question de point de vue.

Aller au contenu | Aller au menu | Aller à la recherche

Une extension à Nautilus pour GNOME Split

astuce.pngBientôt 2 ans après avoir exprimé ma volonté de créer une extension pour Nautilus afin de pouvoir lancer un découpage ou un assemblage avec GNOME Split, cette extension est enfin arrivée.

Le but de l'extension est de proposer deux nouvelles entrées dans le menu contextuel de Nautilus. Lors d'un clic droit sur un fichier quelconque l'item "Découper le fichier..." apparaît, l'utiliser permet de lancer GNOME Split avec les arguments qui vont biens pour découper le fichier sélectionné. Lors d'un clic droit sur un fichier étant considéré comme la première partie d'un fichier qui a été découpé auparavant, l'entrée "Assembler les fichiers..." apparaît permettant de lancer GNOME Split pour assembler les parties.

nautilus-extension-decoupage.png
Concrètement, cette extension de Nautilus est codée en C, publiée sous GPL version 3 et déjà présente dans le PPA pour la version 11.10 d'Ubuntu.

    ~$ sudo add-apt-repository ppa:gnome-split-team/ppa
    ~$ sudo aptitude update
    ~$ sudo aptitude install nautilus-gnome-split


N'étant pas expert en développement d'extensions pour Nautilus toute aide est la bienvenue.
En espérant que cette extension soit utile.

GNOME Split en version 1.0

astuce.pngJ’aurais du en parler plus tôt, beaucoup plus tôt même. Le 18 novembre 2010 a été pour moi l’occasion de partager la version 1.0 de GNOME Split, nom de code Stable Isotope.

Cette version est donc sortie plus ou moins un an après la toute première version tout public de GNOME Split. Elle apporte principalement des corrections de bugs plutôt gênants et qui étaient là depuis pas mal de temps.

split-view.png
Comme on peut le voir l’interface n’a pas changé et j’avoue qu’elle me plaît bien comme elle est actuellement. Donc a priori, ça ne devrait pas (ou peu) changer par la suite. Voyons tout de même les corrections et quelques nouveautés qu’apporte la version 1.0 par rapport à la 0.9.

  • Amélioration des performances : les opérations de découpages et d’assemblages prennent en moyenne 2 fois moins de temps par rapport aux versions précédentes.
  • Prise en compte des cas où un ou plusieurs fichiers à assembler ne sont pas disponibles.
  • Meilleure gestion des exceptions et des erreurs dans le code.
  • Fenêtre de préférences légèrement revue pour la rendre plus compacte.
  • Correction générale de l’assistant, les pages ne se dupliquent plus.
  • Meilleure gestion de la fermeture des flux de fichiers lors d’un arrêt brutal (CTRL + C par exemple).
  • Affichage du pourcentage d’avancement dans le titre de la fenêtre.
  • Correction d’un bug qui ne permettait pas de découper des fichiers de plus de 2 Gio.
  • Mise à jour des traductions (traduction française complète).

J’espère que cette nouvelle version répondra aux attentes de beaucoup de personnes. Et nous voilà donc sur le chemin vers la 2.0 qui devra permettre après toutes les versions intermédiaires de découper un fichier en cryptant les données via mot de passe et aussi d’uploader des fichiers directement sur des sites web dédiés afin de les partager.

Comme toujours, les archives de code sont et le dépôt pour les ubunteros est ici.

Sortie de GNOME Split 0.8

code.pngIl y a quelques heures, je viens de sortir une nouvelle version de GNOME Split. Cette dernière est numérotée 0.8 et représente une étape de plus vers la 1.0. Cela fait un an environ que le voyage a commencé après la mort inévitable de gSplit.

GNOME Split 0.8 tire donc partie de java-gnome 4.0.16 et des dernières nouveautés offertes. Aucune nouveauté géniale n’a été ajoutée. Il s’agit simplement d’une amélioration de l’interface graphique.

gnome-split-0.8.png
Au niveau des changements qui ont été effectués, on notera qu’une partie du code a été réécrite, que le fichier de configure (Gentoo, Fedora et ArchLinux, si y’en a qui sont intéressés pour tester hésitez pas) a été mis à jour. Les unités utilisées pour les tailles de fichiers respectent les standards et leur représentation en chaînes de caractères est confiée à GLib. On remarquera aussi l’utilisation des accelerators dans les menus.

gnome-split-0.8-file.png
Enfin, et en vrac, la nouvelle barre d’information disponible dans GTK+ est utilisée pour montrer les informations et les warnings à l’utilisateur, la fenêtre principale se redimensionne automatiquement si nécessaire, des méthodes dépréciées ont été retirées du code, le curseur change d’état selon l’état de l’interface et des traductions ont été mises à jour et ajoutées.

Je profite de cet article pour faire le point sur les noms de code que je donne à chaque version. Je ne sais pas si quelqu’un l’aura remarqué mais chaque nom de code est en rapport avec une expression ou une scène de la série The Big Bang Theory. La version 0.8 se nomme Happy Birthday mais ça n’a pas vraiment de rapport avec la série.

Pour terminer, GNOME Split 0.8 est disponible sur Ubuntu via le PPA ou avec le code source bien évidemment. N’hésitez pas à faire de paquets pour vos distributions favorites et à me donner vos avis et éventuellement à me dire les modifications à apporter.

Sortie de java-gnome 4.0.16 et le futur

java.pngIl y a quelques jours, le 17 juin 2010 pour être précis, une nouvelle version de java-gnome est sortie. Cette dernière, numérotée 4.0.16, apporte comme toujours son lot d’amélioration. Il y a eu tout de même moins de modifications par rapport à ce que l’on a pu voir précédemment mais quand même. Une nouvelle version apporte toujours un peu de neuf (ou de vieux remis à neuf) et ça fait plaisir.

1. Nouvelle version : 4.0.16

Ainsi, java-gnome comporte maintenant le support complet pour l’utilisation des “accelerators” (on peut peut-être traduire par “raccourcis”), qui sont des combinaisons de touches permettant d’activer des actions et des entrées dans les menus. Je pense que bon nombre d’entre nous connaissent le très classique CTRL + Q pour quitter un programme. Le coeur de l’API se situe dans la classe AcceleratorGroup mais il faudra aussi utiliser les méthodes setAccelerator() des classes MenuItem et Action. L’API native étant presque incompréhensible, le travail pour porter tout ça en Java a été assez conséquent.

accelerators.png
De manière plus rapide, le support des opérateurs utilisables avec Cairo a été ajouter avec la classe Operator. Une bonne quantité d’exemple en image en montre le principe (images bien entendu générées avec java-gnome lors de la construction de la documentation. Le style CENTER a été ajouté dans la classe ButtonBoxStyle. Les fichiers .defs on été mis à jour pour prendre en compte les modifications apportées par GTK 2.18 et et le widget InfoBar a été ajouté (effectués par votre serviteur). Les interfaces Activatable et Editable ont reçu quelques changements tout comme la classe Glib qui comporte une nouvelle méthode formatSizeForDisplay() permettant de formater un taille d’octets en une chaîne de caractères plus lisibles pour nous humains. Enfin, une dernière méthode ensureNative() a été ajoutée à la classe Window de GDK.

2. Le futur

En tant que contributeur et avec les autres personnes travaillant sur java-gnome, nous nous sommes aperçu que maintenir un jeu de fichiers .defs pour générer la partie non publique de l’API commençait à être compliqué. Nous avons alors changer un peu le plan prévu. C’est pourquoi, en ce moment, certains travaillent sur l’utilisation du projet GObject Introspection pour générer une partie de l’API. C’est probablement le meilleur moyen d’avoir une source donnée la plus complète et la plus à jour afin de garder les bindings les plus proches des dernières versions des bibliothèques natives. Cependant, la migration vers GObject Introspection demande un travail long et délicat puisqu’il faut réécrire une partie du générateur de code que l’on sait stable puisqu’il commence à prendre de l’âge. J’espère tout de même que l’on aura quelque chose de fonctionnel assez vite afin de tester et stabiliser le code le plus rapidement possible.

Le futur de java-gnome prévoit de bonnes surprises, c’est certain. Tout ça dans le but d’améliorer encore l’API telle qu’on la connaît et de toucher un public toujours plus grand.

Un nouveau pas vers GNOME 3.0 : GNOME 2.30 est là

Comme vous le saviez peut-être, aujourd’hui est sortie la version 2.30 de GNOME. Cette version qui devait à la base être nommée 3.0 n’est qu’une étape vers GNOME 3.0. Qu’est-ce que GNOME ? C’est un environnement de bureau axé sur la simplicité, qui offre à l’utilisateur des applications pour pouvoir exploiter son ordinateur du mieux possible. Il offre également pour les développeurs tout un panel de bibliothèques qui permet de développer des applications s’intégrant au bureau GNOME de la manière la plus conviviale possible.


C’est donc aujourd’hui (31 mars 2010) que la version 2.30 de GNOME sort. Au programme, un mode d’affichage partagé pour Nautilus, Empathy qui progresse grâce à des méthodes de drag’n’drop et une meilleure gestion de quelques protocoles de messagerie instantanée, une synchronisation automatique de notes de Tomboy, le lecteur de PDF Evince améliore sa gestion de l’impression et ajoute la possibilité d’attacher des notes, enfin la navigateur Epiphany se voit octroyé de nouvelles fonctionnalités. Bien entendu, je ne fais pas toute la liste des nouveautés car il y a une page pour ça.

Pour ma part, je m’intéresse particulièrement aux changements opérés dans les bibliothèques et surtout GTK+ 2.20 afin de savoir où aller avec java-gnome (qui devrait commencer à tirer partie de GNOME 2.30). N’oublions pas également que GNOME 2.30 sera (et même est déjà utilisé) pour la version, déjà très populaire, 10.04, aussi connu sous le nom de Lucid Lynx, de Ubuntu. Celle-ci sera d’ailleurs une nouvelle LTS (Long Term Support).

Il ne nous reste qu’à apprécier cette nouvelle release (de manière globale) et regarder comment va se profiler le futur et révolutionnaire GNOME 3.0.

GNOME Split sort en version 0.1

Comme je l'avais annoncé la semaine dernière la sortie de la première version de GNOME Split était imminente. Et bien aujourd'hui, c'est officiel, la version 0.1 est désormais disponible. Vous pouvez la télécharger sur la page du projet sur Launchpad.

Pour l'instant, il est possible de découper et assembler des fichiers au format Xtremsplit (extension en .xtm) et au format GNOME Split (extension .gsp). Pas de paquet pour les diverses distributions (en fait pour le moment j'ai du mal à packager le tout pour Ubuntu sur mon PPA). Aucun bug n'a été trouvé pour le moment (sachant que j'ai été le seul cobaye), à vous donc de me les rapporter. Pour les impatients qui n'ont pas peur de compiler, un tutoriel est disponible ici et pour ceux qui sont intéressés, il est possible de suivre le développement ici.

GNOME Split débarque... bientôt

Ça faisait longtemps (pour ne pas dire très longtemps) que je n'avais pas parlé de mon projet de découpeur et assembleur de fichiers. En effet, gSplit est en arrêt depuis plusieurs semaines (voire mois). J'ai, en fait, décidé de le recoder en partant d'une page d'Eclipse blanche et au passage de le renommer GNOME Split.

De l'ambition ? Oh oui, il en a ! Le but est de faire un découpeur et assembleur de fichiers supportant plusieurs formats (dont le fameux Xtremsplit [ce qui est déjà fait]). Pourquoi n'est-il pas tout de suite dans sa première version ? J'ai encore un algorithme de découpage / assemblage à implémenter (j'ai implémenté celui de Xtremsplit avant celui propre à GNOME Split... Qui a dit paradoxal ?), la fonctionnalité d'arrêt en cours d'action et un léger bug à corriger. J'espère que tout ceci sera fait d'ici la fin de semaine pour que le petit outil sorte en version 0.1. D'ici là, je vous offre quelques petites captures d'écran.




Ah oui, j'oubliais ! Une chose qui serait très sympa serait d'avoir un nouveau logo. Donc si vous en avez l'envie et le temps, n'hésitez pas à m'envoyer vos créations (le must serait que celles-ci respectent les conventions du Tango Desktop Project). L'auteur du logo retenu aura bien évidemment sa place dans les crédits du projet. Merci d'avance.

Eclipse, ses boutons et Ubuntu 9.10

Avec l'arrivée de Ubuntu 9.10, je me suis aperçu d'un bug sur Eclipse. Ayant fait une installation manuelle (je ne suis pas passé par le paquet disponible dans les dépôts), je ne sais pas si ce problème apparaît seulement pour les personnes ayant effectué la même installation que moi ou s'il est commun à tous.

Voilà le problème, parfois les boutons (OK, Annuler, etc) ne fonctionnent pas toujours, alors que leurs raccourcis clavier, eux, fonctionnent correctement. Ce bug n'est pas vraiment bloquant, en revanche, à la longue, il est très agaçant. Pour le corriger, il suffit de lancer Eclipse par le biais d'un petit script shell.

Pour cela, on édite / crée le fichier /usr/local/bin/eclipse pour y mettre le code suivant.
#!/bin/sh
export ECLIPSE_HOME="/opt/eclipse"
export GDK_NATIVE_WINDOWS=1
$ECLIPSE_HOME/eclipse $*


C'est la troisième ligne de ce script qui va résoudre le bug. D'ailleurs ce dernier va être résolu avec la version 3.6. Il est dû au fait qu'à partir de GTK 2.18, le comportement des fenêtres GDK et GTK a été revu. N'oubliez pas de modifier la variable ECLIPSE_HOME pour qu'elle pointe sur votre installation de Eclipse.

- page 1 de 3