Re: FVWM: Again: desktop wishes(B

From: Toshi Isogai(B <toshi_isogai_at_maxtor.com>
Date: Thu, 30 May 1996 09:12:34 -0600 (MDT)

On 30 May 1996, Kai Grossjohann wrote:

> When I enter the following into FvwmTalk it produces an error:
> *FvwmPagerLabel 0 Bla
> The error is (line continuation added for easier reading):
> [FVWM][executeModule]: <<ERROR>> No such module \
> /usr/local/ls6/lib/X11/fvwm2/sun4-sunos *FvwmPagerLabel
>

Here is a patch I made a while ago.
------


I made a patch for 2.0.42 to add commands to add and delete
module configurations. From FvwmTalk, FvwmConsole or equivallent,

       DestroyModuleConfig <config>

will search lines starting with '*<config>' as a first word, delete
them. You can use Fvwm style wildcards. For example,

       DestroyModuleConfig FvwmWinListFont

will delete lines start with 'FvwmWinListFont' as a whole word.

       DestroyModuleConfig FvwmButtons*

will delete all lines starting '*FvwmButtons'.

To add new config lines, just like .fvwm2rc file,

       *FvwmButtonsRows 12

with no leading spaces.

You can easily re-customize modules with these commands without restarting
fvwm (Even easier with FvwmConsole).


Here is the patch.
==================================
diff fvwm-dist/builtins.c fvwm/builtins.c
26a27,28
> char *sys_errlist[];
> #define strerror(e) sys_errlist[e]
diff fvwm-dist/functions.c fvwm/functions.c
51a52
> {"DestroyModuleConfig", DestroyModConfig, F_NOP, FUNC_NO_WINDOW},
153,160c154,169
<
< while((!matched)&&(strlen(func_config[j].keyword)>0))
< {
< if(mystrcasecmp(function,func_config[j].keyword)==0)
< {
< matched=TRUE;
< /* found key word */
< func_config[j].action(eventp,w,tmp_win,context,action, &Module);
---
>   
>   if( function[0] == '#' ) {
> 	/* skip comments */
> 	matched=TRUE; 
>   } else if ( function[0] == '*' ) {
> 	matched=TRUE;
> 	AddModConfig( eventp, w, tmp_win, context, taction, &Module);
>   } else {
> 	while((!matched)&&(strlen(func_config[j].keyword)>0))  {
> 	  if(mystrcasecmp(function,func_config[j].keyword)==0)		{
> 		matched=TRUE;
> 		/* found key word */
> 		func_config[j].action(eventp,w,tmp_win,context,action, &Module);
> 	  }
> 	  else
> 		j++;
162,164c171
<       else
< 	j++;
<     }
---
>   }
diff fvwm-dist/misc.h fvwm/misc.h
469a470,473
> void DestroyModConfig(XEvent *eventp,Window junk,FvwmWindow *tmp_win,
> 		unsigned long context, char *action,int* Module);
> void AddModConfig(XEvent *eventp,Window junk,FvwmWindow *tmp_win,
>  		unsigned long context, char *action,int* Module);
diff fvwm-dist/read.c fvwm/read.c
174a175,217
> 
> void AddModConfig(XEvent *eventp,Window junk,FvwmWindow *tmp_win,
> 		unsigned long context, char *action,int* Module)
> /* interface function for AddToModList */
> {
> AddToModList( action );
> }
> 
> /**************************************************************/
> /* delete from module configuration                           */
> /**************************************************************/
> void DestroyModConfig(XEvent *eventp,Window junk,FvwmWindow *tmp_win,
> 		unsigned long context, char *action,int* Module)
> {
>   struct moduleInfoList *this, *that, *prev;
>   char *info;   /* info to be deleted - may contain wildcards */
>   char *mi;
> 
>   action = GetNextToken(action,&info); 
>   if( info == NULL ) {
> 	return;
>   }
> 
>   this = modlistroot;
>   prev = NULL;
> 
>   while(this != NULL)    {
> 	GetNextToken( this->data, &mi);
> 	that = this->next;
> 	if( matchWildcards(info, mi+1) ) {
> 	  free(this->data);
> 	  free(this);
> 	  if( prev ) {
> 		prev->next = that;
> 	  } else {
> 		modlistroot = that;
> 	  }
> 	} else {
> 	  prev = this;
> 	}
> 	this = that;
>   }
> }        
==========end of patch======================================
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Toshi Isogai   $_at_0k3-MxL@(J
-- I am an ASIC engineer, not a sick engineer --
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to majordomo_at_hpc.uh.edu.
To report problems, send mail to fvwm-owner_at_hpc.uh.edu.
Received on Thu May 30 1996 - 10:42:56 BST

This archive was generated by hypermail 2.3.0 : Mon Aug 29 2016 - 19:37:59 BST