Modules d'extension pour LibFM

De LXDE.org
Aller à : navigation, rechercher

Depuis la version 1.2.0, LibFM vous permet d'ajouter des extensions (aussi connues comme greffons ou modules) propres afin d'ajouter des fonctionnalités à des applications qui l'utilisent (telles que PCManFM et LXPanel).

Vous pouvez désactiver ou activer des modules en utilisant les options de configuration de LibFM « modules_blacklist » et « modules_whitelist ». La première contient la liste des masques de modules qui ne sont pas autorisés à être chargés. La seconde contient la liste des exceptions de la liste noire (la première liste). Les éléments dans une liste sont délimités par un point-virgule et chaque élément contient un masque du type « type-de-module:clé-de-module ». Un masque peut contenir un caractère variable (une astérique). Si vous voulez utilisez une astérisque normalement, il faut la faire suivre d'une contre-oblique.

Comment créer un greffon

La création du module est simple. Ci-dessous, un exemple de module pour PCManFM qui ajoute une information sur la cible du lien dans la barre de statut.

#include <pcmanfm-modules.h>
#include <string.h>

FM_DEFINE_MODULE(tab_page_status, symlink)

static char *_sel_message(FmFileInfoList *files, gint n_files)
{
  FmFileInfo *fi = file_info_list_peek_head(files);
  if (n_files > 1 || !fm_file_info_is_symlink(fi))
    return NULL;
  return g_strdup_printf("=> %s", fm_file_info_get_target(fi));
}

FmTabPageStatusInit fm_module_init_tab_page_status = {
  NULL,
  NULL,
  _sel_message
};

Vous pouvez le compiler de la même manière que n'importe quelle autre application qui utilise GLib mais faites de la compilation de module partagé. Par exemple, voir la commande ci-dessous.

gcc -o tab-page-symlink.so -Wall -shared -fPIC `pkg-config --cflags --libs libfm` tab-page-symlink.c

Ensuite, installez dans le répertoire approprié et cela fonctionnera après redémarrage de l'application.

Types de greffons pris en charge par LibFM

Les modules sont installés dans $(libdir)/libfm/modules.

Type de module Objet du module
vfs Implémentation de VFS pour certains schémas d'URI

Types de greffons pris en charge par LibFM-GTK

Les modules sont installés dans $(libdir)/libfm/modules.

Type de module Objet du module
gtk_menu_scheme Extension de menu contextuel de répertoire et de sélection pour certains schémas d'URI
gtk_menu_mime Extension de menu contextuel de sélection pour certains types MIME
gtk_file_prop Extension de boîte de dialogue de propriétés de fichier pour certains types MIME
gtk_folder_col Implémentation de colonne de vue de répertoires personnalisée

Types de greffons pris en charge par PCManFM

Les modules sont installés dans $(libdir)/pcmanfm.

Type de module objet du module
tab_page_status Permettre l'ajout de texte dans la barre de statut de la fenêtre principale

Types de greffons pris en charge par LXPanel

Les modules sont installés dans $(libdir)/lxpanel/plugins.

Type de module Objet du module
lxpanel_gtk Greffon pour LXPanel

Types de greffons pris en charge par LXHotkey

Les modules sont installés dans $(libdir)/lxhotkey.

Type de module Objet du module
lxhotkey Greffon pour gérer certains paramètre de configuration de gestionnaire de fenêtres
lxhotkey_gui Greffon avec une interface graphique

Modules fournis avec LibFM et LibFM-GTK

Type de module:Clé Objet du module
vfs:menu Utilisation de VFS pour l'accès au menu du bureau via l'URI menu://applications/
vfs:search Utilisation de VFS pour la recherche de fichiers du système via l'URI search://
gtk_menu_scheme:* Prise en charge des options DES-EMA (lien en anglais cassé) définies par l'utilisateur dans le menu contextuel
gtk_menu_scheme:trash Mise à jour du menu contextuel pour les URI trash://
gtk_file_prop:application/x-desktop Permettre d'éditer les propriétés du fichier d'entrée de bureau (lien en anglais) dans la boîte de dialogue de propriétés du fichier
gtk_file_prop:inode/x-shortcut Permettre l'édition des propriétés de certains raccourcis vers l'URI dans la boîte de dialogue des propriétés du fichier

Greffons tiers connus

Type de module:Clé Nom original du module Objet du module
tab_page_status:image_size pcmanfm-image-size-module (lien en anglais) Afficher des tailles d'image dans la barre de statut