Exemple #1
0
/*****************  Create/Destroy MyBackgroundConfig *****************/
MyBackgroundConfig *CreateMyBackgroundConfig ()
{
	MyBackgroundConfig *config =
			(MyBackgroundConfig *) safemalloc (sizeof (MyBackgroundConfig));

	config->name = NULL;
	config->flags = 0;
	config->data = NULL;
	init_asgeometry (&(config->cut));
	config->tint = NULL;
	init_asgeometry (&(config->scale));
	config->pad = NULL;
	config->next = NULL;

	return config;
}
Exemple #2
0
static void
InitWinListConfig (ASModuleConfig *asm_config, Bool free_resources)
{
	WinListConfig *config = AS_WINLIST_CONFIG(asm_config);
	if( config ) 
	{
		if( free_resources ) 
		{
			int i ;
			destroy_string(&(config->UnfocusedStyle));
			destroy_string(&(config->FocusedStyle));
			destroy_string(&(config->StickyStyle));
			destroy_string(&(config->UrgentStyle));

			for (i = 0; i < MAX_MOUSE_BUTTONS; ++i)
				if (config->Action[i])
            		destroy_string_list(config->Action[i],0);
			
#define FREE_COLLIDES(type) do { \
			destroy_string_list(&(config->type##Collides[0]),config->type##Collides_nitems); \
			if( config->type##Collides_wrexp ) { \
				for( i = 0 ; i < config->type##Collides_nitems ; ++i ) destroy_wild_reg_exp(config->type##Collides_wrexp[i]); \
				free( config->type##Collides_wrexp ); \
			}}while(0)
			
			if( config->NoCollides_nitems > 0 ) FREE_COLLIDES(No);
			if( config->AllowCollides_nitems > 0 ) FREE_COLLIDES(Allow);			
		}
//		memset( config, 0x00, sizeof(WinListConfig));
		config->flags = WINLIST_ShowIcon|WINLIST_ScaleIconToTextHeight ;
    	init_asgeometry (&(config->Geometry));
	    config->gravity = StaticGravity;
		config->MaxRows = 1;
		config->UseName = ASN_Name;
	    config->Align = ALIGN_CENTER;
	    config->HSpacing = DEFAULT_TBAR_HSPACING;
		config->VSpacing = DEFAULT_TBAR_VSPACING;
	    config->FBevel = config->UBevel = config->SBevel = DEFAULT_TBAR_HILITE ;
		config->IconAlign = NO_ALIGN ;
		config->IconLocation = 0 ;
		config->ShowHints = WINLIST_DEFAULT_ShowHints ;
		if( !free_resources ) 
		{
 	    	config->NoCollides = safecalloc(2, sizeof(char*)); ;
			config->NoCollides[0] = mystrdup(CLASS_PAGER);
			config->NoCollides[1] = mystrdup(CLASS_WHARF);		
			config->NoCollides_nitems = 2 ; 
		}
		config->NoCollidesSpacing = 1 ; 
	}
}