Better plugin organization
This commit is contained in:
parent
4f8393cd12
commit
9322b2315c
7 changed files with 163 additions and 43 deletions
27
weechat-plugins/essai/Makefile
Normal file
27
weechat-plugins/essai/Makefile
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
# essai Makefile v4.3
|
||||||
|
|
||||||
|
WEECHAT_HEADER := /usr/include/weechat/weechat-plugin.h
|
||||||
|
PLUGIN =: ${XDG_DATA_HOME}/weechat/plugins/
|
||||||
|
GCCFLAGS := $(pkg-config --cflags weechat) -fPIC -Wall -Wextra
|
||||||
|
LIBFLAGS := -shared
|
||||||
|
GCCLIBS := $(pkg-config --libs weechat)
|
||||||
|
|
||||||
|
help :
|
||||||
|
@echo 'Pas d’aide.'
|
||||||
|
|
||||||
|
build : essai.o essai-command.o
|
||||||
|
if [ ! -d lib ] ; then mkdir lib ; fi
|
||||||
|
gcc $(LIBFLAGS) $(GCCFLAGS) obj/essai.o obj/essai-command.o \
|
||||||
|
-o lib/essai.so $(GCCLIBS)
|
||||||
|
|
||||||
|
essai.o : essai.c essai.h essai-command.h $(WEECHAT_HEADER)
|
||||||
|
if [ ! -d obj ] ; then mkdir obj ; fi
|
||||||
|
gcc $(GCCFLAGS) -c essai.c -o obj/essai.o $(GCCLIBS)
|
||||||
|
|
||||||
|
essai-command.o : essai-command.c essai.h essai-command.h $(WEECHAT_HEADER)
|
||||||
|
if [ ! -d obj ] ; then mkdir obj ; fi
|
||||||
|
gcc $(GCCFLAGS) -c essai-command.c -o obj/essai-command.o $(GCCLIBS)
|
||||||
|
|
||||||
|
clean :
|
||||||
|
rm -r obj
|
||||||
|
rm -r lib
|
5
weechat-plugins/essai/build.sh
Normal file
5
weechat-plugins/essai/build.sh
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/bash
|
||||||
|
gcc $(pkg-config --cflags weechat) \
|
||||||
|
-shared -fPIC -Wall -Wextra src/essai.c src/essai-command.c -o lib/essai.so \
|
||||||
|
$(pkg-config --libs weechat) && \
|
||||||
|
mv -v lib/essai.so ${XDG_DATA_HOME}/weechat/plugins/
|
|
@ -1,43 +0,0 @@
|
||||||
/*
|
|
||||||
gcc \$(pkg-config --cflags weechat) -shared -fPIC -Wall -Wextra essai.c -o essai.so $(pkg-config --libs weechat)
|
|
||||||
*/
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <weechat/weechat-plugin.h>
|
|
||||||
|
|
||||||
WEECHAT_PLUGIN_NAME("essai");
|
|
||||||
WEECHAT_PLUGIN_DESCRIPTION("Plugin just to test the library :-/");
|
|
||||||
WEECHAT_PLUGIN_AUTHOR("Alnotz");
|
|
||||||
WEECHAT_PLUGIN_VERSION("0.1.0");
|
|
||||||
WEECHAT_PLUGIN_LICENSE("GPL-3.0-or-later");
|
|
||||||
WEECHAT_PLUGIN_PRIORITY(999);
|
|
||||||
|
|
||||||
struct t_weechat_plugin *weechat_plugin = NULL;
|
|
||||||
|
|
||||||
int command_essai(const void *pointer,
|
|
||||||
void *data,
|
|
||||||
struct t_gui_buffer *buffer,
|
|
||||||
int argc,
|
|
||||||
char **argv,
|
|
||||||
char **argv_eol){
|
|
||||||
/*Rien*/
|
|
||||||
return WEECHAT_RC_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
int weechat_plugin_init(struct t_weechat_plugin *plugin,
|
|
||||||
int argc,
|
|
||||||
char *argv[]){
|
|
||||||
weechat_plugin = plugin;
|
|
||||||
weechat_hook_command("essai",
|
|
||||||
"Une commande d’essai",
|
|
||||||
"",
|
|
||||||
"Aucun paramètre",
|
|
||||||
NULL,
|
|
||||||
&command_essai,
|
|
||||||
NULL,
|
|
||||||
NULL);
|
|
||||||
return WEECHAT_RC_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
int weechat_plugin_end(struct t_weechat_plugin *plugins){
|
|
||||||
return WEECHAT_RC_OK;
|
|
||||||
}
|
|
63
weechat-plugins/essai/src/essai-command.c
Normal file
63
weechat-plugins/essai/src/essai-command.c
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <weechat/weechat-plugin.h>
|
||||||
|
#include "essai.h"
|
||||||
|
#include "essai-command.h"
|
||||||
|
|
||||||
|
int essai_command(const void *pointer,
|
||||||
|
void *data,
|
||||||
|
struct t_gui_buffer *buffer,
|
||||||
|
int argc,
|
||||||
|
char **argv,
|
||||||
|
char **argv_eol){
|
||||||
|
int weechat_rc;
|
||||||
|
|
||||||
|
if(weechat_buffer_match_list(buffer,
|
||||||
|
"core.weechat")){
|
||||||
|
weechat_printf(NULL,
|
||||||
|
"Nombre d’arguments : %s%d%s\n"
|
||||||
|
"Commande 0 : %s%s%s\n"
|
||||||
|
"Commande 0 (fin de ligne) : %s%s%s",
|
||||||
|
weechat_color("blue"),
|
||||||
|
argc,
|
||||||
|
weechat_color("reset"),
|
||||||
|
weechat_color("green"),
|
||||||
|
argv[0],
|
||||||
|
weechat_color("reset"),
|
||||||
|
weechat_color("green"),
|
||||||
|
argv_eol[0],
|
||||||
|
weechat_color("reset"));
|
||||||
|
for(int i=1; i<argc; i++){
|
||||||
|
weechat_printf(NULL,
|
||||||
|
"Commande %d : %s%s%s\n"
|
||||||
|
"Commande %d (fin de ligne) : %s%s%s",
|
||||||
|
i,
|
||||||
|
weechat_color("green"),
|
||||||
|
argv[i],
|
||||||
|
weechat_color("reset"),
|
||||||
|
i,
|
||||||
|
weechat_color("green"),
|
||||||
|
argv_eol[i],
|
||||||
|
weechat_color("reset"));
|
||||||
|
}
|
||||||
|
weechat_rc = WEECHAT_RC_OK;
|
||||||
|
} else {
|
||||||
|
weechat_printf(NULL,
|
||||||
|
"Il n’y a que dans ce tampon que la commande %s/essai%s est possible.",
|
||||||
|
weechat_color("italic"),
|
||||||
|
weechat_color("-italic"));
|
||||||
|
weechat_rc = WEECHAT_RC_ERROR;
|
||||||
|
}
|
||||||
|
return weechat_rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
void essai_command_init(){
|
||||||
|
weechat_hook_command("1000|essai",
|
||||||
|
"Une commande d’essai",
|
||||||
|
"[version]",
|
||||||
|
"version : description du greffon",
|
||||||
|
"version %-",
|
||||||
|
&essai_command,
|
||||||
|
NULL,
|
||||||
|
NULL);
|
||||||
|
}
|
||||||
|
|
6
weechat-plugins/essai/src/essai-command.h
Normal file
6
weechat-plugins/essai/src/essai-command.h
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
#ifndef ESSAI_COMMAND_H
|
||||||
|
#define ESSAI_COMMAND_H
|
||||||
|
|
||||||
|
extern void essai_command_init();
|
||||||
|
|
||||||
|
#endif//ESSAI_COMMAND_H
|
47
weechat-plugins/essai/src/essai.c
Normal file
47
weechat-plugins/essai/src/essai.c
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
/*
|
||||||
|
gcc $(pkg-config --cflags weechat) \
|
||||||
|
-shared -fPIC -Wall -Wextra essai.c essai-command.c -o ./essai.so \
|
||||||
|
$(pkg-config --libs weechat)
|
||||||
|
*/
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <weechat/weechat-plugin.h>
|
||||||
|
#include "essai.h"
|
||||||
|
#include "essai-command.h"
|
||||||
|
|
||||||
|
WEECHAT_PLUGIN_NAME(ESSAI_PLUGIN_NAME);
|
||||||
|
WEECHAT_PLUGIN_DESCRIPTION(ESSAI_PLUGIN_DESCRIPTION);
|
||||||
|
WEECHAT_PLUGIN_AUTHOR(ESSAI_PLUGIN_AUTHOR);
|
||||||
|
WEECHAT_PLUGIN_VERSION(ESSAI_PLUGIN_VERSION);
|
||||||
|
WEECHAT_PLUGIN_LICENSE(ESSAI_PLUGIN_LICENCE);
|
||||||
|
WEECHAT_PLUGIN_PRIORITY(ESSAI_PLUGIN_PRIORITY);
|
||||||
|
|
||||||
|
struct t_weechat_plugin *weechat_plugin = NULL;
|
||||||
|
|
||||||
|
int weechat_plugin_init(struct t_weechat_plugin *plugin,
|
||||||
|
int argc,
|
||||||
|
char *argv[]){
|
||||||
|
weechat_plugin = plugin;
|
||||||
|
|
||||||
|
essai_command_init();
|
||||||
|
|
||||||
|
weechat_printf(NULL,
|
||||||
|
"%sGreffon %sessai%s connecté!%s",
|
||||||
|
weechat_color("green"),
|
||||||
|
weechat_color("/green"),
|
||||||
|
weechat_color("green"),
|
||||||
|
weechat_color("reset"));
|
||||||
|
|
||||||
|
return WEECHAT_RC_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
int weechat_plugin_end(struct t_weechat_plugin *plugin){
|
||||||
|
weechat_printf(NULL,
|
||||||
|
"%sGreffon %sessai%s déconnecté!%s",
|
||||||
|
weechat_color("red"),
|
||||||
|
weechat_color("/red"),
|
||||||
|
weechat_color("red"),
|
||||||
|
weechat_color("reset"));
|
||||||
|
|
||||||
|
return WEECHAT_RC_OK;
|
||||||
|
}
|
||||||
|
|
15
weechat-plugins/essai/src/essai.h
Normal file
15
weechat-plugins/essai/src/essai.h
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
#ifndef ESSAI_H
|
||||||
|
#define ESSAI_H
|
||||||
|
|
||||||
|
#define weechat_plugin essai_plugin
|
||||||
|
|
||||||
|
#define ESSAI_PLUGIN_NAME "essai"
|
||||||
|
#define ESSAI_PLUGIN_DESCRIPTION "Plugin just to test the library :-/"
|
||||||
|
#define ESSAI_PLUGIN_AUTHOR "Alnotz"
|
||||||
|
#define ESSAI_PLUGIN_VERSION "0.1.0"
|
||||||
|
#define ESSAI_PLUGIN_LICENCE "GPL-3.0-or-later"
|
||||||
|
#define ESSAI_PLUGIN_PRIORITY 999
|
||||||
|
|
||||||
|
extern struct t_weechat_plugin *essai_plugin;
|
||||||
|
|
||||||
|
#endif//ESSAI_H
|
Loading…
Reference in a new issue