Sometimes I write things, sometimes I don't.

To content | To menu | To search

Sunday 22 January 2012

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.

Wednesday 9 September 2009

Exploitez vos codes C grâve à Java et sa JNI

Maintenant que je travaille depuis quelques semaines sur java-gnome, j'ai eu l'occasion (à plusieurs reprises) d'utiliser la JNI (pour Java Native Interface). Cet aspect de Java permet notamment d'exploiter du code C et C++ sans avoir à le réécrire totalement en Java ce qui n'est pas toujours possible (java-gnome n'est déjà pas complet alors réécrire GNOME en Java... on n'en parle même pas). Jusqu'à maintenant, je n'ai jamais vraiment cherché à comprendre comment la JNI fonctionnait, je me contentais de l'exploiter en me basant sur les divers codes déjà présents. Si j'écris cet article, on peut donc se douter que je suis allé un peu plus loin dans le sujet.

En effet, en recherchant une solution pour un problème (récupérer la taille de l'espace disque restant), je suis tombé sur de nombreux résultats dans lesquels les utilisateurs conseillaient d'utiliser un code natif via la JNI. C'est donc grâce à ça que j'ai décidé de comprendre comment la machine fonctionne (le côté JNI de java-gnome étant généré automatiquement, on ne le touche pas souvent). Pour comprendre comment utiliser la JNI, nous allons donc utiliser 3 méthodes que je qualifierais d'exemplaires. Pas parce que le code est impeccable, mais plutôt car on pourra voir comment gérer les paramètres et les types de retour.

Continue reading...