diff options
author | Jérémie Courrèges-Anglas <jca@wxcvbn.org> | 2016-11-23 02:49:38 +0100 |
---|---|---|
committer | Jérémie Courrèges-Anglas <jca@wxcvbn.org> | 2016-11-23 02:49:38 +0100 |
commit | 9094ef8db4c47ab127cf6b0667f4c8c73bed5d10 (patch) | |
tree | fcf0b418f2396f9c286663adc4998a2785269ce9 /src | |
parent | 42323e46cb36cf6340fc4223bf3ec39250ae5ace (diff) | |
download | ratpoison-9094ef8db4c47ab127cf6b0667f4c8c73bed5d10.zip |
Move some implementation details from actions.h to actions.c
Diffstat (limited to 'src')
-rw-r--r-- | src/actions.c | 153 | ||||
-rw-r--r-- | src/actions.h | 144 |
2 files changed, 148 insertions, 149 deletions
diff --git a/src/actions.c b/src/actions.c index 00f9fce..a3d7c56 100644 --- a/src/actions.c +++ b/src/actions.c @@ -53,6 +53,30 @@ struct set_var struct list_head node; }; +LIST_HEAD(set_vars); + +struct user_command +{ + char *name; + cmdret * (*func)(int, struct cmdarg **); + struct argspec *args; + int num_args; + /* The number of required arguments. Any arguments after that are + optional and won't be filled in when called + interactively. ni_required_args is used when called non-interactively, + i_required_args when called interactively. */ + int ni_required_args, i_required_args; + + struct list_head node; +}; + +LIST_HEAD(user_commands); + +/* rp_keymaps is ratpoison's list of keymaps. */ +LIST_HEAD(rp_keymaps); + + +/* setter function prototypes */ static cmdret * set_resizeunit (struct cmdarg **args); static cmdret * set_wingravity (struct cmdarg **args); static cmdret * set_transgravity (struct cmdarg **args); @@ -87,7 +111,126 @@ static cmdret * set_startupmessage(struct cmdarg **args); static cmdret * set_warp(struct cmdarg **args); static cmdret * set_rudeness(struct cmdarg **args); -LIST_HEAD(set_vars); +/* command function prototypes. */ +static cmdret *cmd_abort (int interactive, struct cmdarg **args); +static cmdret *cmd_addhook (int interactive, struct cmdarg **args); +static cmdret *cmd_alias (int interactive, struct cmdarg **args); +static cmdret *cmd_banish (int interactive, struct cmdarg **args); +static cmdret *cmd_banishrel (int interactive, struct cmdarg **args); +static cmdret *cmd_bind (int interactive, struct cmdarg **args); +static cmdret *cmd_compat (int interactive, struct cmdarg **args); +static cmdret *cmd_chdir (int interactive, struct cmdarg **args); +static cmdret *cmd_clrunmanaged (int interactive, struct cmdarg **args); +static cmdret *cmd_colon (int interactive, struct cmdarg **args); +static cmdret *cmd_commands (int interactive, struct cmdarg **args); +static cmdret *cmd_curframe (int interactive, struct cmdarg **args); +static cmdret *cmd_delete (int interactive, struct cmdarg **args); +static cmdret *cmd_echo (int interactive, struct cmdarg **args); +static cmdret *cmd_escape (int interactive, struct cmdarg **args); +static cmdret *cmd_exec (int interactive, struct cmdarg **args); +static cmdret *cmd_execa (int interactive, struct cmdarg **args); +static cmdret *cmd_execf (int interactive, struct cmdarg **args); +static cmdret *cmd_fdump (int interactive, struct cmdarg **args); +static cmdret *cmd_focusdown (int interactive, struct cmdarg **args); +static cmdret *cmd_focuslast (int interactive, struct cmdarg **args); +static cmdret *cmd_focusleft (int interactive, struct cmdarg **args); +static cmdret *cmd_focusright (int interactive, struct cmdarg **args); +static cmdret *cmd_focusup (int interactive, struct cmdarg **args); +static cmdret *cmd_exchangeup (int interactive, struct cmdarg **args); +static cmdret *cmd_exchangedown (int interactive, struct cmdarg **args); +static cmdret *cmd_exchangeleft (int interactive, struct cmdarg **args); +static cmdret *cmd_exchangeright (int interactive, struct cmdarg **args); +static cmdret *cmd_swap (int interactive, struct cmdarg **args); +static cmdret *cmd_frestore (int interactive, struct cmdarg **args); +static cmdret *cmd_fselect (int interactive, struct cmdarg **args); +static cmdret *cmd_gdelete (int interactive, struct cmdarg **args); +static cmdret *cmd_getenv (int interactive, struct cmdarg **args); +static cmdret *cmd_gmerge (int interactive, struct cmdarg **args); +static cmdret *cmd_gmove (int interactive, struct cmdarg **args); +static cmdret *cmd_gnew (int interactive, struct cmdarg **args); +static cmdret *cmd_gnewbg (int interactive, struct cmdarg **args); +static cmdret *cmd_gnext (int interactive, struct cmdarg **args); +static cmdret *cmd_gnumber (int interactive, struct cmdarg **args); +static cmdret *cmd_gprev (int interactive, struct cmdarg **args); +static cmdret *cmd_gother (int interactive, struct cmdarg **args); +static cmdret *cmd_gravity (int interactive, struct cmdarg **args); +static cmdret *cmd_grename (int interactive, struct cmdarg **args); +static cmdret *cmd_groups (int interactive, struct cmdarg **args); +static cmdret *cmd_gselect (int interactive, struct cmdarg **args); +static cmdret *cmd_h_split (int interactive, struct cmdarg **args); +static cmdret *cmd_help (int interactive, struct cmdarg **args); +static cmdret *cmd_info (int interactive, struct cmdarg **args); +static cmdret *cmd_kill (int interactive, struct cmdarg **args); +static cmdret *cmd_lastmsg (int interactive, struct cmdarg **args); +static cmdret *cmd_license (int interactive, struct cmdarg **args); +static cmdret *cmd_link (int interactive, struct cmdarg **args); +static cmdret *cmd_listhook (int interactive, struct cmdarg **args); +static cmdret *cmd_meta (int interactive, struct cmdarg **args); +static cmdret *cmd_msgwait (int interactive, struct cmdarg **args); +static cmdret *cmd_newwm (int interactive, struct cmdarg **args); +static cmdret *cmd_next (int interactive, struct cmdarg **args); +static cmdret *cmd_next_frame (int interactive, struct cmdarg **args); +static cmdret *cmd_nextscreen (int interactive, struct cmdarg **args); +static cmdret *cmd_number (int interactive, struct cmdarg **args); +static cmdret *cmd_only (int interactive, struct cmdarg **args); +static cmdret *cmd_other (int interactive, struct cmdarg **args); +static cmdret *cmd_prev (int interactive, struct cmdarg **args); +static cmdret *cmd_prev_frame (int interactive, struct cmdarg **args); +static cmdret *cmd_prevscreen (int interactive, struct cmdarg **args); +static cmdret *cmd_quit (int interactive, struct cmdarg **args); +static cmdret *cmd_redisplay (int interactive, struct cmdarg **args); +static cmdret *cmd_remhook (int interactive, struct cmdarg **args); +static cmdret *cmd_remove (int interactive, struct cmdarg **args); +static cmdret *cmd_rename (int interactive, struct cmdarg **args); +static cmdret *cmd_resize (int interactive, struct cmdarg **args); +static cmdret *cmd_restart (int interactive, struct cmdarg **args); +static cmdret *cmd_rudeness (int interactive, struct cmdarg **args); +static cmdret *cmd_select (int interactive, struct cmdarg **args); +static cmdret *cmd_setenv (int interactive, struct cmdarg **args); +static cmdret *cmd_shrink (int interactive, struct cmdarg **args); +static cmdret *cmd_source (int interactive, struct cmdarg **args); +static cmdret *cmd_startup_message (int interactive, struct cmdarg **args); +static cmdret *cmd_time (int interactive, struct cmdarg **args); +static cmdret *cmd_tmpwm (int interactive, struct cmdarg **args); +static cmdret *cmd_unalias (int interactive, struct cmdarg **args); +static cmdret *cmd_unbind (int interactive, struct cmdarg **args); +static cmdret *cmd_unimplemented (int interactive, struct cmdarg **args); +static cmdret *cmd_unmanage (int interactive, struct cmdarg **args); +static cmdret *cmd_unsetenv (int interactive, struct cmdarg **args); +static cmdret *cmd_v_split (int interactive, struct cmdarg **args); +static cmdret *cmd_verbexec (int interactive, struct cmdarg **args); +static cmdret *cmd_version (int interactive, struct cmdarg **args); +static cmdret *cmd_warp (int interactive, struct cmdarg **args); +static cmdret *cmd_windows (int interactive, struct cmdarg **args); +static cmdret *cmd_readkey (int interactive, struct cmdarg **args); +static cmdret *cmd_newkmap (int interactive, struct cmdarg **args); +static cmdret *cmd_delkmap (int interactive, struct cmdarg **args); +static cmdret *cmd_definekey (int interactive, struct cmdarg **args); +static cmdret *cmd_undefinekey (int interactive, struct cmdarg **args); +static cmdret *cmd_set (int interactive, struct cmdarg **args); +static cmdret *cmd_sselect (int interactive, struct cmdarg **args); +static cmdret *cmd_ratwarp (int interactive, struct cmdarg **args); +static cmdret *cmd_ratinfo (int interactive, struct cmdarg **args); +static cmdret *cmd_ratrelinfo (int interactive, struct cmdarg **args); +static cmdret *cmd_ratclick (int interactive, struct cmdarg **args); +static cmdret *cmd_ratrelwarp (int interactive, struct cmdarg **args); +static cmdret *cmd_rathold (int interactive, struct cmdarg **args); +static cmdret *cmd_cnext (int interactive, struct cmdarg **args); +static cmdret *cmd_cother (int interactive, struct cmdarg **args); +static cmdret *cmd_cprev (int interactive, struct cmdarg **args); +static cmdret *cmd_dedicate (int interactive, struct cmdarg **args); +static cmdret *cmd_describekey (int interactive, struct cmdarg **args); +static cmdret *cmd_inext (int interactive, struct cmdarg **args); +static cmdret *cmd_iother (int interactive, struct cmdarg **args); +static cmdret *cmd_iprev (int interactive, struct cmdarg **args); +static cmdret *cmd_prompt (int interactive, struct cmdarg **args); +static cmdret *cmd_sdump (int interactive, struct cmdarg **args); +static cmdret *cmd_sfdump (int interactive, struct cmdarg **args); +static cmdret *cmd_sfrestore (int interactive, struct cmdarg **args); +static cmdret *cmd_undo (int interactive, struct cmdarg **args); +static cmdret *cmd_redo (int interactive, struct cmdarg **args); +static cmdret *cmd_putsel (int interactive, struct cmdarg **args); +static cmdret *cmd_getsel (int interactive, struct cmdarg **args); static void add_set_var (char *name, cmdret * (*fn)(struct cmdarg **), int nargs, ...) @@ -163,10 +306,6 @@ init_set_vars (void) add_set_var ("winname", set_winname, 1, "", arg_STRING); } -/* rp_keymaps is ratpoison's list of keymaps. */ -LIST_HEAD(rp_keymaps); -LIST_HEAD(user_commands); - /* i_nrequired is the number required when called interactively. ni_nrequired is when called non-interactively. */ static void @@ -438,6 +577,8 @@ static const char *invalid_negative_arg = "invalid negative argument"; static cmdret* frestore (char *data, rp_screen *s); static char* fdump (rp_screen *screen); +static int spawn(char *data, int raw, rp_frame *frame); + /* Delete all entries in the redo list. */ static void @@ -2506,7 +2647,7 @@ command (int interactive, char *data) cmdret *result = NULL; char *cmd, *rest; char *input; - user_command *uc; + struct user_command *uc; int i; if (data == NULL) diff --git a/src/actions.h b/src/actions.h index 4076bb1..3c708c8 100644 --- a/src/actions.h +++ b/src/actions.h @@ -27,8 +27,6 @@ #include "ratpoison.h" -typedef struct user_command user_command; - /* arg_REST and arg_SHELLCMD eat the rest of the input. */ enum argtype { arg_REST, arg_NUMBER, @@ -80,152 +78,12 @@ struct cmdret int success; }; -struct -user_command -{ - char *name; - cmdret * (*func)(int, struct cmdarg **); - struct argspec *args; - int num_args; - /* The number of required arguments. Any arguments after that are - optional and won't be filled in when called - interactively. ni_required_args is used when called non-interactively, - i_required_args when called interactively. */ - int ni_required_args, i_required_args; - - struct list_head node; -}; - -int spawn(char *data, int raw, rp_frame *frame); -cmdret *command (int interactive, char *data); - -/* command function prototypes. */ -#define RP_CMD(cmd) cmdret *cmd_ ## cmd (int interactive, struct cmdarg **args) -RP_CMD (abort); -RP_CMD (addhook); -RP_CMD (alias); -RP_CMD (banish); -RP_CMD (banishrel); -RP_CMD (bind); -RP_CMD (compat); -RP_CMD (chdir); -RP_CMD (clrunmanaged); -RP_CMD (colon); -RP_CMD (commands); -RP_CMD (curframe); -RP_CMD (delete); -RP_CMD (echo); -RP_CMD (escape); -RP_CMD (exec); -RP_CMD (execa); -RP_CMD (execf); -RP_CMD (fdump); -RP_CMD (focusdown); -RP_CMD (focuslast); -RP_CMD (focusleft); -RP_CMD (focusright); -RP_CMD (focusup); -RP_CMD (exchangeup); -RP_CMD (exchangedown); -RP_CMD (exchangeleft); -RP_CMD (exchangeright); -RP_CMD (swap); -RP_CMD (frestore); -RP_CMD (fselect); -RP_CMD (gdelete); -RP_CMD (getenv); -RP_CMD (gmerge); -RP_CMD (gmove); -RP_CMD (gnew); -RP_CMD (gnewbg); -RP_CMD (gnext); -RP_CMD (gnumber); -RP_CMD (gprev); -RP_CMD (gother); -RP_CMD (gravity); -RP_CMD (grename); -RP_CMD (groups); -RP_CMD (gselect); -RP_CMD (h_split); -RP_CMD (help); -RP_CMD (info); -RP_CMD (kill); -RP_CMD (lastmsg); -RP_CMD (license); -RP_CMD (link); -RP_CMD (listhook); -RP_CMD (meta); -RP_CMD (msgwait); -RP_CMD (newwm); -RP_CMD (next); -RP_CMD (next_frame); -RP_CMD (nextscreen); -RP_CMD (number); -RP_CMD (only); -RP_CMD (other); -RP_CMD (prev); -RP_CMD (prev_frame); -RP_CMD (prevscreen); -RP_CMD (quit); -RP_CMD (redisplay); -RP_CMD (remhook); -RP_CMD (remove); -RP_CMD (rename); -RP_CMD (resize); -RP_CMD (restart); -RP_CMD (rudeness); -RP_CMD (select); -RP_CMD (setenv); -RP_CMD (shrink); -RP_CMD (source); -RP_CMD (startup_message); -RP_CMD (time); -RP_CMD (tmpwm); -RP_CMD (unalias); -RP_CMD (unbind); -RP_CMD (unimplemented); -RP_CMD (unmanage); -RP_CMD (unsetenv); -RP_CMD (v_split); -RP_CMD (verbexec); -RP_CMD (version); -RP_CMD (warp); -RP_CMD (windows); -RP_CMD (readkey); -RP_CMD (newkmap); -RP_CMD (delkmap); -RP_CMD (definekey); -RP_CMD (undefinekey); -RP_CMD (set); -RP_CMD (sselect); -RP_CMD (ratwarp); -RP_CMD (ratinfo); -RP_CMD (ratrelinfo); -RP_CMD (ratclick); -RP_CMD (ratrelwarp); -RP_CMD (rathold); -RP_CMD (cnext); -RP_CMD (cother); -RP_CMD (cprev); -RP_CMD (dedicate); -RP_CMD (describekey); -RP_CMD (inext); -RP_CMD (iother); -RP_CMD (iprev); -RP_CMD (prompt); -RP_CMD (sdump); -RP_CMD (sfdump); -RP_CMD (sfrestore); -RP_CMD (undo); -RP_CMD (redo); -RP_CMD (putsel); -RP_CMD (getsel); - void del_frame_undo (rp_frame_undo *u); rp_keymap *find_keymap (char *name); void init_user_commands(void); void initialize_default_keybindings (void); +cmdret *command (int interactive, char *data); cmdret *cmdret_new (int success, char *fmt, ...); void cmdret_free (cmdret *ret); void keymap_free (rp_keymap *map); |