On Sun, Jun 08, 2003 at 01:54:14AM +0000, Mikhael Goikhman wrote: > On 07 Jun 2003 14:17:41 -0400, Dan Espen wrote: > > > > Olivier Chapuis <[EMAIL PROTECTED]> writes: > > > On Mon, May 19, 2003 at 01:44:27PM +0200, Dominik Vogt wrote: > > > > Should the StyleById patch be applied before 2.6? Please cast > > > > your votes here. > > > > > > Seems that there is no conclusion here. It seems that there is two > > > votes for it (me and Mikhael) one vote against (Dominik) and one > > > unclear vote (Dan). So I ask for more votes and clarification > > > (Dan?). For that I send an other version of the patch (attached). > > > I've followed all the advice (I can follow) that I get in this > > > thread. In particular, I've followed all the remarks (as I can) of > > > Dominik regarding the code. So, Dominik I even hope you revert your > > > vote (very little hope ...). Also: the cmds are named WindowStyle and > > > DestroyWindowStyle and act on the selected window and there is the > > > doc and some tests in purify.fvwm2rc. > > Can you please clarify one thing. You previously said that after applying > many WindowStyle commands and switching themes the style list didn't grow. > Do I understand you correctly? Because it is the Dominik's reason against > the patch (you seem to cover several other reasons with your new patch). >
Yes, with fvwm-themes I've tried to switch and add some window style, switch and add some window style ..etc and the style list does not grow (in a not reasonable way). However, one can succeed to found a way for making the style list to explode (with a limited number of name) with or without the WindowStyle command. I think you have to do very strange things for this (with or without the WindowStyle command). By the way, I think we may improve a bit __simplify_style_list, by remplacing: if (!styles_have_same_id(*cur, *cmp)) { blockor((char *)&interflags, (char *)&interflags, (char *)&cmp->flag_mask, sizeof(style_flags)); blockor((char *)&interflags, (char *)&interflags, (char *)&cmp->flag_default, sizeof(style_flags)); cmp = SGET_PREV_STYLE(*cmp); continue; } by something like: Bool one_fw_can_match_both_ids(window_style s, window_style t) { if (SGET_ID_HAS_WINDOW_ID(s) && SGET_ID_HAS_WINDOW_ID(t) && SGET_WINDOW_ID(s) != SGET_WINDOW_ID(t)) { return False; } if (SGET_ID_HAS_NAME(s) && SGET_ID_HAS_NAME(t)) { if !(there exists a string which match SGET_NAME(s) and SGET_NAME(t)) { return False; } } return True; } if (!styles_have_same_id(*cur, *cmp)) { if (one_fw_can_match_both_ids(*cur,*cmp)) { blockor((char *)&interflags, (char *)&interflags, (char *)&cmp->flag_mask, sizeof(style_flags)); blockor((char *)&interflags, (char *)&interflags, (char *)&cmp->flag_default, sizeof(style_flags)); } cmp = SGET_PREV_STYLE(*cmp); continue; } but I've to think more and we have to found a cleaver algo for: "there exists a string which match SGET_NAME(s) and SGET_NAME(t))" Regards, Olivier -- Visit the official FVWM web page at <URL:http://www.fvwm.org/>. To unsubscribe from the list, send "unsubscribe fvwm-workers" in the body of a message to [EMAIL PROTECTED] To report problems, send mail to [EMAIL PROTECTED]