On Thu, 06 Mar 2008 20:34:03 -0500
Dan Espen <[EMAIL PROTECTED]> wrote:
> =?ISO-8859-1?Q?Jes=FAs?= Guerrero <[EMAIL PROTECTED]> writes:
> > On Fri, 7 Mar 2008 00:44:09 +0100
> > Jes=FAs Guerrero <[EMAIL PROTECTED]> wrote:
> >
> > Conditionals patch revised and attached.
> >
> > Is it valid? Does it lack something?
> >
> > My idea is to shorten the list of available patches as much as we can by=20
> > including those that are evidently clean, useful and harmless upstream.
> > That way, we can ease the process for the rest of the patches.
>
> Except for not updating test cases (which almost no one is doing),
> it looks clean and reasonable to me.
I saw that file and plan to update it. I just need to watch into it
to understand the logic of the thing. Feel free to give any advice if
you feel that there's something relevant that I should know.
For now, I have a preliminary versions with that file included. Attached.
--
Jesús Guerrero <[EMAIL PROTECTED]>
diff -U5 -r fvwm/ChangeLog fvwm/ChangeLog
--- fvwm/ChangeLog 2008-03-04 01:09:54.000000000 +0100
+++ fvwm/ChangeLog 2008-03-07 01:33:47.000000000 +0100
@@ -1,5 +1,13 @@
+2008-03-07 Jesús Guerrero <i92guboj(at)terra(dot)es>
+
+ * fvwm/contitionals.c (CreateConditionMask):
+ add some conditional masks: HasTitle, HasBorders,
+ TitleAtBottom, TitleAtTop, TitleAtLeft, TitleAtRight
+ * doc/fvwm/conditionals.xml
+ documentation for the new conditions
+
2008-02-29 Viktor Griph <griph(at)dd(dot)chalmers(dot)se>
* fvwm/add_window.c (setup_frame_window):
fix core dump with ARGB detection code
fix compilation without XRender
diff -U5 -r fvwm/doc/fvwm/conditionals.xml fvwm/doc/fvwm/conditionals.xml
--- fvwm/doc/fvwm/conditionals.xml 2007-08-07 00:24:03.000000000 +0200
+++ fvwm/doc/fvwm/conditionals.xml 2008-03-07 01:33:06.000000000 +0100
@@ -187,11 +187,17 @@
<emphasis remap='I'>StickyAcrossPages</emphasis>,
<emphasis remap='I'>StickyIcon</emphasis>,
<emphasis remap='I'>StickyAcrossDesksIcon</emphasis>,
<emphasis remap='I'>StickyAcrossPagesIcon</emphasis>,
<emphasis remap='I'>Transient</emphasis>,
-<emphasis remap='I'>Visible</emphasis>.</para>
+<emphasis remap='I'>Visible</emphasis>,
+<emphasis remap='I'>HasTitle</emphasis>,
+<emphasis remap='I'>HasBorders</emphasis>,
+<emphasis remap='I'>TitleAtBottom</emphasis>,
+<emphasis remap='I'>TitleAtTop</emphasis>,
+<emphasis remap='I'>TitleAtLeft</emphasis>,
+<emphasis remap='I'>TitleAtRight</emphasis>.</para>
<para>The
<emphasis remap='I'>AcceptsFocus</emphasis>
condition excludes all windows that do not want the input focus
(the application has set the "Input hints" for the window to
@@ -454,10 +460,23 @@
<emphasis remap='I'>Visible</emphasis>
condition matches only windows that are at least partially
visible on the current viewport and not completely overlapped by
other windows.</para>
+<para>The
+<emphasis remap='I'>HasTitle</emphasis>
+condition matches only windows that have a title bar.</para>
+
+<para>The
+<emphasis remap='I'>HasBorders</emphasis>
+condition matches only windows that have borders.</para>
+
+<para>The
+<emphasis remap='I'>TitleAtBottom</emphasis>, <emphasis remap='I'>TitleAtTop</emphasis>, <emphasis remap='I'>TitleAtLeft</emphasis>, <emphasis remap='I'>TitleAtRight</emphasis>,
+conditions matches respectively only windows that have a title
+bar, and have it on the specified location.</para>
+
</section>
</section>
diff -U5 -r fvwm/fvwm/conditional.c fvwm/fvwm/conditional.c
--- fvwm/fvwm/conditional.c 2007-10-06 11:17:09.000000000 +0200
+++ fvwm/fvwm/conditional.c 2008-03-07 01:10:54.000000000 +0100
@@ -598,10 +598,40 @@
else if (StrEquals(cond,"HasHandles"))
{
SET_HAS_HANDLES(mask, on);
SETM_HAS_HANDLES(mask, 1);
}
+ else if (StrEquals(cond, "HasTitle"))
+ {
+ SET_HAS_TITLE(mask, on);
+ SETM_HAS_TITLE(mask, 1);
+ }
+ else if (StrEquals(cond, "HasBorders"))
+ {
+ SET_HAS_NO_BORDER(mask, !on);
+ SETM_HAS_NO_BORDER(mask, 1);
+ }
+ else if (StrEquals(cond, "TitleAtBottom"))
+ {
+ SET_TITLE_DIR(mask, DIR_S);
+ SETM_TITLE_DIR(mask, 1);
+ }
+ else if (StrEquals(cond, "TitleAtTop"))
+ {
+ SET_TITLE_DIR(mask, DIR_N);
+ SETM_TITLE_DIR(mask, 1);
+ }
+ else if (StrEquals(cond, "TitleAtLeft"))
+ {
+ SET_TITLE_DIR(mask, DIR_W);
+ SETM_TITLE_DIR(mask, 1);
+ }
+ else if (StrEquals(cond, "TitleAtRight"))
+ {
+ SET_TITLE_DIR(mask, DIR_E);
+ SETM_TITLE_DIR(mask, 1);
+ }
else if (StrEquals(cond,"Iconifiable"))
{
SET_IS_UNICONIFIABLE(mask, !on);
SETM_IS_UNICONIFIABLE(mask, 1);
}
diff -U5 -r fvwm/NEWS fvwm/NEWS
--- fvwm/NEWS 2008-03-04 01:09:54.000000000 +0100
+++ fvwm/NEWS 2008-03-07 01:50:47.000000000 +0100
@@ -3,10 +3,15 @@
-------------------------------------------------------------------
Changes in beta release 2.5.26 (not released yet)
+* New features:
+
+ - Added new condition masks: HasTitle, HasBorders,
+ TitleAtBottom, TitleAtTop, TitleAtLeft, TitleAtRight
+
* Bug fixes:
- Fix crash in ARGB visual detection code
- Fix compilation without XRender support
diff -U5 -r fvwm/tests/purify/purify.fvwm2rc fvwm/tests/purify/purify.fvwm2rc
--- fvwm/tests/purify/purify.fvwm2rc 2004-05-30 16:05:49.000000000 +0200
+++ fvwm/tests/purify/purify.fvwm2rc 2008-03-07 03:07:22.000000000 +0100
@@ -2826,10 +2826,22 @@
+ I CurrentEchoFunc !CurrentGlobalPage
+ I CurrentEchoFunc CurrentPageAnyDesk
+ I CurrentEchoFunc !CurrentPageAnyDesk
+ I CurrentEchoFunc CurrentGlobalPageAnyDesk
+ I CurrentEchoFunc !CurrentGlobalPageAnyDesk
+ + I CurrentEchoFunc HasTitle
+ + I CurrentEchoFunc !HasTitle
+ + I CurrentEchoFunc HasBorders
+ + I CurrentEchoFunc !HasBorders
+ + I CurrentEchoFunc TitleAtBottom
+ + I CurrentEchoFunc !TitleAtBottom
+ + I CurrentEchoFunc TitleAtTop
+ + I CurrentEchoFunc !TitleAtTop
+ + I CurrentEchoFunc TitleAtLeft
+ + I CurrentEchoFunc !TitleAtLeft
+ + I CurrentEchoFunc TitleAtRight
+ + I CurrentEchoFunc !TitleAtRight
# All test
+ I CurrentEchoFunc * \
!* \
window* \
window6 \
@@ -2893,11 +2905,23 @@
CurrentGlobalPage \
!CurrentGlobalPage \
CurrentPageAnyDesk \
!CurrentPageAnyDesk \
CurrentGlobalPageAnyDesk \
- !CurrentGlobalPageAnyDesk
+ !CurrentGlobalPageAnyDesk \
+ HasTitle \
+ !HasTitle \
+ HasBorders \
+ !HasBorders \
+ TitleAtBottom \
+ !TitleAtBottom \
+ TitleAtTop \
+ !TitleAtTop \
+ TitleAtLeft \
+ !TitleAtLeft \
+ TitleAtRight \
+ !TitleAtRight
DestroyFunc DirectionEchoFunc
AddToFunc DirectionEchoFunc
+ I Direction $* Nop
+ I KeepRc TestRc (Match) Echo Direction ($*) Match