mirror of
https://github.com/gryf/wmaker.git
synced 2026-04-25 10:01:26 +02:00
Update for 0.51.2-pre2
This commit is contained in:
@@ -81,6 +81,9 @@ WINGs bug fixes, WINGs color panel
|
||||
Robert A. Holak <panthar@tradeservices.com>
|
||||
bug fix
|
||||
|
||||
Michael Hokenson <logan@dct.com>
|
||||
wkde2menu.pl script
|
||||
|
||||
IKARASHI Akira <ikarashi@itlb.te.noda.sut.ac.jp>
|
||||
Workspace change bug fix
|
||||
|
||||
@@ -98,7 +101,7 @@ made autoarrange icons a runtime option, SHADOW_RESIZEBAR c-time option,
|
||||
no workspace switch to the same workspace, dashed icon selection,
|
||||
misclellaneous bug fixes
|
||||
|
||||
Alfredo K. Kojima <kojima@inf.ufrgs.br>
|
||||
Alfredo K. Kojima <kojima@windowmaker.org>
|
||||
Project maintainer
|
||||
|
||||
Jay Kominek <jkominek@xtn.net>
|
||||
@@ -141,9 +144,6 @@ Dan Pascu <dan@services.iiruc.ro>
|
||||
dock ghost (superfluous mode) fix, enhancement for scrollable menus,
|
||||
clip, numerous other stuff, project maintainer
|
||||
|
||||
Kenneth W. Persinger Jr. <Kenn_Persinger@sector7.com>
|
||||
tcl/tk dockit
|
||||
|
||||
Biagio Pippa <1993s017@educ.disi.unige.it>
|
||||
fixed miniaturization with transient window
|
||||
|
||||
|
||||
@@ -1,3 +1,15 @@
|
||||
Changes since version 0.51.1:
|
||||
.............................
|
||||
|
||||
- maximize for full screen
|
||||
- fixed problem with frame drawing in non-opaque
|
||||
- fixed installation path prob [jmknoble@pobox.com]
|
||||
- fixed bug moving window when only one window is on screen
|
||||
- fixed bug with ignored GNUstep attributes
|
||||
- fixed WPrefs crash in Mouse Preferences
|
||||
- fixed crash bug in WINGs/wmaker startup
|
||||
- added workaround for kde pager crash bug
|
||||
|
||||
Changes since version 0.51.0:
|
||||
.............................
|
||||
|
||||
@@ -34,7 +46,9 @@ Changes since version 0.51.0:
|
||||
- fixed crash with internal dialogs and multi-heads
|
||||
- added standard colormap support to wrlib (taken from libXmu sources)
|
||||
- fixed memory leak in attribute panel
|
||||
- fixed bug with window that can get focus if both shaded and hidden.
|
||||
- fixed crash with CalendarManager deiconify
|
||||
- fixed heisencrash when mapping new windows
|
||||
- fixed totally buggy wmaker.inst ~/.xinitrc checker
|
||||
|
||||
Changes since version 0.50.2:
|
||||
.............................
|
||||
|
||||
@@ -19,7 +19,7 @@ SUPPORTED PLATFORMS
|
||||
- Solaris 2.6.0
|
||||
- Solaris 2.7beta
|
||||
- SCO Unix
|
||||
- SGI Irix
|
||||
- SGI Irix 5.x, 6.5
|
||||
- OSF/1
|
||||
- HP-UX
|
||||
- AIX 4.1.4 / IBM PowerPC
|
||||
@@ -421,6 +421,10 @@ like not being able to use a graphic format library you think you have
|
||||
installed, look at the config.log file for clues of the problem.
|
||||
|
||||
|
||||
== Error with loading fonts, even if they exist.
|
||||
|
||||
Try rebuilding without NLS support.
|
||||
|
||||
== Error when configuring
|
||||
|
||||
ltconfig: unrecognized option `--no-reexec'
|
||||
@@ -487,9 +491,9 @@ CPP_PATH.
|
||||
LOCALES/INTERNATIONALIZATION
|
||||
============================
|
||||
|
||||
Window Maker has national language support.
|
||||
To enable national language support, you must compile
|
||||
Window Maker with some additional parameters.
|
||||
Window Maker has national language support. To enable national language
|
||||
support, you must compile Window Maker with some additional parameters.
|
||||
|
||||
|
||||
0 - You must have the GNU gettext package installed. It can be
|
||||
obtained at ftp://prep.ai.mit.edu/pub/gnu/gettext-nnn.tar.gz
|
||||
|
||||
@@ -39,9 +39,9 @@ echo
|
||||
echo "NOTE: If this script fails, read the INSTALL file and"
|
||||
echo "install by hand."
|
||||
echo
|
||||
echo "Please read the INSTALL and FAQ files before e-mailing "
|
||||
echo "questions. (we are lazy to reply questions already answered "
|
||||
echo "there as much as you are lazy to read these ;) "
|
||||
echo "Please read the README, INSTALL and FAQ files before e-mailing "
|
||||
echo "questions. We will IGNORE any questions that are already"
|
||||
echo "answered in the documentation."
|
||||
echo
|
||||
perai
|
||||
echo
|
||||
|
||||
@@ -2,6 +2,17 @@
|
||||
NEWS for veteran Window Maker users
|
||||
-----------------------------------
|
||||
|
||||
--- 0.51.2
|
||||
|
||||
Full Screen Maximization
|
||||
------------------------
|
||||
|
||||
The FullMaximize window attribute will allow the window to
|
||||
be maximized to the full size of the screen (ignoring anything
|
||||
like titlebar, resizebar, dock, panels etc). It should be usefull
|
||||
for programs that must use the whole screen, like games or things
|
||||
like presentation programs.
|
||||
|
||||
|
||||
--- 0.51.1
|
||||
|
||||
|
||||
@@ -66,6 +66,8 @@ making windows and doors.
|
||||
Documentation
|
||||
=============
|
||||
|
||||
Read before asking.
|
||||
|
||||
* README files all over the source tree have info related to the stuff
|
||||
in the directories.
|
||||
|
||||
@@ -302,17 +304,19 @@ to:
|
||||
#define NO_EMERGENCY_AUTORESTART
|
||||
|
||||
Then, in the src directory type:
|
||||
make clean
|
||||
make CFLAGS=-g
|
||||
make install
|
||||
|
||||
and wait for Window Maker to be installed.
|
||||
|
||||
Once having Window Maker installed, start X and reproduce the bug so
|
||||
that Window Maker crashes. When it does crash, type the following from
|
||||
your shell:
|
||||
that Window Maker crashes. When it does crash, go to the directory
|
||||
where you compiled wmaker and type the following from your shell:
|
||||
|
||||
script
|
||||
gdb wmaker path_to_the_core_file
|
||||
cd src
|
||||
gdb .libs/wmaker path_to_the_core_file
|
||||
|
||||
Then, in the gdb prompt type "bt". Quit from gdb by typing "quit"
|
||||
and then, in the shell prompt, type "exit".
|
||||
|
||||
@@ -9,9 +9,11 @@ Do ASAP:
|
||||
- add multiline support for balloons
|
||||
- move/add balloon to WINGs
|
||||
- finish XStandardColormap stuff in wrlib
|
||||
- finish menu editor/other stuff in wprefs
|
||||
|
||||
Need to do:
|
||||
===========
|
||||
- put a "Do not save workspace state" in the exit confirmation dialog
|
||||
- allow user to select/restore default root menu from wprefs
|
||||
- fix windoze cycle window patch
|
||||
- support for X11R6.4 extension for getting extra visual info in wrlib's
|
||||
|
||||
@@ -1,8 +1,19 @@
|
||||
changes since wmaker 0.51.1:
|
||||
...........................
|
||||
|
||||
- wusergnusteppath() will return a statically allocated string now.
|
||||
DO NOT FREE IT ANYMORE!!
|
||||
|
||||
|
||||
|
||||
changes since wmaker 0.51.0:
|
||||
............................
|
||||
|
||||
- applied c++ compat header patch from Martynas Kunigelis <mkunigelis@alna.lt>
|
||||
- added WMSetTextFieldBeveled()
|
||||
- removed W_GC() : use WMColorGC() instead
|
||||
- added WMCreatePixmap()
|
||||
- changed WMSetTextFieldEnabled() to WMSetTextFieldEditable()
|
||||
|
||||
changes since wmaker 0.50.1:
|
||||
............................
|
||||
|
||||
Binary file not shown.
Binary file not shown.
+157
-157
@@ -25,65 +25,65 @@ static char * Images_xpm[] = {
|
||||
"/ c #424960",
|
||||
"( c #272A35",
|
||||
"_ c #0E1015",
|
||||
": c #8295A0",
|
||||
"< c #9E7576",
|
||||
"[ c #323230",
|
||||
"} c #56504B",
|
||||
"| c #2C2119",
|
||||
"1 c #8D9294",
|
||||
"2 c #D3DAE0",
|
||||
"3 c #C1C9D0",
|
||||
"4 c #BFC2C4",
|
||||
"5 c #070C1B",
|
||||
"6 c #29354E",
|
||||
"7 c #4E5A77",
|
||||
"8 c #66718F",
|
||||
"9 c #788094",
|
||||
"0 c #828899",
|
||||
"a c #848A9E",
|
||||
"b c #7B8297",
|
||||
"c c #676D84",
|
||||
"d c #51576E",
|
||||
"e c #3B4151",
|
||||
"f c #1C1C20",
|
||||
"g c #FFFFFF",
|
||||
"h c #F8F8F8",
|
||||
"i c #F1F1F1",
|
||||
"j c #EAEAEA",
|
||||
"k c #E4E4E4",
|
||||
"l c #DDDDDD",
|
||||
"m c #D6D6D6",
|
||||
"n c #D0D0D0",
|
||||
"o c #C9C9C9",
|
||||
"p c #C2C2C2",
|
||||
"q c #BBBBBB",
|
||||
"r c #B5B5B5",
|
||||
"s c #AEAEAE",
|
||||
"t c #A7A7A7",
|
||||
"u c #A1A1A1",
|
||||
"v c #9A9A9A",
|
||||
"w c #939393",
|
||||
"x c #8C8C8C",
|
||||
"y c #868686",
|
||||
"z c #7F7F7F",
|
||||
"A c #787878",
|
||||
"B c #727272",
|
||||
"C c #6B6B6B",
|
||||
"D c #646464",
|
||||
"E c #5D5D5D",
|
||||
"F c #575757",
|
||||
"G c #505050",
|
||||
"H c #494949",
|
||||
"I c #434343",
|
||||
"J c #3C3C3C",
|
||||
"K c #353535",
|
||||
"L c #2E2E2E",
|
||||
"M c #282828",
|
||||
"N c #212121",
|
||||
"O c #1A1A1A",
|
||||
"P c #141414",
|
||||
"Q c #0D0D0D",
|
||||
"R c #060606",
|
||||
": c #FFFFFF",
|
||||
"< c #F8F8F8",
|
||||
"[ c #F1F1F1",
|
||||
"} c #EAEAEA",
|
||||
"| c #E4E4E4",
|
||||
"1 c #DDDDDD",
|
||||
"2 c #D6D6D6",
|
||||
"3 c #D0D0D0",
|
||||
"4 c #C9C9C9",
|
||||
"5 c #C2C2C2",
|
||||
"6 c #BBBBBB",
|
||||
"7 c #B5B5B5",
|
||||
"8 c #AEAEAE",
|
||||
"9 c #A7A7A7",
|
||||
"0 c #A1A1A1",
|
||||
"a c #9A9A9A",
|
||||
"b c #939393",
|
||||
"c c #8C8C8C",
|
||||
"d c #868686",
|
||||
"e c #7F7F7F",
|
||||
"f c #787878",
|
||||
"g c #727272",
|
||||
"h c #6B6B6B",
|
||||
"i c #646464",
|
||||
"j c #5D5D5D",
|
||||
"k c #575757",
|
||||
"l c #505050",
|
||||
"m c #494949",
|
||||
"n c #434343",
|
||||
"o c #3C3C3C",
|
||||
"p c #353535",
|
||||
"q c #2E2E2E",
|
||||
"r c #282828",
|
||||
"s c #212121",
|
||||
"t c #1A1A1A",
|
||||
"u c #141414",
|
||||
"v c #0D0D0D",
|
||||
"w c #060606",
|
||||
"x c #8295A0",
|
||||
"y c #9E7576",
|
||||
"z c #323230",
|
||||
"A c #56504B",
|
||||
"B c #2C2119",
|
||||
"C c #8D9294",
|
||||
"D c #D3DAE0",
|
||||
"E c #C1C9D0",
|
||||
"F c #BFC2C4",
|
||||
"G c #070C1B",
|
||||
"H c #29354E",
|
||||
"I c #4E5A77",
|
||||
"J c #66718F",
|
||||
"K c #788094",
|
||||
"L c #828899",
|
||||
"M c #848A9E",
|
||||
"N c #7B8297",
|
||||
"O c #676D84",
|
||||
"P c #51576E",
|
||||
"Q c #3B4151",
|
||||
"R c #1C1C20",
|
||||
"S c #484848",
|
||||
"T c #20201E",
|
||||
"U c #634A48",
|
||||
@@ -336,49 +336,49 @@ static char * Images_xpm[] = {
|
||||
"r@ c #576789",
|
||||
"s@ c #546484",
|
||||
"t@ c #556788",
|
||||
"u@ c #76787A",
|
||||
"v@ c #413E38",
|
||||
"w@ c #C6CBCD",
|
||||
"x@ c #1F1B17",
|
||||
"y@ c #A2A2A0",
|
||||
"z@ c #E7ECF0",
|
||||
"A@ c #F1F5F8",
|
||||
"B@ c #BDC0C2",
|
||||
"C@ c #373739",
|
||||
"D@ c #47516B",
|
||||
"E@ c #48546E",
|
||||
"F@ c #485470",
|
||||
"G@ c #495774",
|
||||
"H@ c #4A5879",
|
||||
"I@ c #4A5C7D",
|
||||
"J@ c #0F131B",
|
||||
"K@ c #7F8592",
|
||||
"L@ c #CDD5E4",
|
||||
"M@ c #D9E0F1",
|
||||
"N@ c #CBD5EB",
|
||||
"O@ c #A4AECE",
|
||||
"P@ c #808BB3",
|
||||
"Q@ c #707891",
|
||||
"R@ c #6B7287",
|
||||
"S@ c #6F778C",
|
||||
"T@ c #C9D3E0",
|
||||
"U@ c #C0CBDD",
|
||||
"V@ c #A9BAD7",
|
||||
"W@ c #A8B9D7",
|
||||
"X@ c #90A4C7",
|
||||
"Y@ c #141920",
|
||||
"Z@ c #1B2531",
|
||||
"`@ c #475F7E",
|
||||
" # c #546C90",
|
||||
".# c #6982A0",
|
||||
"+# c #C0CFDC",
|
||||
"@# c #8B9FB7",
|
||||
"## c #56688A",
|
||||
"$# c #515D7B",
|
||||
"%# c #515B79",
|
||||
"&# c #515B76",
|
||||
"*# c #525D79",
|
||||
"=# c #333333",
|
||||
"u@ c #333333",
|
||||
"v@ c #76787A",
|
||||
"w@ c #413E38",
|
||||
"x@ c #C6CBCD",
|
||||
"y@ c #1F1B17",
|
||||
"z@ c #A2A2A0",
|
||||
"A@ c #E7ECF0",
|
||||
"B@ c #F1F5F8",
|
||||
"C@ c #BDC0C2",
|
||||
"D@ c #373739",
|
||||
"E@ c #47516B",
|
||||
"F@ c #48546E",
|
||||
"G@ c #485470",
|
||||
"H@ c #495774",
|
||||
"I@ c #4A5879",
|
||||
"J@ c #4A5C7D",
|
||||
"K@ c #0F131B",
|
||||
"L@ c #7F8592",
|
||||
"M@ c #CDD5E4",
|
||||
"N@ c #D9E0F1",
|
||||
"O@ c #CBD5EB",
|
||||
"P@ c #A4AECE",
|
||||
"Q@ c #808BB3",
|
||||
"R@ c #707891",
|
||||
"S@ c #6B7287",
|
||||
"T@ c #6F778C",
|
||||
"U@ c #C9D3E0",
|
||||
"V@ c #C0CBDD",
|
||||
"W@ c #A9BAD7",
|
||||
"X@ c #A8B9D7",
|
||||
"Y@ c #90A4C7",
|
||||
"Z@ c #141920",
|
||||
"`@ c #1B2531",
|
||||
" # c #475F7E",
|
||||
".# c #546C90",
|
||||
"+# c #6982A0",
|
||||
"@# c #C0CFDC",
|
||||
"## c #8B9FB7",
|
||||
"$# c #56688A",
|
||||
"%# c #515D7B",
|
||||
"&# c #515B79",
|
||||
"*# c #515B76",
|
||||
"=# c #525D79",
|
||||
"-# c #9A9B9B",
|
||||
";# c #BEC2C5",
|
||||
"># c #959A9E",
|
||||
@@ -2088,24 +2088,24 @@ static char * Images_xpm[] = {
|
||||
" ",
|
||||
" ",
|
||||
" . + @ # $ % $ & ",
|
||||
" * = - ; > , ' ) ! ~ { ] ^ / ( _ ",
|
||||
" : < [ } | 1 2 3 3 > 4 5 6 7 8 9 0 a b c d e f @ g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R ",
|
||||
" S T U V W X Y 2 3 Z > Z Z ` ...+.@.#.$.%.&.*.^ =.-.;.>. g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R ",
|
||||
" ,.'.).!.~.{.].^./.2 > > > > > 2 (. _.:.<._.[.}.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r. g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R ",
|
||||
" s.+ t.u.v.w.x.y.z.A.B.C.D.E.F.G.2 ; H. I.J.K.L.<.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.`. +.+++@+#+$+m.m.%+&+*+=+-+;+r. g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R ",
|
||||
" >+,+'+C.)+4 4 !+; /.~+{+]+^+/+(+_+:+<+[+ }+|+|+1+2+3+4+5+6+7+8+9+0+a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+ g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R ",
|
||||
" w+x+; y+3 z+A+B+> 3 C+D+E+/.F+G+^.3 H+I+ J+K+L+M+N+L.O+P+Q+R+S+T+U+V+W+X+Y+Z+`+ @.@+@@@#@$@%@&@*@=@-@;@>@,@'@)@ ",
|
||||
" !@~@C+{@^+]@^@B+2 2 ^./@(@/._@:@^.Z <@L [@}@|@1@2@N+3@4@5@6@7@8@9@0@a@b@c@d@e@f@g@h@i@j@k@l@=+m@n@o@p@q@r@s@t@ g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g ",
|
||||
" u@v@w@x@^.A+y@B+z@z@+ z ~+A@/@z.z@/.B@C@ 1@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@W.Y@Z@`@ #.#+#@###$#%#&#*# g z z z z =# g z z z z =# g z z z z =# g z z z z =# g z z z z =# ",
|
||||
" u@-#^.;#; > z@>#,#'#D+)#y+!#,#~#{#'#]#^# 1@/#(#_#_#H@:#<#[#}#|#1#2#3#4#5#6#7#8#9#9#0#a#b#c#d#e#f#g#h#i#=.j#k#l# g z z z z =# g z z z z =# g z z z z =# g z z z z =# g z z z z =# ",
|
||||
" !@/././.2 2 /.m#w@n#-#z+z o#p#q#r#s#n#t#u# v#w#x#y#z#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#O#P#Q#R#S#T#U#V#W#X#Y#Z#`# $l# g z z z z =# g z z z z =# g z z z z =# g z z z z =# g z z z z =# ",
|
||||
".$+$@$n##$2 $$;#%$&$x@z D+*$F+&$=$-$;$>$z ,$'$ )$!$~${$]$^$/$($_$:$<$[$}$|$1$2$3$4$5$6$7$8$9$0$a$b$c$d$e$f$g$h$i$j$k$ g =#=#=#=#=# g =#=#=#=#=# g =#=#=#=#=# g =#=#=#=#=# g =#=#=#=#=# ",
|
||||
" z@l$(@m$/.D.C+n$o$'#$$'#p$q$r$/@s$t$u$t$/@'$ v$w$x$y$z$A$B$C$D$E$F$G$H$I$J$K$L$M$N$7$O$P$Q$R$S$T$U$V$W$X$Y$Z$`$ %.% ",
|
||||
" A@q$+%@%/.;$C+#%$%%%$$'#t$&%*%=%-%;%>%s$u#I+ ,%'%)%!%~%{%]%^%/%(%_%:%<%[%}%|%1%2%3%4%5%6%7%8%9%0%a%X$b%c%d%e%f%g%h% g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g ",
|
||||
" z@E.4 i%2 j%k%#%l%m%n%o%p%q%r%s%t%u%v%w%u%x% y%z%A%)%!%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%`% &.&+&@& g z z z z =# g z z z z =# g z z z z =# g z z z z =# g z z z z =# ",
|
||||
" z $$n##&, $&%&&&)+(@*&z z /+u$=&B+>%-&s%;&I+ >&,&z%'&)&!&~&{&]&^&/&(&_&:&<&[&}&|&1&2&3&4&5&6&7&8&9&`$0&a&b&c&d&e&f& g z z z z =# g z z z z =# g z z z z =# g z z z z =# g z z z z =# ",
|
||||
" g&h&i&{@j&k&r$r$*%r$t$l&,#m&p$t.@%F+n&#$o&'$ p&q&r&s&'&t&u&v&w&x&y&z&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W& g z z z z =# g z z z z =# g z z z z =# g z z z z =# g z z z z =# ",
|
||||
" I+'$X&Y&Z&`& *.*t$+*t$.*q$q$q$/@q$q$@*'$ #*$*%*&***P&=*O&-*;*>*,*'*)*!*~*{*]*^*/*(*_*:*<*[*}*|*1*2*3*4*5*6*7*8* g =#=#=#=#=# g =#=#=#=#=# g =#=#=#=#=# g =#=#=#=#=# g =#=#=#=#=# ",
|
||||
" * = - ; > , ' ) ! ~ { ] ^ / ( _ : < [ } | 1 2 3 4 5 6 7 8 9 0 a b c d e f g h i j k l m n o p q r s t u v w ",
|
||||
" x y z A B C D E E > F G H I J K L M N O P Q R @ : < [ } | 1 2 3 4 5 6 7 8 9 0 a b c d e f g h i j k l m n o p q r s t u v w ",
|
||||
" S T U V W X Y D E Z > Z Z ` ...+.@.#.$.%.&.*.^ =.-.;.>. : < [ } | 1 2 3 4 5 6 7 8 9 0 a b c d e f g h i j k l m n o p q r s t u v w ",
|
||||
" ,.'.).!.~.{.].^./.D > > > > > D (. _.:.<._.[.}.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r. : < [ } | 1 2 3 4 5 6 7 8 9 0 a b c d e f g h i j k l m n o p q r s t u v w ",
|
||||
" s.+ t.u.v.w.x.y.z.A.B.C.D.E.F.G.D ; H. I.J.K.L.<.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.`. +.+++@+#+$+m.m.%+&+*+=+-+;+r. : < [ } | 1 2 3 4 5 6 7 8 9 0 a b c d e f g h i j k l m n o p q r s t u v w ",
|
||||
" >+,+'+C.)+F F !+; /.~+{+]+^+/+(+_+:+<+[+ }+|+|+1+2+3+4+5+6+7+8+9+0+a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+ ",
|
||||
" w+x+; y+E z+A+B+> E C+D+E+/.F+G+^.E H+I+ J+K+L+M+N+L.O+P+Q+R+S+T+U+V+W+X+Y+Z+`+ @.@+@@@#@$@%@&@*@=@-@;@>@,@'@)@ : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ",
|
||||
" !@~@C+{@^+]@^@B+D D ^./@(@/._@:@^.Z <@q [@}@|@1@2@N+3@4@5@6@7@8@9@0@a@b@c@d@e@f@g@h@i@j@k@l@=+m@n@o@p@q@r@s@t@ : e e e e u@ : e e e e u@ : e e e e u@ : e e e e u@ : e e e e u@ ",
|
||||
" v@w@x@y@^.A+z@B+A@A@+ e ~+B@/@z.A@/.C@D@ 1@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@W.Z@`@ #.#+#@###$#%#&#*#=# : e e e e u@ : e e e e u@ : e e e e u@ : e e e e u@ : e e e e u@ ",
|
||||
" v@-#^.;#; > A@>#,#'#D+)#y+!#,#~#{#'#]#^# 1@/#(#_#_#I@:#<#[#}#|#1#2#3#4#5#6#7#8#9#9#0#a#b#c#d#e#f#g#h#i#=.j#k#l# : e e e e u@ : e e e e u@ : e e e e u@ : e e e e u@ : e e e e u@ ",
|
||||
" !@/././.D D /.m#x@n#-#z+e o#p#q#r#s#n#t#u# v#w#x#y#z#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#O#P#Q#R#S#T#U#V#W#X#Y#Z#`# $l# : u@u@u@u@u@ : u@u@u@u@u@ : u@u@u@u@u@ : u@u@u@u@u@ : u@u@u@u@u@ ",
|
||||
".$+$@$n##$D $$;#%$&$y@e D+*$F+&$=$-$;$>$e ,$'$ )$!$~${$]$^$/$($_$:$<$[$}$|$1$2$3$4$5$6$7$8$9$0$a$b$c$d$e$f$g$h$i$j$k$ ",
|
||||
" A@l$(@m$/.D.C+n$o$'#$$'#p$q$r$/@s$t$u$t$/@'$ v$w$x$y$z$A$B$C$D$E$F$G$H$I$J$K$L$M$N$7$O$P$Q$R$S$T$U$V$W$X$Y$Z$`$ %.% : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ",
|
||||
" B@q$+%@%/.;$C+#%$%%%$$'#t$&%*%=%-%;%>%s$u#I+ ,%'%)%!%~%{%]%^%/%(%_%:%<%[%}%|%1%2%3%4%5%6%7%8%9%0%a%X$b%c%d%e%f%g%h% : e e e e u@ : e e e e u@ : e e e e u@ : e e e e u@ : e e e e u@ ",
|
||||
" A@E.F i%D j%k%#%l%m%n%o%p%q%r%s%t%u%v%w%u%x% y%z%A%)%!%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%`% &.&+&@& : e e e e u@ : e e e e u@ : e e e e u@ : e e e e u@ : e e e e u@ ",
|
||||
" e $$n##&, $&%&&&)+(@*&e e /+u$=&B+>%-&s%;&I+ >&,&z%'&)&!&~&{&]&^&/&(&_&:&<&[&}&|&1&2&3&4&5&6&7&8&9&`$0&a&b&c&d&e&f& : e e e e u@ : e e e e u@ : e e e e u@ : e e e e u@ : e e e e u@ ",
|
||||
" g&h&i&{@j&k&r$r$*%r$t$l&,#m&p$t.@%F+n&#$o&'$ p&q&r&s&'&t&u&v&w&x&y&z&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W& : u@u@u@u@u@ : u@u@u@u@u@ : u@u@u@u@u@ : u@u@u@u@u@ : u@u@u@u@u@ ",
|
||||
" I+'$X&Y&Z&`& *.*t$+*t$.*q$q$q$/@q$q$@*'$ #*$*%*&***P&=*O&-*;*>*,*'*)*!*~*{*]*^*/*(*_*:*<*[*}*|*1*2*3*4*5*6*7*8* ",
|
||||
" x%I+'$x%x%x%x%'$'$'$'$'$x%X& 9*0*a*b*c*d*b*e*a*f*g*h*i*j*P.k*l*k*m*n*o*p*q*r*s*t*u*v*w*5*x*y*z*A*B* ",
|
||||
" C*D*E*F*G*H*I*J*K*L*M*a*a*N*O*K*O*K*K*P*Q*L*R*S*T*U*V*W*X*Y*Z*`* =.=+= ",
|
||||
" @=#=$=%=&=*=b*M*c*==c*M*-=;=>=,=d*'=)=)=)=)=!=~={=]=^=/=(=_=:=<=[=.=.= ",
|
||||
@@ -2113,31 +2113,31 @@ static char * Images_xpm[] = {
|
||||
" l=m=n=o= p=q=r=s=1=2=t=u=v=F*w=b=8=x=y=z=$=z=A=B=A=A=C=D=E=F=G=H=I=J=K=j=[= =+= ",
|
||||
" L=M=N=O=P=Q=R=S=T=U= V=W=X=Y= ",
|
||||
" Z=`= -.-+-@-#-$-%-&-*-=- --;->-,- ",
|
||||
" '-)-!-~-{-]-^-/-(-_-:-<-[-}-|- 1-2-3- g 4-5-6-7-8-9-0-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-y-y-z-A-B- ",
|
||||
" C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S- T-U-V- g 4-5-6-7-8-9-0-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z =#z-A-B- ",
|
||||
" W-X-Y-Z-`- ;.;+;@;#;$;%;&;*;=;-;;;>; ,;,; g 4-5-6-7-8-9-0-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z =#z-A-B- ",
|
||||
" ';);!;~;{;];^;/;(;_;:;<;[;};|;1;2;3;4;5; g 4-5-6-7-8-9-0-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z =#z-A-B- ",
|
||||
" 6;7;8;9;0;a;b;c;d;e;f;g;h;i;j;k;l;m;n;o; g 4-5-6-7-8-9-0-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-=#=#z-A-B- ",
|
||||
" '-)-!-~-{-]-^-/-(-_-:-<-[-}-|- 1-2-3- : 4-5-6-7-8-9-0-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-y-y-z-A-B- ",
|
||||
" C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S- T-U-V- : 4-5-6-7-8-9-0-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-e u@z-A-B- ",
|
||||
" W-X-Y-Z-`- ;.;+;@;#;$;%;&;*;=;-;;;>; ,;,; : 4-5-6-7-8-9-0-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-e u@z-A-B- ",
|
||||
" ';);!;~;{;];^;/;(;_;:;<;[;};|;1;2;3;4;5; : 4-5-6-7-8-9-0-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-e u@z-A-B- ",
|
||||
" 6;7;8;9;0;a;b;c;d;e;f;g;h;i;j;k;l;m;n;o; : 4-5-6-7-8-9-0-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-u@u@z-A-B- ",
|
||||
" p;q;r;s;t;u;v;w;x;y;z;A;B;C;D;E;F;G;H;I;J; ",
|
||||
" K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;`; >.>+>@>#> g $>%>&>*>y-y-y-=>->;>>>,>'>)>!>~>{>]>^>/>(>_>:><>[>}>|>1>2>3>4>5>6>7>8>9>0> ",
|
||||
" a>b>c>d>e>f>g>h>i>j>k>l>m>n>o>p>q>r>s>t>u>v> g $>%>&>*>y-z =#=>->;>>>,>'>)>!>~>{>]>^>/>(>_>:><>[>}>|>1>2>3>4>5>6>7>8>9>0> ",
|
||||
" w>x>y>z>A>B>C>D>E>F>G>H>I>J>K>L>M>N>O>P>Q>R> S>T>U>V>W>X>Y>Z>`> ,.,+,@,#,$,%,&,*,=,-,;,>,,,',),y-y-y-!,~,{,],^,/,(,_,:,<, g $>%>&>*>y-z =#=>->;>>>,>'>)>!>~>{>]>^>/>(>_>:><>[>}>|>1>2>3>4>5>6>7>8>9>0> ",
|
||||
" [,},|,1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f,g,h,i, S>T>U>V>W>X>Y>Z>`> ,.,+,@,#,$,%,&,*,=,-,;,>,,,',),y-z =#!,~,{,],^,/,(,_,:,<, g $>%>&>*>y-z =#=>->;>>>,>'>)>!>~>{>]>^>/>(>_>:><>[>}>|>1>2>3>4>5>6>7>8>9>0> ",
|
||||
" j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D, S>T>U>V>W>X>Y>Z>`> ,.,+,@,#,$,%,&,*,=,-,;,>,,,',),y-z =#!,~,{,],^,/,(,_,:,<, g $>%>&>*>y-=#=#=>->;>>>,>'>)>!>~>{>]>^>/>(>_>:><>[>}>|>1>2>3>4>5>6>7>8>9>0> ",
|
||||
" E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X, S>T>U>V>W>X>Y>Z>`> ,.,+,@,#,$,%,&,*,=,-,;,>,,,',),y-z =#!,~,{,],^,/,(,_,:,<, ",
|
||||
" Y,Z,`, '.'+'@'#'$'%'&'*'='-';'>',''')'!' S>T>U>V>W>X>Y>Z>`> ,.,+,@,#,$,%,&,*,=,-,;,>,,,',),y-=#=#!,~,{,],^,/,(,_,:,<, g ~'{']'^'/'('_':'<'['}'|'1'2'3'4'5'y-y-y-6'7'8'9'0'a'b'c'd'e'f'g'h'i'j'k'l' ",
|
||||
" m'n'o'p'q'r's't'u'v'w'x'y'z'A'B'C'D'E' g ~'{']'^'/'('_':'<'['}'|'1'2'3'4'5'y-z =#6'7'8'9'0'a'b'c'd'e'f'g'h'i'j'k'l' ",
|
||||
" F'G'H'I'J'K'L'M'N'O'P'Q'R'S'T'U'V' W'X'Y'Z'`' ).)+)y-y-y-@)#)$)%)&)*)=)-);)>),)')))!)~){)])^)/)()_):)<)[)})|)1) g ~'{']'^'/'('_':'<'['}'|'1'2'3'4'5'y-z =#6'7'8'9'0'a'b'c'd'e'f'g'h'i'j'k'l' ",
|
||||
" 2)3)4)5)6)7)8)9)0)a)b)c)d)e)f)g) W'X'Y'Z'`' ).)+)y-z =#@)#)$)%)&)*)=)-);)>),)')))!)~){)])^)/)()_):)<)[)})|)1) g ~'{']'^'/'('_':'<'['}'|'1'2'3'4'5'y-z =#6'7'8'9'0'a'b'c'd'e'f'g'h'i'j'k'l' ",
|
||||
" h)i)j)k)l)m)n)o)p)q)r)s)t)u) W'X'Y'Z'`' ).)+)y-z =#@)#)$)%)&)*)=)-);)>),)')))!)~){)])^)/)()_):)<)[)})|)1) g ~'{']'^'/'('_':'<'['}'|'1'2'3'4'5'y-=#=#6'7'8'9'0'a'b'c'd'e'f'g'h'i'j'k'l' ",
|
||||
" v)w)x)y)z)A)B)C)D)E)F) W'X'Y'Z'`' ).)+)y-z =#@)#)$)%)&)*)=)-);)>),)')))!)~){)])^)/)()_):)<)[)})|)1) ",
|
||||
" G)H)I)J)K)L) W'X'Y'Z'`' ).)+)y-=#=#@)#)$)%)&)*)=)-);)>),)')))!)~){)])^)/)()_):)<)[)})|)1) ",
|
||||
" K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;`; >.>+>@>#> : $>%>&>*>y-y-y-=>->;>>>,>'>)>!>~>{>]>^>/>(>_>:><>[>}>|>1>2>3>4>5>6>7>8>9>0> ",
|
||||
" a>b>c>d>e>f>g>h>i>j>k>l>m>n>o>p>q>r>s>t>u>v> : $>%>&>*>y-e u@=>->;>>>,>'>)>!>~>{>]>^>/>(>_>:><>[>}>|>1>2>3>4>5>6>7>8>9>0> ",
|
||||
" w>x>y>z>A>B>C>D>E>F>G>H>I>J>K>L>M>N>O>P>Q>R> S>T>U>V>W>X>Y>Z>`> ,.,+,@,#,$,%,&,*,=,-,;,>,,,',),y-y-y-!,~,{,],^,/,(,_,:,<, : $>%>&>*>y-e u@=>->;>>>,>'>)>!>~>{>]>^>/>(>_>:><>[>}>|>1>2>3>4>5>6>7>8>9>0> ",
|
||||
" [,},|,1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f,g,h,i, S>T>U>V>W>X>Y>Z>`> ,.,+,@,#,$,%,&,*,=,-,;,>,,,',),y-e u@!,~,{,],^,/,(,_,:,<, : $>%>&>*>y-e u@=>->;>>>,>'>)>!>~>{>]>^>/>(>_>:><>[>}>|>1>2>3>4>5>6>7>8>9>0> ",
|
||||
" j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D, S>T>U>V>W>X>Y>Z>`> ,.,+,@,#,$,%,&,*,=,-,;,>,,,',),y-e u@!,~,{,],^,/,(,_,:,<, : $>%>&>*>y-u@u@=>->;>>>,>'>)>!>~>{>]>^>/>(>_>:><>[>}>|>1>2>3>4>5>6>7>8>9>0> ",
|
||||
" E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X, S>T>U>V>W>X>Y>Z>`> ,.,+,@,#,$,%,&,*,=,-,;,>,,,',),y-e u@!,~,{,],^,/,(,_,:,<, ",
|
||||
" Y,Z,`, '.'+'@'#'$'%'&'*'='-';'>',''')'!' S>T>U>V>W>X>Y>Z>`> ,.,+,@,#,$,%,&,*,=,-,;,>,,,',),y-u@u@!,~,{,],^,/,(,_,:,<, : ~'{']'^'/'('_':'<'['}'|'1'2'3'4'5'y-y-y-6'7'8'9'0'a'b'c'd'e'f'g'h'i'j'k'l' ",
|
||||
" m'n'o'p'q'r's't'u'v'w'x'y'z'A'B'C'D'E' : ~'{']'^'/'('_':'<'['}'|'1'2'3'4'5'y-e u@6'7'8'9'0'a'b'c'd'e'f'g'h'i'j'k'l' ",
|
||||
" F'G'H'I'J'K'L'M'N'O'P'Q'R'S'T'U'V' W'X'Y'Z'`' ).)+)y-y-y-@)#)$)%)&)*)=)-);)>),)')))!)~){)])^)/)()_):)<)[)})|)1) : ~'{']'^'/'('_':'<'['}'|'1'2'3'4'5'y-e u@6'7'8'9'0'a'b'c'd'e'f'g'h'i'j'k'l' ",
|
||||
" 2)3)4)5)6)7)8)9)0)a)b)c)d)e)f)g) W'X'Y'Z'`' ).)+)y-e u@@)#)$)%)&)*)=)-);)>),)')))!)~){)])^)/)()_):)<)[)})|)1) : ~'{']'^'/'('_':'<'['}'|'1'2'3'4'5'y-e u@6'7'8'9'0'a'b'c'd'e'f'g'h'i'j'k'l' ",
|
||||
" h)i)j)k)l)m)n)o)p)q)r)s)t)u) W'X'Y'Z'`' ).)+)y-e u@@)#)$)%)&)*)=)-);)>),)')))!)~){)])^)/)()_):)<)[)})|)1) : ~'{']'^'/'('_':'<'['}'|'1'2'3'4'5'y-u@u@6'7'8'9'0'a'b'c'd'e'f'g'h'i'j'k'l' ",
|
||||
" v)w)x)y)z)A)B)C)D)E)F) W'X'Y'Z'`' ).)+)y-e u@@)#)$)%)&)*)=)-);)>),)')))!)~){)])^)/)()_):)<)[)})|)1) ",
|
||||
" G)H)I)J)K)L) W'X'Y'Z'`' ).)+)y-u@u@@)#)$)%)&)*)=)-);)>),)')))!)~){)])^)/)()_):)<)[)})|)1) ",
|
||||
" ",
|
||||
" M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)`) !.!+!y-y-y-@!#!$!%!&!*!=!-!;!>!,!'!)!!!~!{!]! ",
|
||||
" M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)`) !.!+!y-z =#@!#!$!%!&!*!=!-!;!>!,!'!)!!!~!{!]! ",
|
||||
" M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)`) !.!+!y-z =#@!#!$!%!&!*!=!-!;!>!,!'!)!!!~!{!]! ",
|
||||
" M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)`) !.!+!y-z =#@!#!$!%!&!*!=!-!;!>!,!'!)!!!~!{!]! ",
|
||||
" M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)`) !.!+!y-=#=#@!#!$!%!&!*!=!-!;!>!,!'!)!!!~!{!]! ",
|
||||
" M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)`) !.!+!y-e u@@!#!$!%!&!*!=!-!;!>!,!'!)!!!~!{!]! ",
|
||||
" M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)`) !.!+!y-e u@@!#!$!%!&!*!=!-!;!>!,!'!)!!!~!{!]! ",
|
||||
" M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)`) !.!+!y-e u@@!#!$!%!&!*!=!-!;!>!,!'!)!!!~!{!]! ",
|
||||
" M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)`) !.!+!y-u@u@@!#!$!%!&!*!=!-!;!>!,!'!)!!!~!{!]! ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
@@ -2145,23 +2145,23 @@ static char * Images_xpm[] = {
|
||||
" ",
|
||||
" ^!^!^!^!^! ,; ,;,; ,;,; ,;,;,; ",
|
||||
" ^!^!^!^!^! ,;,; ,;,; ,;,; ,; /!(!(!_!_!_!_!_!_!_!:!:!<!:!:!:!<!:!:!:![![![![!}!}!}!}!|!}!}!1! ",
|
||||
" ^!2!3!4!5!6!7!8!9!0!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!y-y-y- z!A!B!B!B!C!B!C!D!D!E!F!D!D!D!D!D!D!G!G!H!G!H!I!I!J!J!J!K!K!K!L! ",
|
||||
" ^!2!3!4!5!6!7!8!9!0!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!y-z =# M!M!M!M!M! ,; ,;,; ,; ,; ,; ,;,; ,;,; ,; ,;,; N!O!P!Q!R!S!T!U!V!T!W!X!W!Y!Y!Z!`! ~.~+~@~#~$~%~&~*~=~-~;~;~;~>~ ",
|
||||
" ^!2!3!4!5!6!7!8!9!0!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!y-z =# M!M!M!M!M! ,;,; ,; ,;,; ,; ,;,;,;,; ,; ,~'~)~!~~~{~]~]~]~]~]~^~/~(~_~:~<~[~}~|~1~2~3~4~<~5~6~6~6~6~7~8~ ",
|
||||
" ^!2!3!4!5!6!7!8!9!0!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!y-z =# 9~0~a~a~b~c~d~d~d~d~e~f~f~g~a~h~i~j~k~l~m~n~o~p~q~r~e~s~s~s~t~u~ ",
|
||||
" ^!2!3!4!5!6!7!8!9!0!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!y-=#=# v~v~v~v~v~ ,; ,;,; ,;,; ,;,;,; w~x~y~z~z~z~z~z~z~A~B~C~C~D~E~F~G~H~I~J~K~L~M~N~O~P~Q~R~R~R~S~T~ ",
|
||||
"^!2!3!4!5!6!7!8!9!0!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!y-y-y- z!A!B!B!B!C!B!C!D!D!E!F!D!D!D!D!D!D!G!G!H!G!H!I!I!J!J!J!K!K!K!L! ",
|
||||
"^!2!3!4!5!6!7!8!9!0!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!y-e u@ M!M!M!M!M! ,; ,;,; ,; ,; ,; ,;,; ,;,; ,; ,;,; N!O!P!Q!R!S!T!U!V!T!W!X!W!Y!Y!Z!`! ~.~+~@~#~$~%~&~*~=~-~;~;~;~>~ ",
|
||||
"^!2!3!4!5!6!7!8!9!0!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!y-e u@ M!M!M!M!M! ,;,; ,; ,;,; ,; ,;,;,;,; ,; ,~'~)~!~~~{~]~]~]~]~]~^~/~(~_~:~<~[~}~|~1~2~3~4~<~5~6~6~6~6~7~8~ ",
|
||||
"^!2!3!4!5!6!7!8!9!0!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!y-e u@ 9~0~a~a~b~c~d~d~d~d~e~f~f~g~a~h~i~j~k~l~m~n~o~p~q~r~e~s~s~s~t~u~ ",
|
||||
"^!2!3!4!5!6!7!8!9!0!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!y-u@u@ v~v~v~v~v~ ,; ,;,; ,;,; ,;,;,; w~x~y~z~z~z~z~z~z~A~B~C~C~D~E~F~G~H~I~J~K~L~M~N~O~P~Q~R~R~R~S~T~ ",
|
||||
" v~v~v~v~v~ ,;,; ,;,; ,;,; ,; U~V~W~W~W~X~Y~Z~Z~`~ {.{.{+{@{#{${%{&{*{={-{;{>{,{'{){!{.{.{.{~{ ",
|
||||
" g {{]{^{/{({_{:{<{[{}{|{1{2{3{4{5{6{y-y-y-7{8{9{0{a{b{c{d{e{f{g{h{i{j{k{l{m{ n{o{p{q{r{r{s{r{r{s{t{t{u{v{w{x{y{z{A{B{C{D{E{F{G{H{I{J{K{L{J{M{ ",
|
||||
" g {{]{^{/{({_{:{<{[{}{|{1{2{3{4{5{6{y-z =#7{8{9{0{a{b{c{d{e{f{g{h{i{j{k{l{m{ j!j!j!j!j! ,; ,; ,; ,; ,;,; ,;,;,;,;,;,;,;,;,; N{O{P{P{Q{Q{R{R{R{R{S{T{U{U{V{W{X{Y{Z{`{ ].]+]@]#]$]%]&]&]&]*]=] ",
|
||||
" g {{]{^{/{({_{:{<{[{}{|{1{2{3{4{5{6{y-z =#7{8{9{0{a{b{c{d{e{f{g{h{i{j{k{l{m{ j!j!j!j!j! ,; ,; ,; ,;,;,; ,; ,;,;,; -];]>],]'])]!]!]~]!]{]]]^]^]/]!](]_]:]<][]}]|]1]2](]{]3]4]3]4]5] ",
|
||||
" g {{]{^{/{({_{:{<{[{}{|{1{2{3{4{5{6{y-z =#7{8{9{0{a{b{c{d{e{f{g{h{i{j{k{l{m{ 6]7]8]8]9]0]a]b]c]d]e]f]g]h]h]i]j]k]l]m]n]o]p]q]r]s]t]t]t]t]u]v] ",
|
||||
" g {{]{^{/{({_{:{<{[{}{|{1{2{3{4{5{6{y-=#=#7{8{9{0{a{b{c{d{e{f{g{h{i{j{k{l{m{ w]w]w]w]w] ,; ,;,; ,;,; ,;,;,; x]y]z]A]B]C]D]E]F]G]H]I]J]J]J]K]L]M]N]O]P]Q]R]S]T]U]V]V]V]V]U]W] ",
|
||||
": {{]{^{/{({_{:{<{[{}{|{1{2{3{4{5{6{y-y-y-7{8{9{0{a{b{c{d{e{f{g{h{i{j{k{l{m{ n{o{p{q{r{r{s{r{r{s{t{t{u{v{w{x{y{z{A{B{C{D{E{F{G{H{I{J{K{L{J{M{ ",
|
||||
": {{]{^{/{({_{:{<{[{}{|{1{2{3{4{5{6{y-e u@7{8{9{0{a{b{c{d{e{f{g{h{i{j{k{l{m{ j!j!j!j!j! ,; ,; ,; ,; ,;,; ,;,;,;,;,;,;,;,;,; N{O{P{P{Q{Q{R{R{R{R{S{T{U{U{V{W{X{Y{Z{`{ ].]+]@]#]$]%]&]&]&]*]=] ",
|
||||
": {{]{^{/{({_{:{<{[{}{|{1{2{3{4{5{6{y-e u@7{8{9{0{a{b{c{d{e{f{g{h{i{j{k{l{m{ j!j!j!j!j! ,; ,; ,; ,;,;,; ,; ,;,;,; -];]>],]'])]!]!]~]!]{]]]^]^]/]!](]_]:]<][]}]|]1]2](]{]3]4]3]4]5] ",
|
||||
": {{]{^{/{({_{:{<{[{}{|{1{2{3{4{5{6{y-e u@7{8{9{0{a{b{c{d{e{f{g{h{i{j{k{l{m{ 6]7]8]8]9]0]a]b]c]d]e]f]g]h]h]i]j]k]l]m]n]o]p]q]r]s]t]t]t]t]u]v] ",
|
||||
": {{]{^{/{({_{:{<{[{}{|{1{2{3{4{5{6{y-u@u@7{8{9{0{a{b{c{d{e{f{g{h{i{j{k{l{m{ w]w]w]w]w] ,; ,;,; ,;,; ,;,;,; x]y]z]A]B]C]D]E]F]G]H]I]J]J]J]K]L]M]N]O]P]Q]R]S]T]U]V]V]V]V]U]W] ",
|
||||
" w]w]w]w]w] ,;,; ,;,; ,;,; ,; X]Y]Z]`] ^.^+^@^#^$^%^&^*^*^*^*^*^Y]=^-^;^>^,^'^)^!^!^!^~^{^]^^^ ",
|
||||
" ,;S>/^(^_^:^<^[^}^|^1^2^3^4^5^6^7^*,8^-,9^>,0^a^y-y-y-b^c^d^e^f^g^h^i^j^k^l^ m^n^o^p^q^r^s^t^u^v^w^x^y^z^A^B^C^D^E^F^G^H^I^J^K^L^M^L^N^O^C^P^ ",
|
||||
" ,;S>/^(^_^:^<^[^}^|^1^2^3^4^5^6^7^*,8^-,9^>,0^a^y-z =#b^c^d^e^f^g^h^i^j^k^l^ Q^Q^Q^Q^Q^ ,; ,;,; ,; ,; ,; ,;,; ,;,; ,; ,;R^ S^T^U^V^W^X^Y^Z^`^ /./+/@/#/$/%/&/*/=/-/;/>/,/'/)/!/~/{/]/^///(/ ",
|
||||
" ,;S>/^(^_^:^<^[^}^|^1^2^3^4^5^6^7^*,8^-,9^>,0^a^y-z =#b^c^d^e^f^g^h^i^j^k^l^ Q^Q^Q^Q^Q^ ,;,; ,; ,;,; ,; ,;,;,;,; ,; _/:/</[/}/|/1/2/3/4/5/6/7/8/9/0/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/ ",
|
||||
" ,;S>/^(^_^:^<^[^}^|^1^2^3^4^5^6^7^*,8^-,9^>,0^a^y-z =#b^c^d^e^f^g^h^i^j^k^l^ q/r/s/t/u/v/w/x/y/z/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/ ",
|
||||
" ,;S>/^(^_^:^<^[^}^|^1^2^3^4^5^6^7^*,8^-,9^>,0^a^y-=#=#b^c^d^e^f^g^h^i^j^k^l^ W/W/W/W/W/ ,; ,; ,; ,; ,;,; ,;,;,;,;,;,;,;,;,; X/Y/Z/`/ (.(+(@(#($(%(&(*(=(-(;(>(,('()(!(~({(](^(/(((_(:(<([(}( ",
|
||||
",;S>/^(^_^:^<^[^}^|^1^2^3^4^5^6^7^*,8^-,9^>,0^a^y-y-y-b^c^d^e^f^g^h^i^j^k^l^ m^n^o^p^q^r^s^t^u^v^w^x^y^z^A^B^C^D^E^F^G^H^I^J^K^L^M^L^N^O^C^P^ ",
|
||||
",;S>/^(^_^:^<^[^}^|^1^2^3^4^5^6^7^*,8^-,9^>,0^a^y-e u@b^c^d^e^f^g^h^i^j^k^l^ Q^Q^Q^Q^Q^ ,; ,;,; ,; ,; ,; ,;,; ,;,; ,; ,;R^ S^T^U^V^W^X^Y^Z^`^ /./+/@/#/$/%/&/*/=/-/;/>/,/'/)/!/~/{/]/^///(/ ",
|
||||
",;S>/^(^_^:^<^[^}^|^1^2^3^4^5^6^7^*,8^-,9^>,0^a^y-e u@b^c^d^e^f^g^h^i^j^k^l^ Q^Q^Q^Q^Q^ ,;,; ,; ,;,; ,; ,;,;,;,; ,; _/:/</[/}/|/1/2/3/4/5/6/7/8/9/0/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/ ",
|
||||
",;S>/^(^_^:^<^[^}^|^1^2^3^4^5^6^7^*,8^-,9^>,0^a^y-e u@b^c^d^e^f^g^h^i^j^k^l^ q/r/s/t/u/v/w/x/y/z/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/ ",
|
||||
",;S>/^(^_^:^<^[^}^|^1^2^3^4^5^6^7^*,8^-,9^>,0^a^y-u@u@b^c^d^e^f^g^h^i^j^k^l^ W/W/W/W/W/ ,; ,; ,; ,; ,;,; ,;,;,;,;,;,;,;,;,; X/Y/Z/`/ (.(+(@(#($(%(&(*(=(-(;(>(,('()(!(~({(](^(/(((_(:(<([(}( ",
|
||||
" W/W/W/W/W/ ,; ,; ,; ,;,;,; ,; ,;,;,; |(1(2(3(4(5(6(7(8(9(0(a(b(c(d(e(f(g(h(i(j(k(l(m(n(o(p(q(r(s(t(u( ",
|
||||
" ",
|
||||
" ",
|
||||
|
||||
+14
-5
@@ -6,7 +6,7 @@
|
||||
#include <wraster.h>
|
||||
#include <X11/Xlib.h>
|
||||
|
||||
#define WINGS_H_VERSION 981220
|
||||
#define WINGS_H_VERSION 990222
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -512,6 +512,9 @@ WMPixmap *WMRetainPixmap(WMPixmap *pixmap);
|
||||
|
||||
void WMReleasePixmap(WMPixmap *pixmap);
|
||||
|
||||
WMPixmap *WMCreatePixmap(WMScreen *scrPtr, int width, int height, int depth,
|
||||
Bool masked);
|
||||
|
||||
WMPixmap *WMCreatePixmapFromXPixmaps(WMScreen *scrPtr, Pixmap pixmap,
|
||||
Pixmap mask, int width, int height,
|
||||
int depth);
|
||||
@@ -774,9 +777,9 @@ void WMSetTextFieldBordered(WMTextField *tPtr, Bool bordered);
|
||||
|
||||
void WMSetTextFieldBeveled(WMTextField *tPtr, Bool flag);
|
||||
|
||||
Bool WMGetTextFieldEnabled(WMTextField *tPtr);
|
||||
Bool WMGetTextFieldEditable(WMTextField *tPtr);
|
||||
|
||||
void WMSetTextFieldEnabled(WMTextField *tPtr, Bool flag);
|
||||
void WMSetTextFieldEditable(WMTextField *tPtr, Bool flag);
|
||||
|
||||
void WMSetTextFieldSecure(WMTextField *tPtr, Bool flag);
|
||||
|
||||
@@ -944,13 +947,19 @@ WMColorPanel *WMGetColorPanel(WMScreen *scrPtr);
|
||||
|
||||
void WMFreeColorPanel(WMColorPanel *panel);
|
||||
|
||||
int WMRunColorPanel(WMColorPanel *panel, WMWindow *owner, RColor color);
|
||||
void WMShowColorPanel(WMColorPanel *panel);
|
||||
|
||||
void WMCloseColorPanel(WMColorPanel *panel);
|
||||
|
||||
void WMSetColorPanelColor(WMColorPanel *panel, RColor color);
|
||||
|
||||
RColor WMGetColorPanelColor(WMColorPanel *panel);
|
||||
|
||||
void WMSetPickerMode(WMColorPanel *panel, WMColorPanelMode mode);
|
||||
void WMSetColorPanelPickerMode(WMColorPanel *panel, WMColorPanelMode mode);
|
||||
|
||||
void WMSetColorPanelAction(WMColorPanel *panel, WMAction *action, void *data);
|
||||
|
||||
|
||||
|
||||
/* ....................................................................... */
|
||||
|
||||
|
||||
+4
-2
@@ -9,7 +9,7 @@
|
||||
#include "WINGs.h"
|
||||
#include "WUtil.h"
|
||||
|
||||
#if WINGS_H_VERSION < 981220
|
||||
#if WINGS_H_VERSION < 990222
|
||||
#error There_is_an_old_WINGs.h_file_somewhere_in_your_system._Please_remove_it.
|
||||
#endif
|
||||
|
||||
@@ -59,6 +59,7 @@ typedef struct W_Font {
|
||||
short height;
|
||||
short y;
|
||||
short refCount;
|
||||
char *name;
|
||||
unsigned int notFontSet:1;
|
||||
} W_Font;
|
||||
|
||||
@@ -157,6 +158,8 @@ typedef struct W_Screen {
|
||||
|
||||
W_Font *boldFont;
|
||||
|
||||
WMHashTable *fontCache;
|
||||
|
||||
struct W_Pixmap *checkButtonImageOn;
|
||||
struct W_Pixmap *checkButtonImageOff;
|
||||
|
||||
@@ -324,7 +327,6 @@ _WINGsConfiguration WINGsConfiguration;
|
||||
#define W_VIEW_MAPPED(view) (view)->flags.mapped
|
||||
|
||||
#define W_PIXEL(c) (c)->color.pixel
|
||||
#define W_GC(c) (c)->gc
|
||||
|
||||
#define W_FONTID(f) (f)->font->fid
|
||||
|
||||
|
||||
+1
-1
@@ -146,7 +146,7 @@ paintMyWidget(_MyWidget *mPtr)
|
||||
color = WMWhiteColor(scr);
|
||||
|
||||
W_PaintText(mPtr->view, mPtr->view->window, scr->normalFont, 0, 0,
|
||||
mPtr->view->size.width, WACenter, W_GC(color),
|
||||
mPtr->view->size.width, WACenter, WMColorGC(color),
|
||||
False, mPtr->text, strlen(mPtr->text));
|
||||
|
||||
WMReleaseColor(color);
|
||||
|
||||
@@ -25,7 +25,7 @@ int main(int argc, char **argv)
|
||||
WMScreen *scr;
|
||||
WMPixmap *pixmap;
|
||||
WMColorPanel *panel;
|
||||
RColor startcolor;
|
||||
|
||||
|
||||
WMInitializeApplication("WMColorPicker", &argc, argv);
|
||||
|
||||
@@ -44,10 +44,8 @@ int main(int argc, char **argv)
|
||||
WMSetApplicationIconImage(scr, pixmap); WMReleasePixmap(pixmap);
|
||||
panel = WMGetColorPanel(scr);
|
||||
|
||||
startcolor.red = 0;
|
||||
startcolor.green = 0;
|
||||
startcolor.blue = 255;
|
||||
WMShowColorPanel(panel);
|
||||
|
||||
WMRunColorPanel(panel, NULL, startcolor);
|
||||
WMScreenMainLoop(scr);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -35,10 +35,11 @@ extern char *WMGetApplicationName();
|
||||
char*
|
||||
wusergnusteppath()
|
||||
{
|
||||
char *path;
|
||||
static char *path = NULL;
|
||||
char *gspath;
|
||||
int pathlen;
|
||||
|
||||
if (!path) {
|
||||
gspath = getenv("GNUSTEP_USER_ROOT");
|
||||
if (gspath) {
|
||||
gspath = wexpandpath(gspath);
|
||||
@@ -52,6 +53,7 @@ wusergnusteppath()
|
||||
strcpy(path, wgethomedir());
|
||||
strcat(path, "/GNUstep");
|
||||
}
|
||||
}
|
||||
|
||||
return path;
|
||||
}
|
||||
@@ -66,7 +68,6 @@ wdefaultspathfordomain(char *domain)
|
||||
gspath = wusergnusteppath();
|
||||
path = wmalloc(strlen(gspath)+strlen(DEFAULTS_DIR)+strlen(domain)+4);
|
||||
strcpy(path, gspath);
|
||||
free(gspath);
|
||||
strcat(path, DEFAULTS_DIR);
|
||||
strcat(path, "/");
|
||||
strcat(path, domain);
|
||||
|
||||
@@ -173,7 +173,6 @@ WMPathForResourceOfType(char *resource, char *ext)
|
||||
tmp = wusergnusteppath();
|
||||
if (tmp) {
|
||||
path = checkFile(tmp, appdir, ext, resource);
|
||||
free(tmp);
|
||||
if (path) {
|
||||
free(appdir);
|
||||
return path;
|
||||
|
||||
+12
-16
@@ -229,7 +229,7 @@ drawTitleOfColumn(WMBrowser *bPtr, int column)
|
||||
|
||||
x=(column-bPtr->firstVisibleColumn)*(bPtr->columnSize.width+COLUMN_SPACING);
|
||||
|
||||
XFillRectangle(scr->display, bPtr->view->window, W_GC(scr->darkGray), x, 0,
|
||||
XFillRectangle(scr->display, bPtr->view->window, WMColorGC(scr->darkGray), x, 0,
|
||||
bPtr->columnSize.width, bPtr->titleHeight);
|
||||
W_DrawRelief(scr, bPtr->view->window, x, 0,
|
||||
bPtr->columnSize.width, bPtr->titleHeight, WRSunken);
|
||||
@@ -245,13 +245,13 @@ drawTitleOfColumn(WMBrowser *bPtr, int column)
|
||||
&titleLen, widthC);
|
||||
W_PaintText(bPtr->view, bPtr->view->window, scr->boldFont, x,
|
||||
(bPtr->titleHeight-WMFontHeight(scr->boldFont))/2,
|
||||
bPtr->columnSize.width, WACenter, W_GC(scr->white),
|
||||
bPtr->columnSize.width, WACenter, WMColorGC(scr->white),
|
||||
False, titleBuf, titleLen);
|
||||
free (titleBuf);
|
||||
} else {
|
||||
W_PaintText(bPtr->view, bPtr->view->window, scr->boldFont, x,
|
||||
(bPtr->titleHeight-WMFontHeight(scr->boldFont))/2,
|
||||
bPtr->columnSize.width, WACenter, W_GC(scr->white),
|
||||
bPtr->columnSize.width, WACenter, WMColorGC(scr->white),
|
||||
False, bPtr->titles[column], titleLen);
|
||||
}
|
||||
}
|
||||
@@ -267,7 +267,7 @@ WMSetBrowserColumnTitle(WMBrowser *bPtr, int column, char *title)
|
||||
if (bPtr->titles[column])
|
||||
free(bPtr->titles[column]);
|
||||
|
||||
bPtr->titles[column] = (title!=NULL) ? wstrdup(title) : wstrdup("");
|
||||
bPtr->titles[column] = wstrdup(title);
|
||||
|
||||
if (COLUMN_IS_VISIBLE(bPtr, column) && bPtr->flags.isTitled) {
|
||||
drawTitleOfColumn(bPtr, column);
|
||||
@@ -517,7 +517,7 @@ paintItem(WMList *lPtr, int index, Drawable d, char *text, int state,
|
||||
y = rect->pos.y;
|
||||
|
||||
if (state & WLDSSelected)
|
||||
XFillRectangle(scr->display, d, W_GC(scr->white), x, y,
|
||||
XFillRectangle(scr->display, d, WMColorGC(scr->white), x, y,
|
||||
width, height);
|
||||
else
|
||||
XClearArea(scr->display, d, x, y, width, height, False);
|
||||
@@ -530,24 +530,24 @@ paintItem(WMList *lPtr, int index, Drawable d, char *text, int state,
|
||||
char *textBuf = createTruncatedString(scr->normalFont,
|
||||
text, &textLen, widthC);
|
||||
W_PaintText(view, d, scr->normalFont, x+4, y, widthC,
|
||||
WALeft, W_GC(scr->black), False, textBuf, textLen);
|
||||
WALeft, WMColorGC(scr->black), False, textBuf, textLen);
|
||||
free(textBuf);
|
||||
} else {
|
||||
W_PaintText(view, d, scr->normalFont, x+4, y, widthC,
|
||||
WALeft, W_GC(scr->black), False, text, textLen);
|
||||
WALeft, WMColorGC(scr->black), False, text, textLen);
|
||||
}
|
||||
}
|
||||
|
||||
if (state & WLDSIsBranch) {
|
||||
XDrawLine(scr->display, d, W_GC(scr->darkGray), x+width-11, y+3,
|
||||
XDrawLine(scr->display, d, WMColorGC(scr->darkGray), x+width-11, y+3,
|
||||
x+width-6, y+height/2);
|
||||
if (state & WLDSSelected)
|
||||
XDrawLine(scr->display, d,W_GC(scr->gray), x+width-11, y+height-5,
|
||||
XDrawLine(scr->display, d,WMColorGC(scr->gray), x+width-11, y+height-5,
|
||||
x+width-6, y+height/2);
|
||||
else
|
||||
XDrawLine(scr->display, d,W_GC(scr->white), x+width-11, y+height-5,
|
||||
XDrawLine(scr->display, d,WMColorGC(scr->white), x+width-11, y+height-5,
|
||||
x+width-6, y+height/2);
|
||||
XDrawLine(scr->display, d, W_GC(scr->black), x+width-12, y+3,
|
||||
XDrawLine(scr->display, d, WMColorGC(scr->black), x+width-12, y+3,
|
||||
x+width-12, y+height-5);
|
||||
}
|
||||
}
|
||||
@@ -893,12 +893,9 @@ listCallback(void *self, void *clientData)
|
||||
int i;
|
||||
|
||||
item = WMGetListSelectedItem(lPtr);
|
||||
if (!item) {
|
||||
oldItem = item;
|
||||
if (!item || oldItem == item)
|
||||
return;
|
||||
}
|
||||
|
||||
if (oldItem != item) {
|
||||
for (i=0; i<bPtr->columnCount; i++) {
|
||||
if (lPtr == bPtr->columns[i])
|
||||
break;
|
||||
@@ -917,7 +914,6 @@ listCallback(void *self, void *clientData)
|
||||
else
|
||||
i = bPtr->usedColumnCount-bPtr->maxVisibleColumns;
|
||||
scrollToColumn(bPtr, i, True);
|
||||
}
|
||||
|
||||
/* call callback for click */
|
||||
if (bPtr->action)
|
||||
|
||||
+4
-4
@@ -511,7 +511,7 @@ paintButton(Button *bPtr)
|
||||
|
||||
if (bPtr->flags.selected) {
|
||||
if (bPtr->flags.stateLight)
|
||||
gc = W_GC(scrPtr->white);
|
||||
gc = WMColorGC(scrPtr->white);
|
||||
|
||||
if (bPtr->flags.stateChange) {
|
||||
if (bPtr->altCaption) {
|
||||
@@ -533,7 +533,7 @@ paintButton(Button *bPtr)
|
||||
offset = 1;
|
||||
}
|
||||
if (bPtr->flags.pushLight)
|
||||
gc = W_GC(scrPtr->white);
|
||||
gc = WMColorGC(scrPtr->white);
|
||||
|
||||
if (bPtr->flags.pushChange) {
|
||||
if (bPtr->altCaption) {
|
||||
@@ -546,9 +546,9 @@ paintButton(Button *bPtr)
|
||||
|
||||
|
||||
if (bPtr->flags.enabled)
|
||||
textGC = W_GC(scrPtr->black);
|
||||
textGC = WMColorGC(scrPtr->black);
|
||||
else
|
||||
textGC = W_GC(scrPtr->darkGray);
|
||||
textGC = WMColorGC(scrPtr->darkGray);
|
||||
|
||||
W_PaintTextAndImage(bPtr->view, True, textGC,
|
||||
(bPtr->font!=NULL ? bPtr->font : scrPtr->normalFont),
|
||||
|
||||
+17
-15
@@ -31,7 +31,6 @@ findCloseColor(WMScreen *scr, unsigned short red, unsigned short green,
|
||||
WMColor *color;
|
||||
XColor xcolor;
|
||||
RColor rcolor;
|
||||
XGCValues gcv;
|
||||
|
||||
rcolor.red = red>>8;
|
||||
rcolor.green = green>>8;
|
||||
@@ -49,11 +48,7 @@ findCloseColor(WMScreen *scr, unsigned short red, unsigned short green,
|
||||
color->refCount = 1;
|
||||
color->color = xcolor;
|
||||
color->flags.exact = 1;
|
||||
|
||||
gcv.foreground = color->color.pixel;
|
||||
gcv.graphics_exposures = False;
|
||||
color->gc = XCreateGC(scr->display, scr->rcontext->drawable,
|
||||
GCForeground|GCGraphicsExposures, &gcv);
|
||||
color->gc = NULL;
|
||||
|
||||
return color;
|
||||
}
|
||||
@@ -65,7 +60,6 @@ createRGBColor(WMScreen *scr, unsigned short red, unsigned short green,
|
||||
unsigned short blue)
|
||||
{
|
||||
WMColor *color;
|
||||
XGCValues gcv;
|
||||
XColor xcolor;
|
||||
|
||||
xcolor.red = red;
|
||||
@@ -81,11 +75,7 @@ createRGBColor(WMScreen *scr, unsigned short red, unsigned short green,
|
||||
color->refCount = 1;
|
||||
color->color = xcolor;
|
||||
color->flags.exact = 1;
|
||||
|
||||
gcv.foreground = color->color.pixel;
|
||||
gcv.graphics_exposures = False;
|
||||
color->gc = XCreateGC(scr->display, scr->rcontext->drawable,
|
||||
GCForeground|GCGraphicsExposures, &gcv);
|
||||
color->gc = NULL;
|
||||
|
||||
return color;
|
||||
}
|
||||
@@ -117,6 +107,8 @@ WMCreateNamedColor(WMScreen *scr, char *name, Bool exact)
|
||||
if (!XParseColor(scr->display, scr->colormap, name, &xcolor))
|
||||
return NULL;
|
||||
|
||||
if (scr->visual->class == TrueColor)
|
||||
exact = True;
|
||||
|
||||
if (!exact || !(color=createRGBColor(scr, xcolor.red, xcolor.green,
|
||||
xcolor.blue))) {
|
||||
@@ -146,6 +138,7 @@ WMReleaseColor(WMColor *color)
|
||||
if (color->refCount < 1) {
|
||||
XFreeColors(color->screen->display, color->screen->colormap,
|
||||
&(color->color.pixel), 1, 0);
|
||||
if (color->gc)
|
||||
XFreeGC(color->screen->display, color->gc);
|
||||
free(color);
|
||||
}
|
||||
@@ -156,7 +149,8 @@ void
|
||||
WMPaintColorSwatch(WMColor *color, Drawable d, int x, int y,
|
||||
unsigned int width, unsigned int height)
|
||||
{
|
||||
XFillRectangle(color->screen->display, d, color->gc, x, y, width, height);
|
||||
XFillRectangle(color->screen->display, d, WMColorGC(color),
|
||||
x, y, width, height);
|
||||
}
|
||||
|
||||
|
||||
@@ -170,6 +164,16 @@ WMColorPixel(WMColor *color)
|
||||
GC
|
||||
WMColorGC(WMColor *color)
|
||||
{
|
||||
if (!color->gc) {
|
||||
XGCValues gcv;
|
||||
WMScreen *scr = color->screen;
|
||||
|
||||
gcv.foreground = color->color.pixel;
|
||||
gcv.graphics_exposures = False;
|
||||
color->gc = XCreateGC(scr->display, scr->rcontext->drawable,
|
||||
GCForeground|GCGraphicsExposures, &gcv);
|
||||
}
|
||||
|
||||
return color->gc;
|
||||
}
|
||||
|
||||
@@ -226,7 +230,6 @@ WMGrayColor(WMScreen *scr)
|
||||
LIGHT_STIPPLE_HEIGHT);
|
||||
|
||||
color = createRGBColor(scr, 0xffff, 0xffff, 0xffff);
|
||||
XFreeGC(scr->display, color->gc);
|
||||
|
||||
gcv.foreground = white->color.pixel;
|
||||
gcv.background = black->color.pixel;
|
||||
@@ -268,7 +271,6 @@ WMDarkGrayColor(WMScreen *scr)
|
||||
DARK_STIPPLE_HEIGHT);
|
||||
|
||||
color = createRGBColor(scr, 0, 0, 0);
|
||||
XFreeGC(scr->display, color->gc);
|
||||
|
||||
gcv.foreground = white->color.pixel;
|
||||
gcv.background = black->color.pixel;
|
||||
|
||||
+381
-400
File diff suppressed because it is too large
Load Diff
+66
-1
@@ -24,6 +24,9 @@ typedef struct W_ColorWell {
|
||||
} flags;
|
||||
} ColorWell;
|
||||
|
||||
static char *_ColorWellActivatedNotification = "_ColorWellActivatedNotification";
|
||||
|
||||
|
||||
|
||||
static void destroyColorWell(ColorWell *cPtr);
|
||||
static void paintColorWell(ColorWell *cPtr);
|
||||
@@ -36,6 +39,8 @@ static void handleActionEvents(XEvent *event, void *data);
|
||||
|
||||
static void resizeColorWell();
|
||||
|
||||
|
||||
|
||||
W_ViewProcedureTable _ColorWellViewProcedures = {
|
||||
NULL,
|
||||
resizeColorWell,
|
||||
@@ -58,6 +63,21 @@ static WMDragSourceProcs dragProcs = {
|
||||
|
||||
|
||||
|
||||
static void
|
||||
activatedObserver(void *data, WMNotification *notification)
|
||||
{
|
||||
WMColorWell *cPtr = (WMColorWell*)data;
|
||||
|
||||
if (!cPtr->flags.active || WMGetNotificationObject(notification) == cPtr)
|
||||
return;
|
||||
|
||||
W_SetViewBackgroundColor(cPtr->view, WMWidgetScreen(cPtr)->gray);
|
||||
paintColorWell(cPtr);
|
||||
|
||||
cPtr->flags.active = 0;
|
||||
}
|
||||
|
||||
|
||||
WMColorWell*
|
||||
WMCreateColorWell(WMWidget *parent)
|
||||
{
|
||||
@@ -100,6 +120,11 @@ WMCreateColorWell(WMWidget *parent)
|
||||
|
||||
resizeColorWell(cPtr, DEFAULT_WIDTH, DEFAULT_HEIGHT);
|
||||
|
||||
WMAddNotificationObserver(activatedObserver, cPtr,
|
||||
_ColorWellActivatedNotification, NULL);
|
||||
|
||||
cPtr->color = WMBlackColor(WMWidgetScreen(cPtr));
|
||||
|
||||
return cPtr;
|
||||
}
|
||||
|
||||
@@ -379,14 +404,54 @@ handleDragEvents(XEvent *event, void *data)
|
||||
static void
|
||||
handleActionEvents(XEvent *event, void *data)
|
||||
{
|
||||
/* WMColorWell *cPtr = (ColorWell*)data;*/
|
||||
WMColorWell *cPtr = (ColorWell*)data;
|
||||
WMScreen *scr = WMWidgetScreen(cPtr);
|
||||
WMColorPanel *cpanel;
|
||||
|
||||
if (cPtr->flags.active)
|
||||
W_SetViewBackgroundColor(cPtr->view, scr->gray);
|
||||
else
|
||||
W_SetViewBackgroundColor(cPtr->view, scr->white);
|
||||
paintColorWell(cPtr);
|
||||
|
||||
cPtr->flags.active ^= 1;
|
||||
|
||||
if (cPtr->flags.active) {
|
||||
WMPostNotificationName(_ColorWellActivatedNotification, cPtr, NULL);
|
||||
}
|
||||
/*
|
||||
cpanel = WMGetColorPanel(scr);
|
||||
if (cPtr->color)
|
||||
WMSetColorPanelColor(cpanel, cPtr->color);
|
||||
WMShowColorPanel(cpanel);
|
||||
*
|
||||
*/
|
||||
{
|
||||
char *t;
|
||||
WMColor *color;
|
||||
|
||||
t = WMRunInputPanel(scr, NULL, "Advanced Color Picker",
|
||||
"Type a Color (this is temporary!!! I'm not THAT dumb :P)",
|
||||
NULL, "OK", "Cancel");
|
||||
|
||||
if (t) {
|
||||
color = WMCreateNamedColor(scr, t, False);
|
||||
if (color) {
|
||||
WMSetColorWellColor(cPtr, color);
|
||||
WMReleaseColor(color);
|
||||
}
|
||||
free(t);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
destroyColorWell(ColorWell *cPtr)
|
||||
{
|
||||
WMRemoveNotificationObserver(cPtr);
|
||||
|
||||
if (cPtr->color)
|
||||
WMReleaseColor(cPtr->color);
|
||||
|
||||
|
||||
+21
-9
@@ -104,16 +104,22 @@ textChangedObserver(void *observerData, WMNotification *notification)
|
||||
char *text;
|
||||
WMList *list;
|
||||
int col = WMGetBrowserNumberOfColumns(panel->browser) - 1;
|
||||
int i, j, textEvent;
|
||||
int i, textEvent = (int)WMGetNotificationClientData(notification);
|
||||
static int running = 0;
|
||||
|
||||
if (running)
|
||||
return;
|
||||
|
||||
running = 1;
|
||||
|
||||
if (panel->flags.ignoreTextChangeNotification)
|
||||
return;
|
||||
|
||||
if (!(list = WMGetBrowserListInColumn(panel->browser, col)))
|
||||
list = WMGetBrowserListInColumn(panel->browser, col);
|
||||
if (!list)
|
||||
return;
|
||||
|
||||
text = WMGetTextFieldText(panel->fileField);
|
||||
textEvent = (int)WMGetNotificationClientData(notification);
|
||||
|
||||
if (panel->flags.autoCompletion && textEvent!=WMDeleteTextEvent)
|
||||
i = closestListItem(list, text, False);
|
||||
@@ -126,16 +132,14 @@ textChangedObserver(void *observerData, WMNotification *notification)
|
||||
int textLen = strlen(text), itemTextLen = strlen(item->text);
|
||||
int visibleItems = WMWidgetHeight(list)/WMGetListItemHeight(list);
|
||||
|
||||
if (textEvent!=WMSetTextEvent || textLen<itemTextLen)
|
||||
WMSetListPosition(list, i - visibleItems/2);
|
||||
|
||||
if (textEvent!=WMDeleteTextEvent) {
|
||||
if (textEvent!=WMDeleteTextEvent && textLen<itemTextLen) {
|
||||
WMRange range;
|
||||
|
||||
panel->flags.ignoreTextChangeNotification = 1;
|
||||
WMInsertTextFieldText(panel->fileField, &item->text[textLen],
|
||||
textLen);
|
||||
panel->flags.ignoreTextChangeNotification = 0;
|
||||
|
||||
WMSetTextFieldCursorPosition(panel->fileField, itemTextLen);
|
||||
range.position = textLen;
|
||||
range.count = itemTextLen - textLen;
|
||||
@@ -144,6 +148,7 @@ textChangedObserver(void *observerData, WMNotification *notification)
|
||||
}
|
||||
|
||||
free(text);
|
||||
running = 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -317,12 +322,12 @@ WMRunModalFilePanelForDirectory(WMFilePanel *panel, WMWindow *owner,
|
||||
WMScreen *scr = WMWidgetScreen(panel->win);
|
||||
XEvent event;
|
||||
|
||||
WMChangePanelOwner(panel->win, owner);
|
||||
|
||||
if (name && !owner) {
|
||||
WMSetWindowTitle(panel->win, name);
|
||||
}
|
||||
|
||||
WMChangePanelOwner(panel->win, owner);
|
||||
|
||||
WMSetFilePanelDirectory(panel, path);
|
||||
|
||||
panel->flags.done = 0;
|
||||
@@ -346,12 +351,19 @@ WMRunModalFilePanelForDirectory(WMFilePanel *panel, WMWindow *owner,
|
||||
|
||||
WMSetLabelText(panel->titleLabel, name);
|
||||
|
||||
scr->modalView = W_VIEW(panel->win);
|
||||
WMMapWidget(panel->win);
|
||||
|
||||
WMMoveWidget(panel->win,
|
||||
(scr->rootView->size.width - WMWidgetWidth(panel->win))/2,
|
||||
(scr->rootView->size.height - WMWidgetHeight(panel->win))/2);
|
||||
|
||||
scr->modal = 1;
|
||||
while (!panel->flags.done) {
|
||||
WMNextEvent(scr->display, &event);
|
||||
WMHandleEvent(&event);
|
||||
}
|
||||
scr->modal = 0;
|
||||
|
||||
/* Must withdraw window because the next time we map
|
||||
* it, it might have a different transient owner.
|
||||
|
||||
+18
-1
@@ -18,9 +18,16 @@ WMCreateFont(WMScreen *scrPtr, char *fontName)
|
||||
char *defaultString;
|
||||
XFontSetExtents *extents;
|
||||
|
||||
font = WMHashGet(scrPtr->fontCache, fontName);
|
||||
if (font) {
|
||||
WMRetainFont(font);
|
||||
return font;
|
||||
}
|
||||
|
||||
font = malloc(sizeof(WMFont));
|
||||
if (!font)
|
||||
return NULL;
|
||||
memset(font, 0, sizeof(WMFont));
|
||||
|
||||
font->notFontSet = 0;
|
||||
|
||||
@@ -53,6 +60,10 @@ WMCreateFont(WMScreen *scrPtr, char *fontName)
|
||||
|
||||
font->refCount = 1;
|
||||
|
||||
font->name = wstrdup(fontName);
|
||||
|
||||
assert(WMHashInsert(scrPtr->fontCache, font->name, font)==NULL);
|
||||
|
||||
return font;
|
||||
}
|
||||
|
||||
@@ -67,6 +78,7 @@ WMCreateFontInDefaultEncoding(WMScreen *scrPtr, char *fontName)
|
||||
font = malloc(sizeof(WMFont));
|
||||
if (!font)
|
||||
return NULL;
|
||||
memset(font, 0, sizeof(WMFont));
|
||||
|
||||
font->notFontSet = 1;
|
||||
|
||||
@@ -108,8 +120,13 @@ WMReleaseFont(WMFont *font)
|
||||
if (font->refCount < 1) {
|
||||
if (font->notFontSet)
|
||||
XFreeFont(font->screen->display, font->font.normal);
|
||||
else
|
||||
else {
|
||||
XFreeFontSet(font->screen->display, font->font.set);
|
||||
}
|
||||
if (font->name) {
|
||||
WMHashRemove(font->screen->fontCache, font->name);
|
||||
free(font->name);
|
||||
}
|
||||
free(font);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -149,10 +149,10 @@ paintFrame(Frame *fPtr)
|
||||
|
||||
tx = (view->size.width - tw) / 2;
|
||||
|
||||
XFillRectangle(scrPtr->display, view->window, W_GC(scrPtr->gray),
|
||||
XFillRectangle(scrPtr->display, view->window, WMColorGC(scrPtr->gray),
|
||||
tx, ty, tw, th);
|
||||
|
||||
WMDrawString(scrPtr, view->window, W_GC(scrPtr->black),
|
||||
WMDrawString(scrPtr, view->window, WMColorGC(scrPtr->black),
|
||||
scrPtr->normalFont, tx, ty, fPtr->caption,
|
||||
strlen(fPtr->caption));
|
||||
}
|
||||
|
||||
+5
-4
@@ -358,10 +358,10 @@ renderPixmap(W_Screen *screen, Pixmap d, Pixmap mask, char **data,
|
||||
int width, int height)
|
||||
{
|
||||
int x, y;
|
||||
GC whiteGC = W_GC(screen->white);
|
||||
GC blackGC = W_GC(screen->black);
|
||||
GC lightGC = W_GC(screen->gray);
|
||||
GC darkGC = W_GC(screen->darkGray);
|
||||
GC whiteGC = WMColorGC(screen->white);
|
||||
GC blackGC = WMColorGC(screen->black);
|
||||
GC lightGC = WMColorGC(screen->gray);
|
||||
GC darkGC = WMColorGC(screen->darkGray);
|
||||
|
||||
|
||||
if (mask)
|
||||
@@ -583,6 +583,7 @@ WMCreateScreenWithRContext(Display *display, int screen, RContext *context)
|
||||
|
||||
scrPtr->rootWin = RootWindow(display, screen);
|
||||
|
||||
scrPtr->fontCache = WMCreateHashTable(WMStringPointerHashCallbacks);
|
||||
|
||||
/* initially allocate some colors */
|
||||
WMWhiteColor(scrPtr);
|
||||
|
||||
+2
-2
@@ -196,9 +196,9 @@ paintLabel(Label *lPtr)
|
||||
GC gc;
|
||||
|
||||
if (lPtr->textColor)
|
||||
gc = W_GC(lPtr->textColor);
|
||||
gc = WMColorGC(lPtr->textColor);
|
||||
else
|
||||
gc = W_GC(scrPtr->black);
|
||||
gc = WMColorGC(scrPtr->black);
|
||||
|
||||
W_PaintTextAndImage(lPtr->view, !lPtr->flags.noWrap, gc,
|
||||
(lPtr->font!=NULL ? lPtr->font : scrPtr->normalFont),
|
||||
|
||||
+2
-2
@@ -546,13 +546,13 @@ paintItem(List *lPtr, int index)
|
||||
&rect);
|
||||
} else {
|
||||
if (itemPtr->selected)
|
||||
XFillRectangle(scr->display, view->window, W_GC(scr->white), x, y,
|
||||
XFillRectangle(scr->display, view->window, WMColorGC(scr->white), x, y,
|
||||
width, height);
|
||||
else
|
||||
XClearArea(scr->display, view->window, x, y, width, height, False);
|
||||
|
||||
W_PaintText(view, view->window, scr->normalFont, x+4, y, width,
|
||||
WALeft, W_GC(scr->black), False,
|
||||
WALeft, WMColorGC(scr->black), False,
|
||||
itemPtr->text, strlen(itemPtr->text));
|
||||
}
|
||||
}
|
||||
|
||||
+15
-15
@@ -17,37 +17,37 @@ W_DrawRelief(W_Screen *scr, Drawable d, int x, int y, unsigned int width,
|
||||
|
||||
switch (relief) {
|
||||
case WRSimple:
|
||||
XDrawRectangle(dpy, d, W_GC(scr->black), x, y, width-1, height-1);
|
||||
XDrawRectangle(dpy, d, WMColorGC(scr->black), x, y, width-1, height-1);
|
||||
return;
|
||||
break;
|
||||
|
||||
case WRRaised:
|
||||
bgc = W_GC(scr->black);
|
||||
dgc = W_GC(scr->darkGray);
|
||||
wgc = W_GC(scr->white);
|
||||
lgc = W_GC(scr->gray);
|
||||
bgc = WMColorGC(scr->black);
|
||||
dgc = WMColorGC(scr->darkGray);
|
||||
wgc = WMColorGC(scr->white);
|
||||
lgc = WMColorGC(scr->gray);
|
||||
break;
|
||||
|
||||
case WRSunken:
|
||||
wgc = W_GC(scr->darkGray);
|
||||
lgc = W_GC(scr->black);
|
||||
bgc = W_GC(scr->white);
|
||||
dgc = W_GC(scr->gray);
|
||||
wgc = WMColorGC(scr->darkGray);
|
||||
lgc = WMColorGC(scr->black);
|
||||
bgc = WMColorGC(scr->white);
|
||||
dgc = WMColorGC(scr->gray);
|
||||
break;
|
||||
|
||||
case WRPushed:
|
||||
lgc = wgc = W_GC(scr->black);
|
||||
dgc = bgc = W_GC(scr->white);
|
||||
lgc = wgc = WMColorGC(scr->black);
|
||||
dgc = bgc = WMColorGC(scr->white);
|
||||
break;
|
||||
|
||||
case WRRidge:
|
||||
lgc = bgc = W_GC(scr->darkGray);
|
||||
dgc = wgc = W_GC(scr->white);
|
||||
lgc = bgc = WMColorGC(scr->darkGray);
|
||||
dgc = wgc = WMColorGC(scr->white);
|
||||
break;
|
||||
|
||||
case WRGroove:
|
||||
wgc = dgc = W_GC(scr->darkGray);
|
||||
lgc = bgc = W_GC(scr->white);
|
||||
wgc = dgc = WMColorGC(scr->darkGray);
|
||||
lgc = bgc = WMColorGC(scr->white);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
@@ -30,6 +30,34 @@ WMReleasePixmap(WMPixmap *pixmap)
|
||||
}
|
||||
|
||||
|
||||
WMPixmap*
|
||||
WMCreatePixmap(WMScreen *scrPtr, int width, int height, int depth, Bool masked)
|
||||
{
|
||||
WMPixmap *pixPtr;
|
||||
|
||||
pixPtr = malloc(sizeof(WMPixmap));
|
||||
if (!pixPtr) {
|
||||
return NULL;
|
||||
}
|
||||
pixPtr->screen = scrPtr;
|
||||
pixPtr->width = width;
|
||||
pixPtr->height = height;
|
||||
pixPtr->depth = depth;
|
||||
pixPtr->refCount = 1;
|
||||
|
||||
pixPtr->pixmap = XCreatePixmap(scrPtr->display, W_DRAWABLE(scrPtr),
|
||||
width, height, depth);
|
||||
if (masked) {
|
||||
pixPtr->mask = XCreatePixmap(scrPtr->display, W_DRAWABLE(scrPtr),
|
||||
width, height, 1);
|
||||
} else {
|
||||
pixPtr->mask = None;
|
||||
}
|
||||
|
||||
return pixPtr;
|
||||
}
|
||||
|
||||
|
||||
WMPixmap*
|
||||
WMCreatePixmapFromXPixmaps(WMScreen *scrPtr, Pixmap pixmap, Pixmap mask,
|
||||
int width, int height, int depth)
|
||||
|
||||
@@ -403,7 +403,7 @@ paintPopUpButton(PopUpButton *bPtr)
|
||||
pixmap = XCreatePixmap(scr->display, bPtr->view->window,
|
||||
bPtr->view->size.width, bPtr->view->size.height,
|
||||
scr->depth);
|
||||
XFillRectangle(scr->display, pixmap, W_GC(scr->gray), 0, 0,
|
||||
XFillRectangle(scr->display, pixmap, WMColorGC(scr->gray), 0, 0,
|
||||
bPtr->view->size.width, bPtr->view->size.height);
|
||||
|
||||
W_DrawRelief(scr, pixmap, 0, 0, bPtr->view->size.width,
|
||||
@@ -413,7 +413,7 @@ paintPopUpButton(PopUpButton *bPtr)
|
||||
W_PaintText(bPtr->view, pixmap, scr->normalFont, 6,
|
||||
(bPtr->view->size.height-WMFontHeight(scr->normalFont))/2,
|
||||
bPtr->view->size.width, WALeft,
|
||||
bPtr->flags.enabled ? W_GC(scr->black) : W_GC(scr->darkGray),
|
||||
bPtr->flags.enabled ? WMColorGC(scr->black) : WMColorGC(scr->darkGray),
|
||||
False, caption, strlen(caption));
|
||||
}
|
||||
|
||||
@@ -489,7 +489,7 @@ paintMenuEntry(PopUpButton *bPtr, int index, int highlight)
|
||||
return;
|
||||
}
|
||||
|
||||
XFillRectangle(scr->display, bPtr->menuView->window, W_GC(scr->white),
|
||||
XFillRectangle(scr->display, bPtr->menuView->window, WMColorGC(scr->white),
|
||||
1, index*itemHeight+1, width-3, itemHeight-3);
|
||||
|
||||
itemPtr = bPtr->items;
|
||||
@@ -500,7 +500,7 @@ paintMenuEntry(PopUpButton *bPtr, int index, int highlight)
|
||||
width, itemHeight, WRRaised);
|
||||
|
||||
W_PaintText(bPtr->menuView, bPtr->menuView->window, scr->normalFont, 6,
|
||||
index*itemHeight + yo, width, WALeft, W_GC(scr->black), False,
|
||||
index*itemHeight + yo, width, WALeft, WMColorGC(scr->black), False,
|
||||
itemPtr->text, strlen(itemPtr->text));
|
||||
|
||||
if (!bPtr->flags.pullsDown && index == bPtr->selectedItemIndex) {
|
||||
@@ -531,7 +531,7 @@ makeMenuPixmap(PopUpButton *bPtr)
|
||||
pixmap = XCreatePixmap(scr->display, bPtr->view->window, width, height,
|
||||
scr->depth);
|
||||
|
||||
XFillRectangle(scr->display, pixmap, W_GC(scr->gray), 0, 0, width, height);
|
||||
XFillRectangle(scr->display, pixmap, WMColorGC(scr->gray), 0, 0, width, height);
|
||||
|
||||
itemPtr = bPtr->items;
|
||||
for (i = 0; i < bPtr->itemCount; i++) {
|
||||
@@ -541,9 +541,9 @@ makeMenuPixmap(PopUpButton *bPtr)
|
||||
WRRaised);
|
||||
|
||||
if (itemPtr->disabled)
|
||||
gc = W_GC(scr->darkGray);
|
||||
gc = WMColorGC(scr->darkGray);
|
||||
else
|
||||
gc = W_GC(scr->black);
|
||||
gc = WMColorGC(scr->black);
|
||||
|
||||
W_PaintText(bPtr->menuView, pixmap, scr->normalFont, 6,
|
||||
i*itemHeight + yo, width, WALeft, gc, False,
|
||||
@@ -569,6 +569,7 @@ resizeMenu(PopUpButton *bPtr)
|
||||
int height;
|
||||
|
||||
height = bPtr->itemCount * bPtr->view->size.height;
|
||||
if (height > 0)
|
||||
W_ResizeView(bPtr->menuView, bPtr->view->size.width, height);
|
||||
}
|
||||
|
||||
|
||||
+6
-6
@@ -260,7 +260,7 @@ paintArrow(WMScroller *sPtr, Drawable d, int part)
|
||||
|
||||
#ifndef DOUBLE_BUFFER
|
||||
if (sPtr->flags.decrDown)
|
||||
gc = W_GC(scr->white);
|
||||
gc = WMColorGC(scr->white);
|
||||
#endif
|
||||
} else { /* increment button */
|
||||
if (sPtr->flags.horizontal) {
|
||||
@@ -300,7 +300,7 @@ paintArrow(WMScroller *sPtr, Drawable d, int part)
|
||||
ofs+1, 2+1, bsize+1-3, bsize-3);
|
||||
#else
|
||||
if ((!part&&sPtr->flags.decrDown) || (part&&sPtr->flags.incrDown))
|
||||
XFillRectangle(scr->display, d, W_GC(scr->white),
|
||||
XFillRectangle(scr->display, d, WMColorGC(scr->white),
|
||||
ofs+1, 2+1, bsize+1-3, bsize-3);
|
||||
#endif /* DOUBLE_BUFFER */
|
||||
W_DrawRelief(scr, d, ofs, 2, bsize, bsize, WRRaised);
|
||||
@@ -324,7 +324,7 @@ paintArrow(WMScroller *sPtr, Drawable d, int part)
|
||||
2+1, ofs+1, bsize-3, bsize+1-3);
|
||||
#else
|
||||
if ((!part&&sPtr->flags.decrDown) || (part&&sPtr->flags.incrDown))
|
||||
XFillRectangle(scr->display, d, W_GC(scr->white),
|
||||
XFillRectangle(scr->display, d, WMColorGC(scr->white),
|
||||
2+1, ofs+1, bsize-3, bsize+1-3);
|
||||
#endif /* DOUBLE_BUFFER */
|
||||
W_DrawRelief(scr, d, 2, ofs, bsize, bsize, WRRaised);
|
||||
@@ -386,14 +386,14 @@ paintScroller(Scroller *sPtr)
|
||||
#ifdef DOUBLE_BUFFER
|
||||
d = XCreatePixmap(scr->display, view->window, view->size.width,
|
||||
view->size.height, scr->depth);
|
||||
XFillRectangle(scr->display, d, W_GC(scr->gray), 0, 0,
|
||||
XFillRectangle(scr->display, d, WMColorGC(scr->gray), 0, 0,
|
||||
view->size.width, view->size.height);
|
||||
#endif
|
||||
|
||||
XDrawRectangle(scr->display, d, W_GC(scr->black), 0, 0,
|
||||
XDrawRectangle(scr->display, d, WMColorGC(scr->black), 0, 0,
|
||||
view->size.width-1, view->size.height-1);
|
||||
#ifndef DOUBLE_BUFFER
|
||||
XDrawRectangle(scr->display, d, W_GC(scr->gray), 1, 1,
|
||||
XDrawRectangle(scr->display, d, WMColorGC(scr->gray), 1, 1,
|
||||
view->size.width-3, view->size.height-3);
|
||||
#endif
|
||||
|
||||
|
||||
+37
-28
@@ -245,43 +245,43 @@ makeKnobPixmap(Slider *sPtr)
|
||||
}
|
||||
|
||||
pix = XCreatePixmap(scr->display, sPtr->view->window, w, h, scr->depth);
|
||||
XFillRectangle(scr->display, pix, W_GC(scr->gray), 0, 0, w, h);
|
||||
XFillRectangle(scr->display, pix, WMColorGC(scr->gray), 0, 0, w, h);
|
||||
|
||||
if (sPtr->knobThickness < 10) {
|
||||
W_DrawRelief(scr, pix, 0, 0, w, h, WRRaised);
|
||||
} else if (sPtr->flags.vertical) {
|
||||
XDrawLine(scr->display, pix, W_GC(scr->white), 0, 0, 0, h-3);
|
||||
XDrawLine(scr->display, pix, W_GC(scr->white), 1, 0, 1, h-3);
|
||||
XDrawLine(scr->display, pix, W_GC(scr->darkGray), w-2, 1, w-2, h/2-2);
|
||||
XDrawLine(scr->display, pix, W_GC(scr->darkGray), w-2, h/2, w-2, h-2);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->white), 0, 0, 0, h-3);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->white), 1, 0, 1, h-3);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->darkGray), w-2, 1, w-2, h/2-2);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->darkGray), w-2, h/2, w-2, h-2);
|
||||
|
||||
XDrawLine(scr->display, pix, W_GC(scr->white), 0, 0, w-2, 0);
|
||||
XDrawLine(scr->display, pix, W_GC(scr->darkGray), 1, h/2-2, w-3, h/2-2);
|
||||
XDrawLine(scr->display, pix, W_GC(scr->white), 0, h/2-1, w-3, h/2-1);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->white), 0, 0, w-2, 0);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->darkGray), 1, h/2-2, w-3, h/2-2);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->white), 0, h/2-1, w-3, h/2-1);
|
||||
|
||||
XDrawLine(scr->display, pix, W_GC(scr->black), w-1, 0, w-1, h-2);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->black), w-1, 0, w-1, h-2);
|
||||
|
||||
XDrawLine(scr->display, pix, W_GC(scr->darkGray), 0, h-3, w-2, h-3);
|
||||
XDrawLine(scr->display, pix, W_GC(scr->black), 0, h-2, w-1, h-2);
|
||||
XDrawLine(scr->display, pix, W_GC(scr->darkGray), 0, h-1, w-1,h-1);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->darkGray), 0, h-3, w-2, h-3);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->black), 0, h-2, w-1, h-2);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->darkGray), 0, h-1, w-1,h-1);
|
||||
} else {
|
||||
XDrawLine(scr->display, pix, W_GC(scr->white), 0, 0, w-3, 0);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->white), 0, 0, w-3, 0);
|
||||
|
||||
XDrawLine(scr->display, pix, W_GC(scr->white), 0, 0, 0, h-2);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->white), 0, 0, 0, h-2);
|
||||
|
||||
XDrawLine(scr->display, pix, W_GC(scr->white), 1, 0, 1, h-3);
|
||||
XDrawLine(scr->display, pix, W_GC(scr->darkGray), w/2-2, 1, w/2-2, h-3);
|
||||
XDrawLine(scr->display, pix, W_GC(scr->white), w/2-1, 0, w/2-1, h-3);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->white), 1, 0, 1, h-3);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->darkGray), w/2-2, 1, w/2-2, h-3);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->white), w/2-1, 0, w/2-1, h-3);
|
||||
|
||||
XDrawLine(scr->display, pix, W_GC(scr->darkGray), w-3, 0, w-3, h-2);
|
||||
XDrawLine(scr->display, pix, W_GC(scr->black), w-2, 0, w-2, h-2);
|
||||
XDrawLine(scr->display, pix, W_GC(scr->darkGray), w-1, 0, w-1, h-1);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->darkGray), w-3, 0, w-3, h-2);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->black), w-2, 0, w-2, h-2);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->darkGray), w-1, 0, w-1, h-1);
|
||||
|
||||
XDrawLine(scr->display, pix, W_GC(scr->black), 1, h-1, w/2+1, h-1);
|
||||
XDrawLine(scr->display, pix, W_GC(scr->darkGray), 1, h-2, w/2-2, h-2);
|
||||
XDrawLine(scr->display, pix, W_GC(scr->darkGray), w/2, h-2, w-3,h-2);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->black), 1, h-1, w/2+1, h-1);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->darkGray), 1, h-2, w/2-2, h-2);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->darkGray), w/2, h-2, w-3,h-2);
|
||||
|
||||
XDrawLine(scr->display, pix, W_GC(scr->black), 0, h-1, w-2, h-1);
|
||||
XDrawLine(scr->display, pix, WMColorGC(scr->black), 0, h-1, w-2, h-1);
|
||||
}
|
||||
|
||||
if (sPtr->knobPixmap)
|
||||
@@ -339,9 +339,9 @@ paintSlider(Slider *sPtr)
|
||||
#define MAXV sPtr->maxValue
|
||||
#define POSV sPtr->value
|
||||
|
||||
bgc = W_GC(scr->black);
|
||||
wgc = W_GC(scr->white);
|
||||
lgc = W_GC(scr->gray);
|
||||
bgc = WMColorGC(scr->black);
|
||||
wgc = WMColorGC(scr->white);
|
||||
lgc = WMColorGC(scr->gray);
|
||||
|
||||
buffer = XCreatePixmap(scr->display, sPtr->view->window,
|
||||
size.width, size.height, scr->depth);
|
||||
@@ -487,12 +487,21 @@ handleActionEvents(XEvent *event, void *data)
|
||||
#else
|
||||
int tmp;
|
||||
|
||||
tmp = valueForMousePoint(sPtr, event->xmotion.x, event->xmotion.y);
|
||||
if (event->xbutton.button == Button2) {
|
||||
sPtr->flags.dragging = 1;
|
||||
|
||||
sPtr->value = valueForMousePoint(sPtr, event->xmotion.x,
|
||||
event->xmotion.y);
|
||||
paintSlider(sPtr);
|
||||
} else {
|
||||
tmp = valueForMousePoint(sPtr, event->xmotion.x,
|
||||
event->xmotion.y);
|
||||
if (tmp < sPtr->value)
|
||||
tmp = sPtr->value-1;
|
||||
else
|
||||
tmp = sPtr->value+1;
|
||||
WMSetSliderValue(sPtr, tmp);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (sPtr->flags.continuous && sPtr->action) {
|
||||
|
||||
+7
-9
@@ -410,14 +410,14 @@ WMSetTextFieldSecure(WMTextField *tPtr, Bool flag)
|
||||
|
||||
|
||||
Bool
|
||||
WMGetTextFieldEnabled(WMTextField *tPtr)
|
||||
WMGetTextFieldEditable(WMTextField *tPtr)
|
||||
{
|
||||
return tPtr->flags.enabled;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
WMSetTextFieldEnabled(WMTextField *tPtr, Bool flag)
|
||||
WMSetTextFieldEditable(WMTextField *tPtr, Bool flag)
|
||||
{
|
||||
tPtr->flags.enabled = flag;
|
||||
|
||||
@@ -581,15 +581,15 @@ drawRelief(WMView *view, Bool beveled)
|
||||
int width = view->size.width;
|
||||
int height = view->size.height;
|
||||
|
||||
dgc = W_GC(scr->darkGray);
|
||||
dgc = WMColorGC(scr->darkGray);
|
||||
|
||||
if (!beveled) {
|
||||
XDrawRectangle(dpy, view->window, dgc, 0, 0, width-1, height-1);
|
||||
|
||||
return;
|
||||
}
|
||||
wgc = W_GC(scr->white);
|
||||
lgc = W_GC(scr->gray);
|
||||
wgc = WMColorGC(scr->white);
|
||||
lgc = WMColorGC(scr->gray);
|
||||
|
||||
/* top left */
|
||||
XDrawLine(dpy, view->window, dgc, 0, 0, width-1, 0);
|
||||
@@ -820,8 +820,7 @@ handleTextFieldKeyPress(TextField *tPtr, XEvent *event)
|
||||
switch (ksym) {
|
||||
case XK_Tab:
|
||||
if (event->xkey.state & ShiftMask) {
|
||||
if (tPtr->view->prevFocusChain &&
|
||||
tPtr->view->prevFocusChain->flags.mapped) {
|
||||
if (tPtr->view->prevFocusChain) {
|
||||
W_SetFocusOfTopLevel(W_TopLevelOfView(tPtr->view),
|
||||
tPtr->view->prevFocusChain);
|
||||
tPtr->flags.notIllegalMovement = 1;
|
||||
@@ -829,8 +828,7 @@ handleTextFieldKeyPress(TextField *tPtr, XEvent *event)
|
||||
WMPostNotificationName(WMTextDidEndEditingNotification, tPtr,
|
||||
(void*)WMBacktabTextMovement);
|
||||
} else {
|
||||
if (tPtr->view->nextFocusChain &&
|
||||
tPtr->view->nextFocusChain->flags.mapped) {
|
||||
if (tPtr->view->nextFocusChain) {
|
||||
W_SetFocusOfTopLevel(W_TopLevelOfView(tPtr->view),
|
||||
tPtr->view->nextFocusChain);
|
||||
tPtr->flags.notIllegalMovement = 1;
|
||||
|
||||
+6
-29
@@ -102,33 +102,6 @@ adoptChildView(W_View *view, W_View *child)
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
getPosition(Display *dpy, Window win, int *x_ret, int *y_ret)
|
||||
{
|
||||
unsigned foo;
|
||||
Window bar;
|
||||
Window parent;
|
||||
Window *childs;
|
||||
int x, y;
|
||||
|
||||
XGetGeometry(dpy, win, &bar, &x, &y, &foo, &foo, &foo, &foo);
|
||||
if (XQueryTree(dpy, win, &bar, &parent, &childs, &foo)) {
|
||||
int px, py;
|
||||
|
||||
XFree(childs);
|
||||
if (parent != bar) {
|
||||
getPosition(dpy, parent, &px, &py);
|
||||
|
||||
x += px;
|
||||
y += py;
|
||||
}
|
||||
}
|
||||
|
||||
*x_ret = x;
|
||||
*y_ret = y;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
handleEvents(XEvent *event, void *data)
|
||||
{
|
||||
@@ -154,8 +127,12 @@ handleEvents(XEvent *event, void *data)
|
||||
view->pos.x = event->xconfigure.x;
|
||||
view->pos.y = event->xconfigure.y;
|
||||
} else {
|
||||
getPosition(view->screen->display, view->window,
|
||||
&view->pos.x, &view->pos.y);
|
||||
Window foo;
|
||||
|
||||
XTranslateCoordinates(view->screen->display,
|
||||
view->window, view->screen->rootWin,
|
||||
event->xconfigure.x, event->xconfigure.y,
|
||||
&view->pos.x, &view->pos.y, &foo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+193
-35
@@ -1,4 +1,4 @@
|
||||
/* TextureAndColor.c- color/texture for titlebar etc.
|
||||
/* Apperance.c- color/texture for titlebar etc.
|
||||
*
|
||||
* WPrefs - Window Maker Preferences Program
|
||||
*
|
||||
@@ -33,7 +33,7 @@ typedef struct _Panel {
|
||||
|
||||
WMWindow *win;
|
||||
|
||||
WMLabel *prevL;
|
||||
WMButton *prevB;
|
||||
|
||||
WMPopUpButton *secP;
|
||||
|
||||
@@ -41,10 +41,30 @@ typedef struct _Panel {
|
||||
WMLabel *texL;
|
||||
WMList *texLs;
|
||||
|
||||
WMPopUpButton *cmdP;
|
||||
WMTextField *texT;
|
||||
|
||||
WMButton *newB;
|
||||
WMButton *editB;
|
||||
WMButton *ripB;
|
||||
WMButton *delB;
|
||||
|
||||
|
||||
proplist_t ftitleTex;
|
||||
proplist_t utitleTex;
|
||||
proplist_t ptitleTex;
|
||||
proplist_t iconTex;
|
||||
proplist_t menuTex;
|
||||
proplist_t mtitleTex;
|
||||
proplist_t backTex;
|
||||
|
||||
int ftitleIndex;
|
||||
int utitleIndex;
|
||||
int ptitleIndex;
|
||||
int iconIndex;
|
||||
int menuIndex;
|
||||
int mtitleIndex;
|
||||
int backIndex;
|
||||
|
||||
WMFont *normalFont;
|
||||
WMFont *selectedFont;
|
||||
|
||||
/* for preview shit */
|
||||
Pixmap preview;
|
||||
@@ -59,9 +79,13 @@ typedef struct _Panel {
|
||||
|
||||
|
||||
|
||||
|
||||
#define ICON_FILE "appearance"
|
||||
|
||||
#define TNEW_FILE "tnew"
|
||||
#define TDEL_FILE "tdel"
|
||||
#define TEDIT_FILE "tedit"
|
||||
#define TEXTR_FILE "textr"
|
||||
|
||||
|
||||
#define FTITLE (1<<0)
|
||||
#define UTITLE (1<<1)
|
||||
@@ -136,12 +160,62 @@ getStrArrayForKey(char *key)
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
static void
|
||||
newTexture(WMButton *bPtr, void *data)
|
||||
{
|
||||
_Panel *panel = (_Panel*)data;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
changePage(WMWidget *w, void *data)
|
||||
{
|
||||
_Panel *panel = (_Panel*)data;
|
||||
int section;
|
||||
|
||||
section = WMGetPopUpButtonSelectedItem(panel->secP);
|
||||
|
||||
WMSelectListItem(panel->texLs, section);
|
||||
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
selectTexture(WMWidget *w, void *data)
|
||||
{
|
||||
_Panel *panel = (_Panel*)data;
|
||||
int section;
|
||||
|
||||
section = WMGetListSelectedItemRow(panel->secP);
|
||||
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
fillTextureList(WMList *lPtr)
|
||||
{
|
||||
proplist_t textures;
|
||||
WMUserDefaults *udb = WMGetStandardUserDefaults();
|
||||
|
||||
textures = WMGetUDObjectForKey(udb, "Textures");
|
||||
|
||||
if (!textures)
|
||||
return;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
createPanel(Panel *p)
|
||||
{
|
||||
_Panel *panel = (_Panel*)p;
|
||||
WMColor *color;
|
||||
WMFont *boldFont;
|
||||
WMFont *font;
|
||||
WMScreen *scr = WMWidgetScreen(panel->win);
|
||||
|
||||
panel->frame = WMCreateFrame(panel->win);
|
||||
@@ -149,25 +223,31 @@ createPanel(Panel *p)
|
||||
WMMoveWidget(panel->frame, FRAME_LEFT, FRAME_TOP);
|
||||
|
||||
/* preview box */
|
||||
panel->prevL = WMCreateLabel(panel->frame);
|
||||
WMResizeWidget(panel->prevL, 260, 190);
|
||||
WMMoveWidget(panel->prevL, 10, 10);
|
||||
WMSetLabelRelief(panel->prevL, WRSunken);
|
||||
panel->prevB = WMCreateCommandButton(panel->frame);
|
||||
WMResizeWidget(panel->prevB, 260, 165);
|
||||
WMMoveWidget(panel->prevB, 15, 10);
|
||||
WMSetButtonImagePosition(panel->prevB, WIPImageOnly);
|
||||
|
||||
panel->secP = WMCreatePopUpButton(panel->frame);
|
||||
WMResizeWidget(panel->secP, 242, 20);
|
||||
WMMoveWidget(panel->secP, 10, 207);
|
||||
/* WMSetPopUpButtonAction(panel->secP, changePage, panel);
|
||||
*/
|
||||
|
||||
WMResizeWidget(panel->secP, 260, 20);
|
||||
WMMoveWidget(panel->secP, 15, 180);
|
||||
WMSetPopUpButtonSelectedItem(panel->secP, 0);
|
||||
WMAddPopUpButtonItem(panel->secP, _("Titlebar of Focused Window"));
|
||||
WMAddPopUpButtonItem(panel->secP, _("Titlebar of Unfocused Windows"));
|
||||
WMAddPopUpButtonItem(panel->secP, _("Titlebar of Focused Window's Owner"));
|
||||
WMAddPopUpButtonItem(panel->secP, _("Titlebar of Menus"));
|
||||
WMAddPopUpButtonItem(panel->secP, _("Menu Items"));
|
||||
WMAddPopUpButtonItem(panel->secP, _("Icon Background"));
|
||||
WMAddPopUpButtonItem(panel->secP, _("Workspace Backgrounds"));
|
||||
WMSetPopUpButtonAction(panel->secP, changePage, panel);
|
||||
|
||||
/* texture list */
|
||||
boldFont = WMBoldSystemFontOfSize(scr, 12);
|
||||
font = WMBoldSystemFontOfSize(scr, 12);
|
||||
|
||||
panel->texL = WMCreateLabel(panel->frame);
|
||||
WMResizeWidget(panel->texL, 225, 18);
|
||||
WMMoveWidget(panel->texL, 285, 10);
|
||||
WMSetLabelFont(panel->texL, boldFont);
|
||||
WMSetLabelFont(panel->texL, font);
|
||||
WMSetLabelText(panel->texL, _("Textures"));
|
||||
WMSetLabelRelief(panel->texL, WRSunken);
|
||||
WMSetLabelTextAlignment(panel->texL, WACenter);
|
||||
@@ -178,31 +258,52 @@ createPanel(Panel *p)
|
||||
WMSetLabelTextColor(panel->texL, color);
|
||||
WMReleaseColor(color);
|
||||
|
||||
WMReleaseFont(boldFont);
|
||||
|
||||
WMReleaseFont(font);
|
||||
|
||||
panel->texLs = WMCreateList(panel->frame);
|
||||
WMResizeWidget(panel->texLs, 225, 144);
|
||||
WMMoveWidget(panel->texLs, 285, 30);
|
||||
|
||||
panel->cmdP = WMCreatePopUpButton(panel->frame);
|
||||
WMResizeWidget(panel->cmdP, 225, 20);
|
||||
WMMoveWidget(panel->cmdP, 285, 180);
|
||||
WMSetPopUpButtonPullsDown(panel->cmdP, True);
|
||||
WMSetPopUpButtonText(panel->cmdP, _("Texture Commands"));
|
||||
WMAddPopUpButtonItem(panel->cmdP, _("Create New"));
|
||||
WMAddPopUpButtonItem(panel->cmdP, _("Add From Text Field"));
|
||||
WMAddPopUpButtonItem(panel->cmdP, _("Remove Selected"));
|
||||
WMAddPopUpButtonItem(panel->cmdP, _("Extract From File"));
|
||||
/* command buttons */
|
||||
|
||||
font = WMSystemFontOfSize(scr, 10);
|
||||
|
||||
|
||||
panel->newB = WMCreateCommandButton(panel->frame);
|
||||
WMResizeWidget(panel->newB, 56, 48);
|
||||
WMMoveWidget(panel->newB, 285, 180);
|
||||
WMSetButtonFont(panel->newB, font);
|
||||
WMSetButtonImagePosition(panel->newB, WIPAbove);
|
||||
WMSetButtonText(panel->newB, _("New"));
|
||||
SetButtonAlphaImage(scr, panel->newB, TNEW_FILE);
|
||||
|
||||
panel->ripB = WMCreateCommandButton(panel->frame);
|
||||
WMResizeWidget(panel->ripB, 56, 48);
|
||||
WMMoveWidget(panel->ripB, 341, 180);
|
||||
WMSetButtonFont(panel->ripB, font);
|
||||
WMSetButtonImagePosition(panel->ripB, WIPAbove);
|
||||
WMSetButtonText(panel->ripB, _("Extract..."));
|
||||
SetButtonAlphaImage(scr, panel->ripB, TEXTR_FILE);
|
||||
|
||||
panel->editB = WMCreateCommandButton(panel->frame);
|
||||
WMResizeWidget(panel->editB, 64, 20);
|
||||
WMMoveWidget(panel->editB, 260, 207);
|
||||
WMSetButtonText(panel->editB, _("Browse..."));
|
||||
WMResizeWidget(panel->editB, 56, 48);
|
||||
WMMoveWidget(panel->editB, 397, 180);
|
||||
WMSetButtonFont(panel->editB, font);
|
||||
WMSetButtonImagePosition(panel->editB, WIPAbove);
|
||||
WMSetButtonText(panel->editB, _("Edit"));
|
||||
SetButtonAlphaImage(scr, panel->editB, TEDIT_FILE);
|
||||
WMSetButtonEnabled(panel->editB, False);
|
||||
|
||||
panel->texT = WMCreateTextField(panel->frame);
|
||||
WMResizeWidget(panel->texT, 176, 20);
|
||||
WMMoveWidget(panel->texT, 330, 207);
|
||||
panel->delB = WMCreateCommandButton(panel->frame);
|
||||
WMResizeWidget(panel->delB, 56, 48);
|
||||
WMMoveWidget(panel->delB, 453, 180);
|
||||
WMSetButtonFont(panel->delB, font);
|
||||
WMSetButtonImagePosition(panel->delB, WIPAbove);
|
||||
WMSetButtonText(panel->delB, _("Delete"));
|
||||
SetButtonAlphaImage(scr, panel->delB, TDEL_FILE);
|
||||
WMSetButtonEnabled(panel->delB, False);
|
||||
|
||||
WMReleaseFont(font);
|
||||
|
||||
/**/
|
||||
|
||||
@@ -211,8 +312,65 @@ createPanel(Panel *p)
|
||||
|
||||
WMSetPopUpButtonSelectedItem(panel->secP, 0);
|
||||
|
||||
showData(panel);
|
||||
|
||||
fillTextureList(panel->texLs);
|
||||
|
||||
}
|
||||
|
||||
static proplist_t
|
||||
setupTextureFor(WMList *list, char *key, char *defValue, char *title)
|
||||
{
|
||||
WMListItem *item;
|
||||
char *tex, *str;
|
||||
proplist_t prop;
|
||||
|
||||
prop = GetObjectForKey(key);
|
||||
if (!prop) {
|
||||
prop = PLMakeString(defValue);
|
||||
}
|
||||
tex = PLGetDescription(prop);
|
||||
str = wstrappend(title, tex);
|
||||
free(tex);
|
||||
item = WMAddListItem(list, str);
|
||||
free(str);
|
||||
item->clientData = prop;
|
||||
|
||||
return prop;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
showData(_Panel *panel)
|
||||
{
|
||||
panel->ftitleTex = setupTextureFor(panel->texLs, "FTitleBack",
|
||||
"(solid, black)", "[Focused]:");
|
||||
panel->ftitleIndex = 0;
|
||||
|
||||
panel->utitleTex = setupTextureFor(panel->texLs, "UTitleBack",
|
||||
"(solid, gray)", "[Unfocused]:");
|
||||
panel->utitleIndex = 1;
|
||||
|
||||
panel->ptitleTex = setupTextureFor(panel->texLs, "PTitleBack",
|
||||
"(solid, \"#616161\")",
|
||||
"[Owner of Focused]:");
|
||||
panel->ptitleIndex = 2;
|
||||
|
||||
panel->mtitleTex = setupTextureFor(panel->texLs, "MenuTitleBack",
|
||||
"(solid, black)", "[Menu Title]:");
|
||||
panel->mtitleIndex = 3;
|
||||
|
||||
panel->menuTex = setupTextureFor(panel->texLs, "MenuTextBack",
|
||||
"(solid, gray)", "[Menu Item]:");
|
||||
panel->menuIndex = 4;
|
||||
|
||||
panel->iconTex = setupTextureFor(panel->texLs, "IconBack",
|
||||
"(solid, gray)", "[Icon]:");
|
||||
panel->iconIndex = 5;
|
||||
|
||||
panel->backTex = setupTextureFor(panel->texLs, "WorkspaceBack",
|
||||
"(solid, black)", "[Workspace]:");
|
||||
panel->backIndex = 6;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -30,7 +30,6 @@ WPrefs_SOURCES = \
|
||||
Paths.c \
|
||||
Preferences.c \
|
||||
Text.c \
|
||||
TextureAndColor.c \
|
||||
TexturePanel.c \
|
||||
TexturePanel.h \
|
||||
Themes.c \
|
||||
|
||||
@@ -101,7 +101,7 @@ wpdata_DATA = WPrefs.tiff WPrefs.xpm
|
||||
|
||||
EXTRA_DIST = $(wpdata_DATA) TexturePanel.icons
|
||||
|
||||
WPrefs_SOURCES = main.c WPrefs.c WPrefs.h Appearance.c Configurations.c Expert.c Focus.c Icons.c KeyboardSettings.c KeyboardShortcuts.c Menu.c MenuPreferences.c MouseSettings.c NoMenuAlert.c Paths.c Preferences.c Text.c TextureAndColor.c TexturePanel.c TexturePanel.h Themes.c WindowHandling.c Workspace.c double.c double.h editmenu.c editmenu.h MenuGuru.c xmodifier.c
|
||||
WPrefs_SOURCES = main.c WPrefs.c WPrefs.h Appearance.c Configurations.c Expert.c Focus.c Icons.c KeyboardSettings.c KeyboardShortcuts.c Menu.c MenuPreferences.c MouseSettings.c NoMenuAlert.c Paths.c Preferences.c Text.c TexturePanel.c TexturePanel.h Themes.c WindowHandling.c Workspace.c double.c double.h editmenu.c editmenu.h MenuGuru.c xmodifier.c
|
||||
|
||||
|
||||
CPPFLAGS = @CPPFLAGS@ -DLOCALEDIR=\"$(NLSDIR)\"
|
||||
@@ -128,8 +128,8 @@ X_PRE_LIBS = @X_PRE_LIBS@
|
||||
WPrefs_OBJECTS = main.o WPrefs.o Appearance.o Configurations.o Expert.o \
|
||||
Focus.o Icons.o KeyboardSettings.o KeyboardShortcuts.o Menu.o \
|
||||
MenuPreferences.o MouseSettings.o NoMenuAlert.o Paths.o Preferences.o \
|
||||
Text.o TextureAndColor.o TexturePanel.o Themes.o WindowHandling.o \
|
||||
Workspace.o double.o editmenu.o MenuGuru.o xmodifier.o
|
||||
Text.o TexturePanel.o Themes.o WindowHandling.o Workspace.o double.o \
|
||||
editmenu.o MenuGuru.o xmodifier.o
|
||||
WPrefs_LDFLAGS =
|
||||
CFLAGS = @CFLAGS@
|
||||
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
|
||||
@@ -1347,6 +1347,7 @@ showData(_Panel *panel)
|
||||
if (!menu || !PLIsArray(menu)) {
|
||||
if (AskMenuCopy(panel->win)) {
|
||||
panel->dontSave = 0;
|
||||
panel->unsaved = 1;
|
||||
|
||||
pmenu = getDefaultMenu(panel, &hasWSMenu);
|
||||
} else {
|
||||
|
||||
+49
-15
@@ -55,6 +55,8 @@ typedef struct _Panel {
|
||||
|
||||
WMFrame *ddelaF;
|
||||
WMButton *ddelaB[5];
|
||||
WMTextField *ddelaT;
|
||||
WMLabel *ddelaL;
|
||||
DoubleTest *tester;
|
||||
|
||||
WMFrame *menuF;
|
||||
@@ -143,7 +145,8 @@ speedClick(WMWidget *w, void *data)
|
||||
|
||||
tmp = WMGetTextFieldText(panel->acceT);
|
||||
if (sscanf(tmp, "%f", &accel)!=1 || accel < 0) {
|
||||
WMRunAlertPanel(WMWidgetScreen(w), GetWindow(panel), _("Error"),
|
||||
WMRunAlertPanel(WMWidgetScreen(panel->acceT), GetWindow(panel),
|
||||
_("Error"),
|
||||
_("Invalid mouse acceleration value. Must be a positive real value."),
|
||||
_("OK"), NULL, NULL);
|
||||
free(tmp);
|
||||
@@ -192,12 +195,16 @@ doubleClick(WMWidget *w, void *data)
|
||||
_Panel *panel = (_Panel*)data;
|
||||
int i;
|
||||
extern _WINGsConfiguration WINGsConfiguration;
|
||||
char buffer[32];
|
||||
|
||||
for (i=0; i<5; i++) {
|
||||
if (panel->ddelaB[i]==w)
|
||||
break;
|
||||
}
|
||||
WINGsConfiguration.doubleClickDelay = DELAY(i);
|
||||
|
||||
sprintf(buffer, "%i", DELAY(i));
|
||||
WMSetTextFieldText(panel->ddelaT, buffer);
|
||||
}
|
||||
|
||||
|
||||
@@ -302,26 +309,33 @@ showData(_Panel *panel)
|
||||
}
|
||||
sprintf(buffer, "%i", a);
|
||||
WMSetTextFieldText(panel->threT, buffer);
|
||||
/* find best match */
|
||||
a = 0;
|
||||
|
||||
a = -1;
|
||||
for (i=0; i<5; i++) {
|
||||
if (fabs((0.5+((float)i*0.5))-accel) < fabs((0.5+((float)a*0.5))-accel))
|
||||
if (0.5+(float)i*0.5 == accel)
|
||||
a = i;
|
||||
}
|
||||
if (a >= 0) {
|
||||
WMPerformButtonClick(panel->speedB[a]);
|
||||
panel->lastClickedSpeed = panel->speedB[a];
|
||||
}
|
||||
panel->acceleration = accel;
|
||||
sprintf(buffer, "%.2f", accel);
|
||||
WMSetTextFieldText(panel->acceT, buffer);
|
||||
|
||||
speedClick(panel->lastClickedSpeed, panel);
|
||||
/**/
|
||||
b = GetIntegerForKey("DoubleClickTime");
|
||||
/* find best match */
|
||||
a = 0;
|
||||
a = -1;
|
||||
for (i=0; i<5; i++) {
|
||||
if (abs(b - DELAY(i)) < abs(b - DELAY(a)))
|
||||
if (DELAY(i) == b)
|
||||
a = i;
|
||||
}
|
||||
if (a >= 0)
|
||||
WMPerformButtonClick(panel->ddelaB[a]);
|
||||
sprintf(buffer, "%i", b);
|
||||
WMSetTextFieldText(panel->ddelaT, buffer);
|
||||
|
||||
/**/
|
||||
str = GetStringForKey("ModifierKey");
|
||||
@@ -577,13 +591,14 @@ createPanel(Panel *p)
|
||||
free(buf2);
|
||||
|
||||
panel->acceL = WMCreateLabel(panel->speedF);
|
||||
WMResizeWidget(panel->acceL, 80, 16);
|
||||
WMResizeWidget(panel->acceL, 70, 16);
|
||||
WMMoveWidget(panel->acceL, 10, 67);
|
||||
WMSetLabelTextAlignment(panel->acceL, WARight);
|
||||
WMSetLabelText(panel->acceL, _("Acceler.:"));
|
||||
|
||||
panel->acceT = WMCreateTextField(panel->speedF);
|
||||
WMResizeWidget(panel->acceT, 35, 20);
|
||||
WMMoveWidget(panel->acceT, 85, 65);
|
||||
WMResizeWidget(panel->acceT, 40, 20);
|
||||
WMMoveWidget(panel->acceT, 80, 65);
|
||||
WMAddNotificationObserver(returnPressed, panel,
|
||||
WMTextDidEndEditingNotification, panel->acceT);
|
||||
|
||||
@@ -591,6 +606,7 @@ createPanel(Panel *p)
|
||||
panel->threL = WMCreateLabel(panel->speedF);
|
||||
WMResizeWidget(panel->threL, 80, 16);
|
||||
WMMoveWidget(panel->threL, 120, 67);
|
||||
WMSetLabelTextAlignment(panel->threL, WARight);
|
||||
WMSetLabelText(panel->threL, _("Threshold:"));
|
||||
|
||||
panel->threT = WMCreateTextField(panel->speedF);
|
||||
@@ -652,7 +668,27 @@ createPanel(Panel *p)
|
||||
|
||||
panel->tester = CreateDoubleTest(panel->ddelaF, _("Test"));
|
||||
WMResizeWidget(panel->tester, 84, 29);
|
||||
WMMoveWidget(panel->tester, 85, 55);
|
||||
WMMoveWidget(panel->tester, 35, 55);
|
||||
|
||||
panel->ddelaT = WMCreateTextField(panel->ddelaF);
|
||||
WMResizeWidget(panel->ddelaT, 40, 20);
|
||||
WMMoveWidget(panel->ddelaT, 140, 60);
|
||||
|
||||
panel->ddelaL = WMCreateLabel(panel->ddelaF);
|
||||
WMResizeWidget(panel->ddelaL, 40, 16);
|
||||
WMMoveWidget(panel->ddelaL, 185, 65);
|
||||
{
|
||||
WMFont *font;
|
||||
WMColor *color;
|
||||
|
||||
font = WMSystemFontOfSize(scr, 10);
|
||||
color = WMDarkGrayColor(scr);
|
||||
WMSetLabelTextColor(panel->ddelaL, color);
|
||||
WMSetLabelFont(panel->ddelaL, font);
|
||||
WMReleaseFont(font);
|
||||
WMReleaseColor(color);
|
||||
}
|
||||
WMSetLabelText(panel->ddelaL, "msec");
|
||||
|
||||
WMMapSubwidgets(panel->ddelaF);
|
||||
|
||||
@@ -878,11 +914,9 @@ storeData(_Panel *panel)
|
||||
free(tmp);
|
||||
}
|
||||
|
||||
for (i=0; i<5; i++) {
|
||||
if (WMGetButtonSelected(panel->ddelaB[i]))
|
||||
break;
|
||||
}
|
||||
SetIntegerForKey(DELAY(i), "DoubleClickTime");
|
||||
tmp = WMGetTextFieldText(panel->ddelaT);
|
||||
if (sscanf(tmp, "%i", &i) == 1 && i > 0)
|
||||
SetIntegerForKey(i, "DoubleClickTime");
|
||||
|
||||
SetBoolForKey(WMGetButtonSelected(panel->disaB), "DisableWSMouseActions");
|
||||
|
||||
|
||||
@@ -42,15 +42,15 @@ typedef struct NoMenuPanel {
|
||||
"This either means that there is a syntax error in it or that "\
|
||||
"the menu is in a format not supported by WPrefs (WPrefs only "\
|
||||
"supports property list menus).\n"\
|
||||
" If you want to change the current menu, please read "\
|
||||
"the '%s' file, press 'Keep Current Menu' and edit it with a "\
|
||||
" If you want to keep using the current menu, please read "\
|
||||
"the '%s/%s' file, press 'Keep Current Menu' and edit it with a "\
|
||||
"text editor.\n"\
|
||||
" If you want to use this editor, press 'Copy Default Menu'. "\
|
||||
"It will copy the default menu and will instruct Window Maker "\
|
||||
"to use it instead of the current one.\n"\
|
||||
" If you want more flexibility, keep using the current one "\
|
||||
"as it allows you to use C preprocessor (cpp) macros, while being "\
|
||||
"easy to edit."
|
||||
"easy to edit. Window Maker supports both formats."
|
||||
|
||||
|
||||
static void
|
||||
@@ -79,7 +79,7 @@ Bool
|
||||
AskMenuCopy(WMWindow *wwin)
|
||||
{
|
||||
NoMenuPanel panel;
|
||||
char buffer[1024];
|
||||
char buffer[2048];
|
||||
|
||||
panel.wwin = WMCreatePanelForWindow(wwin, "noMenuAlert");
|
||||
WMResizeWidget(panel.wwin, 430, 260);
|
||||
@@ -90,7 +90,8 @@ AskMenuCopy(WMWindow *wwin)
|
||||
WMResizeWidget(panel.text, 370, 200);
|
||||
WMMoveWidget(panel.text, 30, 20);
|
||||
|
||||
sprintf(buffer, _(MESSAGE_TEXT), "shit/ewq/ewq/rweq");
|
||||
sprintf(buffer, _(MESSAGE_TEXT), wusergnusteppath(),
|
||||
"Library/WindowMaker/README");
|
||||
WMSetLabelText(panel.text, buffer);
|
||||
|
||||
panel.copyBtn = WMCreateCommandButton(panel.wwin);
|
||||
|
||||
@@ -1,686 +0,0 @@
|
||||
/* TextureAndColor.c- color/texture for titlebar etc.
|
||||
*
|
||||
* WPrefs - Window Maker Preferences Program
|
||||
*
|
||||
* Copyright (c) 1998 Alfredo K. Kojima
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
* USA.
|
||||
*/
|
||||
|
||||
|
||||
#include "WPrefs.h"
|
||||
|
||||
#include "TexturePanel.h"
|
||||
|
||||
typedef struct _Panel {
|
||||
WMFrame *frame;
|
||||
char *sectionName;
|
||||
|
||||
CallbackRec callbacks;
|
||||
|
||||
WMWindow *win;
|
||||
|
||||
WMPopUpButton *secP;
|
||||
|
||||
WMLabel *prevL;
|
||||
|
||||
/* window titlebar */
|
||||
WMFrame *focF;
|
||||
WMColorWell *focC;
|
||||
WMLabel *focL;
|
||||
WMTextField *focT;
|
||||
WMLabel *foc2L;
|
||||
WMButton *focB;
|
||||
|
||||
WMFrame *unfF;
|
||||
WMColorWell *unfC;
|
||||
WMLabel *unfL;
|
||||
WMTextField *unfT;
|
||||
WMLabel *unf2L;
|
||||
WMButton *unfB;
|
||||
|
||||
WMFrame *ownF;
|
||||
WMColorWell *ownC;
|
||||
WMLabel *ownL;
|
||||
WMTextField *ownT;
|
||||
WMLabel *own2L;
|
||||
WMButton *ownB;
|
||||
|
||||
/* menu title */
|
||||
WMFrame *backF;
|
||||
WMTextField *backT;
|
||||
WMButton *backB;
|
||||
|
||||
WMFrame *textF;
|
||||
WMColorWell *textC;
|
||||
|
||||
/* menu items */
|
||||
WMFrame *unsF;
|
||||
WMTextField *unsT;
|
||||
WMButton *unsB;
|
||||
WMLabel *unsL;
|
||||
WMColorWell *unsnC;
|
||||
WMLabel *unsnL;
|
||||
WMColorWell *unsdC;
|
||||
WMLabel *unsdL;
|
||||
|
||||
WMFrame *selF;
|
||||
WMColorWell *seltC;
|
||||
WMLabel *seltL;
|
||||
WMColorWell *selbC;
|
||||
WMLabel *selbL;
|
||||
|
||||
/* workspace/clip */
|
||||
WMFrame *workF;
|
||||
WMTextField *workT;
|
||||
WMButton *workB;
|
||||
|
||||
WMFrame *clipF;
|
||||
WMColorWell *clipnC;
|
||||
WMColorWell *clipcC;
|
||||
WMLabel *clipnL;
|
||||
WMLabel *clipcL;
|
||||
|
||||
/* icon */
|
||||
WMFrame *iconF;
|
||||
WMTextField *iconT;
|
||||
WMButton *iconB;
|
||||
|
||||
Pixmap preview;
|
||||
Pixmap ftitle;
|
||||
Pixmap utitle;
|
||||
Pixmap otitle;
|
||||
Pixmap icon;
|
||||
Pixmap back;
|
||||
Pixmap mtitle;
|
||||
Pixmap mitem;
|
||||
} _Panel;
|
||||
|
||||
|
||||
|
||||
|
||||
#define ICON_FILE "appearance"
|
||||
|
||||
|
||||
#define FTITLE (1<<0)
|
||||
#define UTITLE (1<<1)
|
||||
#define OTITLE (1<<2)
|
||||
#define ICON (1<<3)
|
||||
#define BACK (1<<4)
|
||||
#define MTITLE (1<<5)
|
||||
#define MITEM (1<<6)
|
||||
#define EVERYTHING 0xff
|
||||
|
||||
|
||||
static Pixmap
|
||||
renderTexture(_Panel *panel, char *texture, int width, int height,
|
||||
Bool bordered)
|
||||
{
|
||||
return None;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
updatePreviewBox(_Panel *panel, int elements)
|
||||
{
|
||||
WMScreen *scr = WMWidgetScreen(panel->win);
|
||||
Display *dpy = WMScreenDisplay(scr);
|
||||
/* RContext *rc = WMScreenRContext(scr);*/
|
||||
int refresh = 0;
|
||||
char *tmp;
|
||||
|
||||
if (!panel->preview) {
|
||||
panel->preview = XCreatePixmap(dpy, WMWidgetXID(panel->win),
|
||||
220-4, 185-4, WMScreenDepth(scr));
|
||||
|
||||
refresh = -1;
|
||||
}
|
||||
|
||||
if (elements & FTITLE) {
|
||||
if (panel->ftitle)
|
||||
XFreePixmap(dpy, panel->ftitle);
|
||||
|
||||
tmp = WMGetTextFieldText(panel->focT);
|
||||
panel->ftitle = renderTexture(panel, tmp, 180, 20, True);
|
||||
free(tmp);
|
||||
}
|
||||
|
||||
/* have to repaint everything to make things simple, eliminating
|
||||
* clipping stuff */
|
||||
if (refresh) {
|
||||
|
||||
}
|
||||
|
||||
if (refresh<0) {
|
||||
WMPixmap *pix;
|
||||
pix = WMCreatePixmapFromXPixmaps(scr, panel->preview, None,
|
||||
220-4, 185-4, WMScreenDepth(scr));
|
||||
|
||||
WMSetLabelImage(panel->prevL, pix);
|
||||
WMReleasePixmap(pix);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
changePage(WMWidget *self, void *data)
|
||||
{
|
||||
int i;
|
||||
_Panel *panel = (_Panel*)data;
|
||||
|
||||
i = WMGetPopUpButtonSelectedItem(self);
|
||||
|
||||
if (i==0) {
|
||||
WMMapWidget(panel->focF);
|
||||
WMMapWidget(panel->unfF);
|
||||
WMMapWidget(panel->ownF);
|
||||
} else if (i==1) {
|
||||
WMMapWidget(panel->backF);
|
||||
WMMapWidget(panel->textF);
|
||||
} else if (i==2) {
|
||||
WMMapWidget(panel->unsF);
|
||||
WMMapWidget(panel->selF);
|
||||
} else if (i==3) {
|
||||
WMMapWidget(panel->workF);
|
||||
WMMapWidget(panel->clipF);
|
||||
} else if (i==4) {
|
||||
WMMapWidget(panel->iconF);
|
||||
}
|
||||
|
||||
if (i!=0) {
|
||||
WMUnmapWidget(panel->focF);
|
||||
WMUnmapWidget(panel->unfF);
|
||||
WMUnmapWidget(panel->ownF);
|
||||
}
|
||||
if (i!=1) {
|
||||
WMUnmapWidget(panel->backF);
|
||||
WMUnmapWidget(panel->textF);
|
||||
}
|
||||
if (i!=2) {
|
||||
WMUnmapWidget(panel->unsF);
|
||||
WMUnmapWidget(panel->selF);
|
||||
}
|
||||
if (i!=3) {
|
||||
WMUnmapWidget(panel->workF);
|
||||
WMUnmapWidget(panel->clipF);
|
||||
}
|
||||
if (i!=4) {
|
||||
WMUnmapWidget(panel->iconF);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static char*
|
||||
getStrArrayForKey(char *key)
|
||||
{
|
||||
proplist_t v;
|
||||
|
||||
v = GetObjectForKey(key);
|
||||
if (!v)
|
||||
return NULL;
|
||||
|
||||
return PLGetDescription(v);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
showData(_Panel *panel)
|
||||
{
|
||||
char *str;
|
||||
WMScreen *scr = WMWidgetScreen(panel->win);
|
||||
WMColor *color;
|
||||
|
||||
str = GetStringForKey("FTitleColor");
|
||||
if (!str)
|
||||
str = "white";
|
||||
color = WMCreateNamedColor(scr, str, True);
|
||||
WMSetColorWellColor(panel->focC, color);
|
||||
WMReleaseColor(color);
|
||||
|
||||
str = GetStringForKey("PTitleColor");
|
||||
if (!str)
|
||||
str = "white";
|
||||
color = WMCreateNamedColor(scr, str, True);
|
||||
WMSetColorWellColor(panel->ownC, color);
|
||||
WMReleaseColor(color);
|
||||
|
||||
str = GetStringForKey("UTitleColor");
|
||||
if (!str)
|
||||
str = "black";
|
||||
color = WMCreateNamedColor(scr, str, True);
|
||||
WMSetColorWellColor(panel->unfC, color);
|
||||
WMReleaseColor(color);
|
||||
|
||||
|
||||
str = getStrArrayForKey("FTitleBack");
|
||||
if (!str)
|
||||
str = wstrdup("(solid, black)");
|
||||
WMSetTextFieldText(panel->focT, str);
|
||||
free(str);
|
||||
|
||||
str = getStrArrayForKey("PTitleBack");
|
||||
if (!str)
|
||||
str = wstrdup("(solid, gray40)");
|
||||
WMSetTextFieldText(panel->ownT, str);
|
||||
free(str);
|
||||
|
||||
str = getStrArrayForKey("UTitleBack");
|
||||
if (!str)
|
||||
str = wstrdup("(solid, grey66)");
|
||||
WMSetTextFieldText(panel->unfT, str);
|
||||
free(str);
|
||||
|
||||
/**/
|
||||
|
||||
str = GetStringForKey("MenuTitleColor");
|
||||
if (!str)
|
||||
str = "white";
|
||||
color = WMCreateNamedColor(scr, str, True);
|
||||
WMSetColorWellColor(panel->textC, color);
|
||||
WMReleaseColor(color);
|
||||
|
||||
str = getStrArrayForKey("MenuTitleBack");
|
||||
if (!str)
|
||||
str = wstrdup("(solid, black)");
|
||||
WMSetTextFieldText(panel->backT, str);
|
||||
free(str);
|
||||
|
||||
/**/
|
||||
|
||||
str = getStrArrayForKey("MenuTextBack");
|
||||
if (!str)
|
||||
str = wstrdup("gray66");
|
||||
WMSetTextFieldText(panel->unsT, str);
|
||||
free(str);
|
||||
|
||||
str = GetStringForKey("MenuTextColor");
|
||||
if (!str)
|
||||
str = "black";
|
||||
color = WMCreateNamedColor(scr, str, True);
|
||||
WMSetColorWellColor(panel->unsnC, color);
|
||||
WMReleaseColor(color);
|
||||
|
||||
str = GetStringForKey("MenuDisabledColor");
|
||||
if (!str)
|
||||
str = "gray40";
|
||||
color = WMCreateNamedColor(scr, str, True);
|
||||
WMSetColorWellColor(panel->unsdC, color);
|
||||
WMReleaseColor(color);
|
||||
|
||||
str = GetStringForKey("HighlightTextColor");
|
||||
if (!str)
|
||||
str = "white";
|
||||
color = WMCreateNamedColor(scr, str, True);
|
||||
WMSetColorWellColor(panel->seltC, color);
|
||||
WMReleaseColor(color);
|
||||
|
||||
str = GetStringForKey("HighlightColor");
|
||||
if (!str)
|
||||
str = "black";
|
||||
color = WMCreateNamedColor(scr, str, True);
|
||||
WMSetColorWellColor(panel->selbC, color);
|
||||
WMReleaseColor(color);
|
||||
|
||||
/**/
|
||||
|
||||
str = getStrArrayForKey("WorkspaceBack");
|
||||
WMSetTextFieldText(panel->workT, str);
|
||||
if (str)
|
||||
free(str);
|
||||
|
||||
|
||||
str = GetStringForKey("ClipTitleColor");
|
||||
if (!str)
|
||||
str = "black";
|
||||
color = WMCreateNamedColor(scr, str, True);
|
||||
WMSetColorWellColor(panel->clipnC, color);
|
||||
WMReleaseColor(color);
|
||||
|
||||
str = GetStringForKey("CClipTitleColor");
|
||||
if (!str)
|
||||
str = "grey40";
|
||||
color = WMCreateNamedColor(scr, str, True);
|
||||
WMSetColorWellColor(panel->clipcC, color);
|
||||
WMReleaseColor(color);
|
||||
|
||||
/**/
|
||||
|
||||
str = getStrArrayForKey("IconBack");
|
||||
if (!str)
|
||||
str = wstrdup("(solid, gray66)");
|
||||
WMSetTextFieldText(panel->iconT, str);
|
||||
free(str);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
createPanel(Panel *p)
|
||||
{
|
||||
_Panel *panel = (_Panel*)p;
|
||||
|
||||
panel->frame = WMCreateFrame(panel->win);
|
||||
WMResizeWidget(panel->frame, FRAME_WIDTH, FRAME_HEIGHT);
|
||||
WMMoveWidget(panel->frame, FRAME_LEFT, FRAME_TOP);
|
||||
|
||||
panel->secP = WMCreatePopUpButton(panel->frame);
|
||||
WMResizeWidget(panel->secP, 220, 20);
|
||||
WMMoveWidget(panel->secP, 15, 10);
|
||||
WMSetPopUpButtonAction(panel->secP, changePage, panel);
|
||||
|
||||
WMAddPopUpButtonItem(panel->secP, _("Window Title Bar"));
|
||||
WMAddPopUpButtonItem(panel->secP, _("Menu Title Bar"));
|
||||
WMAddPopUpButtonItem(panel->secP, _("Menu Items"));
|
||||
WMAddPopUpButtonItem(panel->secP, _("Workspace/Clip"));
|
||||
WMAddPopUpButtonItem(panel->secP, _("Icons"));
|
||||
|
||||
panel->prevL = WMCreateLabel(panel->frame);
|
||||
WMResizeWidget(panel->prevL, 220, 185);
|
||||
WMMoveWidget(panel->prevL, 15, 40);
|
||||
WMSetLabelRelief(panel->prevL, WRSunken);
|
||||
|
||||
/* window titlebar */
|
||||
panel->focF = WMCreateFrame(panel->frame);
|
||||
WMResizeWidget(panel->focF, 265, 70);
|
||||
WMMoveWidget(panel->focF, 245, 5);
|
||||
WMSetFrameTitle(panel->focF, _("Focused Window"));
|
||||
|
||||
panel->focC = WMCreateColorWell(panel->focF);
|
||||
WMResizeWidget(panel->focC, 60, 35);
|
||||
WMMoveWidget(panel->focC, 15, 15);
|
||||
|
||||
panel->focT = WMCreateTextField(panel->focF);
|
||||
WMResizeWidget(panel->focT, 116, 20);
|
||||
WMMoveWidget(panel->focT, 85, 25);
|
||||
|
||||
panel->foc2L = WMCreateLabel(panel->focF);
|
||||
WMResizeWidget(panel->foc2L, 165, 16);
|
||||
WMMoveWidget(panel->foc2L, 90, 50);
|
||||
WMSetLabelText(panel->foc2L, _("Texture"));
|
||||
WMSetLabelTextAlignment(panel->foc2L, WACenter);
|
||||
|
||||
panel->focL = WMCreateLabel(panel->focF);
|
||||
WMResizeWidget(panel->focL, 100, 16);
|
||||
WMMoveWidget(panel->focL, 15, 50);
|
||||
WMSetLabelText(panel->focL, _("Text Color"));
|
||||
|
||||
panel->focB = WMCreateCommandButton(panel->focF);
|
||||
WMResizeWidget(panel->focB, 48, 22);
|
||||
WMMoveWidget(panel->focB, 205, 24);
|
||||
WMSetButtonText(panel->focB, _("Set..."));
|
||||
|
||||
WMMapSubwidgets(panel->focF);
|
||||
/**/
|
||||
panel->unfF = WMCreateFrame(panel->frame);
|
||||
WMResizeWidget(panel->unfF, 265, 70);
|
||||
WMMoveWidget(panel->unfF, 245, 80);
|
||||
WMSetFrameTitle(panel->unfF, _("Unfocused Window"));
|
||||
|
||||
panel->unfC = WMCreateColorWell(panel->unfF);
|
||||
WMResizeWidget(panel->unfC, 60, 35);
|
||||
WMMoveWidget(panel->unfC, 15, 15);
|
||||
|
||||
panel->unfT = WMCreateTextField(panel->unfF);
|
||||
WMResizeWidget(panel->unfT, 116, 20);
|
||||
WMMoveWidget(panel->unfT, 85, 25);
|
||||
|
||||
panel->unf2L = WMCreateLabel(panel->unfF);
|
||||
WMResizeWidget(panel->unf2L, 165, 16);
|
||||
WMMoveWidget(panel->unf2L, 90, 50);
|
||||
WMSetLabelText(panel->unf2L, _("Texture"));
|
||||
WMSetLabelTextAlignment(panel->unf2L, WACenter);
|
||||
|
||||
panel->unfL = WMCreateLabel(panel->unfF);
|
||||
WMResizeWidget(panel->unfL, 100, 16);
|
||||
WMMoveWidget(panel->unfL, 15, 50);
|
||||
WMSetLabelText(panel->unfL, _("Text Color"));
|
||||
|
||||
panel->unfB = WMCreateCommandButton(panel->unfF);
|
||||
WMResizeWidget(panel->unfB, 48, 22);
|
||||
WMMoveWidget(panel->unfB, 205, 24);
|
||||
WMSetButtonText(panel->unfB, _("Set..."));
|
||||
|
||||
WMMapSubwidgets(panel->unfF);
|
||||
/**/
|
||||
panel->ownF = WMCreateFrame(panel->frame);
|
||||
WMResizeWidget(panel->ownF, 265, 70);
|
||||
WMMoveWidget(panel->ownF, 245, 155);
|
||||
WMSetFrameTitle(panel->ownF, _("Owner of Focused Window"));
|
||||
|
||||
panel->ownC = WMCreateColorWell(panel->ownF);
|
||||
WMResizeWidget(panel->ownC, 60, 35);
|
||||
WMMoveWidget(panel->ownC, 15, 15);
|
||||
|
||||
panel->ownT = WMCreateTextField(panel->ownF);
|
||||
WMResizeWidget(panel->ownT, 116, 20);
|
||||
WMMoveWidget(panel->ownT, 85, 25);
|
||||
|
||||
panel->own2L = WMCreateLabel(panel->ownF);
|
||||
WMResizeWidget(panel->own2L, 165, 16);
|
||||
WMMoveWidget(panel->own2L, 90, 50);
|
||||
WMSetLabelText(panel->own2L, _("Texture"));
|
||||
WMSetLabelTextAlignment(panel->own2L, WACenter);
|
||||
|
||||
panel->ownL = WMCreateLabel(panel->ownF);
|
||||
WMResizeWidget(panel->ownL, 100, 16);
|
||||
WMMoveWidget(panel->ownL, 15, 50);
|
||||
WMSetLabelText(panel->ownL, _("Text Color"));
|
||||
|
||||
panel->ownB = WMCreateCommandButton(panel->ownF);
|
||||
WMResizeWidget(panel->ownB, 48, 22);
|
||||
WMMoveWidget(panel->ownB, 205, 24);
|
||||
WMSetButtonText(panel->ownB, _("Set..."));
|
||||
|
||||
WMMapSubwidgets(panel->ownF);
|
||||
|
||||
/***************** Menu Item *****************/
|
||||
|
||||
panel->unsF = WMCreateFrame(panel->frame);
|
||||
WMResizeWidget(panel->unsF, 260, 140);
|
||||
WMMoveWidget(panel->unsF, 250, 5);
|
||||
WMSetFrameTitle(panel->unsF, _("Unselected Items"));
|
||||
|
||||
panel->unsT = WMCreateTextField(panel->unsF);
|
||||
WMResizeWidget(panel->unsT, 175, 20);
|
||||
WMMoveWidget(panel->unsT, 15, 25);
|
||||
|
||||
panel->unsL = WMCreateLabel(panel->unsF);
|
||||
WMResizeWidget(panel->unsL, 175, 16);
|
||||
WMMoveWidget(panel->unsL, 15, 50);
|
||||
WMSetLabelTextAlignment(panel->unsL, WACenter);
|
||||
WMSetLabelText(panel->unsL, _("Background"));
|
||||
|
||||
panel->unsB = WMCreateCommandButton(panel->unsF);
|
||||
WMResizeWidget(panel->unsB, 48, 22);
|
||||
WMMoveWidget(panel->unsB, 200, 24);
|
||||
WMSetButtonText(panel->unsB, _("Set..."));
|
||||
|
||||
panel->unsnC = WMCreateColorWell(panel->unsF);
|
||||
WMResizeWidget(panel->unsnC, 60, 40);
|
||||
WMMoveWidget(panel->unsnC, 40, 75);
|
||||
|
||||
panel->unsnL = WMCreateLabel(panel->unsF);
|
||||
WMResizeWidget(panel->unsnL, 120, 16);
|
||||
WMMoveWidget(panel->unsnL, 10, 117);
|
||||
WMSetLabelTextAlignment(panel->unsnL, WACenter);
|
||||
WMSetLabelText(panel->unsnL, _("Normal Text"));
|
||||
|
||||
panel->unsdC = WMCreateColorWell(panel->unsF);
|
||||
WMResizeWidget(panel->unsdC, 60, 40);
|
||||
WMMoveWidget(panel->unsdC, 160, 75);
|
||||
|
||||
panel->unsdL = WMCreateLabel(panel->unsF);
|
||||
WMResizeWidget(panel->unsdL, 120, 16);
|
||||
WMMoveWidget(panel->unsdL, 130, 117);
|
||||
WMSetLabelTextAlignment(panel->unsdL, WACenter);
|
||||
WMSetLabelText(panel->unsdL, _("Disabled Text"));
|
||||
|
||||
WMMapSubwidgets(panel->unsF);
|
||||
|
||||
/**/
|
||||
|
||||
panel->selF = WMCreateFrame(panel->frame);
|
||||
WMResizeWidget(panel->selF, 260, 75);
|
||||
WMMoveWidget(panel->selF, 250, 150);
|
||||
WMSetFrameTitle(panel->selF, _("Selected Items"));
|
||||
|
||||
panel->seltC = WMCreateColorWell(panel->selF);
|
||||
WMResizeWidget(panel->seltC, 60, 36);
|
||||
WMMoveWidget(panel->seltC, 40, 20);
|
||||
|
||||
panel->seltL = WMCreateLabel(panel->selF);
|
||||
WMResizeWidget(panel->seltL, 120, 16);
|
||||
WMMoveWidget(panel->seltL, 10, 56);
|
||||
WMSetLabelTextAlignment(panel->seltL, WACenter);
|
||||
WMSetLabelText(panel->seltL, _("Text"));
|
||||
|
||||
panel->selbC = WMCreateColorWell(panel->selF);
|
||||
WMResizeWidget(panel->selbC, 60, 36);
|
||||
WMMoveWidget(panel->selbC, 160, 20);
|
||||
|
||||
panel->selbL = WMCreateLabel(panel->selF);
|
||||
WMResizeWidget(panel->selbL, 120, 16);
|
||||
WMMoveWidget(panel->selbL, 130, 56);
|
||||
WMSetLabelTextAlignment(panel->selbL, WACenter);
|
||||
WMSetLabelText(panel->selbL, _("Background"));
|
||||
|
||||
WMMapSubwidgets(panel->selF);
|
||||
|
||||
/***************** Menu Title *****************/
|
||||
panel->backF = WMCreateFrame(panel->frame);
|
||||
WMResizeWidget(panel->backF, 260, 110);
|
||||
WMMoveWidget(panel->backF, 250, 35);
|
||||
WMSetFrameTitle(panel->backF, _("Menu Title Background"));
|
||||
|
||||
panel->backT = WMCreateTextField(panel->backF);
|
||||
WMResizeWidget(panel->backT, 210, 20);
|
||||
WMMoveWidget(panel->backT, 25, 35);
|
||||
|
||||
panel->backB = WMCreateCommandButton(panel->backF);
|
||||
WMResizeWidget(panel->backB, 50, 24);
|
||||
WMMoveWidget(panel->backB, 185, 60);
|
||||
WMSetButtonText(panel->backB, _("Set..."));
|
||||
|
||||
WMMapSubwidgets(panel->backF);
|
||||
|
||||
/**/
|
||||
|
||||
panel->textF = WMCreateFrame(panel->frame);
|
||||
WMResizeWidget(panel->textF, 260, 75);
|
||||
WMMoveWidget(panel->textF, 250, 150);
|
||||
WMSetFrameTitle(panel->textF, _("Menu Title Text"));
|
||||
|
||||
panel->textC = WMCreateColorWell(panel->textF);
|
||||
WMResizeWidget(panel->textC, 60, 40);
|
||||
WMMoveWidget(panel->textC, 100, 20);
|
||||
|
||||
WMMapSubwidgets(panel->textF);
|
||||
|
||||
/***************** Workspace ****************/
|
||||
panel->workF = WMCreateFrame(panel->frame);
|
||||
WMResizeWidget(panel->workF, 260, 90);
|
||||
WMMoveWidget(panel->workF, 250, 35);
|
||||
WMSetFrameTitle(panel->workF, _("Workspace Background"));
|
||||
|
||||
panel->workT = WMCreateTextField(panel->workF);
|
||||
WMResizeWidget(panel->workT, 220, 20);
|
||||
WMMoveWidget(panel->workT, 20, 25);
|
||||
|
||||
panel->workB = WMCreateCommandButton(panel->workF);
|
||||
WMResizeWidget(panel->workB, 70, 24);
|
||||
WMMoveWidget(panel->workB, 170, 55);
|
||||
WMSetButtonText(panel->workB, _("Change"));
|
||||
|
||||
/**/
|
||||
panel->clipF = WMCreateFrame(panel->frame);
|
||||
WMResizeWidget(panel->clipF, 260, 90);
|
||||
WMMoveWidget(panel->clipF, 250, 135);
|
||||
WMSetFrameTitle(panel->clipF, _("Clip Title Text"));
|
||||
|
||||
panel->clipnC = WMCreateColorWell(panel->clipF);
|
||||
WMResizeWidget(panel->clipnC, 60, 40);
|
||||
WMMoveWidget(panel->clipnC, 40, 25);
|
||||
|
||||
panel->clipnL = WMCreateLabel(panel->clipF);
|
||||
WMResizeWidget(panel->clipnL, 120, 16);
|
||||
WMMoveWidget(panel->clipnL, 10, 70);
|
||||
WMSetLabelTextAlignment(panel->clipnL, WACenter);
|
||||
WMSetLabelText(panel->clipnL, _("Normal"));
|
||||
|
||||
panel->clipcC = WMCreateColorWell(panel->clipF);
|
||||
WMResizeWidget(panel->clipcC, 60, 40);
|
||||
WMMoveWidget(panel->clipcC, 160, 25);
|
||||
|
||||
panel->clipcL = WMCreateLabel(panel->clipF);
|
||||
WMResizeWidget(panel->clipcL, 120, 16);
|
||||
WMMoveWidget(panel->clipcL, 130, 70);
|
||||
WMSetLabelTextAlignment(panel->clipcL, WACenter);
|
||||
WMSetLabelText(panel->clipcL, _("Collapsed"));
|
||||
|
||||
WMMapSubwidgets(panel->clipF);
|
||||
|
||||
|
||||
|
||||
WMMapSubwidgets(panel->workF);
|
||||
|
||||
/***************** Icon *****************/
|
||||
panel->iconF = WMCreateFrame(panel->frame);
|
||||
WMResizeWidget(panel->iconF, 260, 190);
|
||||
WMMoveWidget(panel->iconF, 250, 35);
|
||||
WMSetFrameTitle(panel->iconF, _("Icon Background"));
|
||||
|
||||
panel->iconT = WMCreateTextField(panel->iconF);
|
||||
WMResizeWidget(panel->iconT, 220, 20);
|
||||
WMMoveWidget(panel->iconT, 20, 80);
|
||||
|
||||
panel->iconB = WMCreateCommandButton(panel->iconF);
|
||||
WMResizeWidget(panel->iconB, 50, 24);
|
||||
WMMoveWidget(panel->iconB, 190, 105);
|
||||
WMSetButtonText(panel->iconB, _("Set..."));
|
||||
|
||||
WMMapSubwidgets(panel->iconF);
|
||||
/**/
|
||||
|
||||
WMRealizeWidget(panel->frame);
|
||||
WMMapSubwidgets(panel->frame);
|
||||
|
||||
WMSetPopUpButtonSelectedItem(panel->secP, 0);
|
||||
changePage(panel->secP, panel);
|
||||
|
||||
|
||||
showData(panel);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Panel*
|
||||
InitTextureAndColor(WMScreen *scr, WMWindow *win)
|
||||
{
|
||||
_Panel *panel;
|
||||
|
||||
panel = wmalloc(sizeof(_Panel));
|
||||
memset(panel, 0, sizeof(_Panel));
|
||||
|
||||
panel->sectionName = _("Texture and Color Preferences");
|
||||
|
||||
panel->win = win;
|
||||
|
||||
panel->callbacks.createWidgets = createPanel;
|
||||
|
||||
AddSection(panel, ICON_FILE);
|
||||
|
||||
return panel;
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
*
|
||||
* WPrefs - WindowMaker Preferences Program
|
||||
*
|
||||
* Copyright (c) 1998 Alfredo K. Kojima
|
||||
* Copyright (c) 1998, 1999 Alfredo K. Kojima
|
||||
* Copyright (c) 1998 James Thompson
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -87,7 +87,9 @@ typedef struct _TexturePanel {
|
||||
|
||||
|
||||
|
||||
char *WMGetColorWellRGBString(WMColorWell *cPtr) {
|
||||
char*
|
||||
WMGetColorWellRGBString(WMColorWell *cPtr)
|
||||
{
|
||||
char *rgbString;
|
||||
WMColor *color;
|
||||
|
||||
@@ -990,7 +992,7 @@ void testCancelButton(WMWidget *self, void *data){
|
||||
|
||||
void wAbort()
|
||||
{
|
||||
exit(1);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
+32
-26
@@ -55,8 +55,6 @@ extern Panel *InitIcons(WMScreen *scr, WMWindow *win);
|
||||
|
||||
extern Panel *InitThemes(WMScreen *scr, WMWindow *win);
|
||||
|
||||
extern Panel *InitTextureAndColor(WMScreen *scr, WMWindow *win);
|
||||
|
||||
extern Panel *InitAppearance(WMScreen *scr, WMWindow *win);
|
||||
|
||||
|
||||
@@ -373,32 +371,20 @@ LocateImage(char *name)
|
||||
|
||||
|
||||
void
|
||||
AddSection(Panel *panel, char *iconFile)
|
||||
SetButtonAlphaImage(WMScreen *scr, WMButton *bPtr, char *file)
|
||||
{
|
||||
WMButton *bPtr;
|
||||
WMPixmap *icon;
|
||||
RColor color;
|
||||
char *iconPath;
|
||||
|
||||
assert(WPrefs.sectionCount < MAX_SECTIONS);
|
||||
|
||||
iconPath = LocateImage(iconFile);
|
||||
|
||||
bPtr = WMCreateCustomButton(WPrefs.buttonF, WBBStateLightMask
|
||||
|WBBStateChangeMask);
|
||||
WMResizeWidget(bPtr, 64, 64);
|
||||
WMMoveWidget(bPtr, WPrefs.sectionCount*64, 0);
|
||||
WMSetButtonImagePosition(bPtr, WIPImageOnly);
|
||||
WMSetButtonAction(bPtr, changeSection, panel);
|
||||
WMHangData(bPtr, panel);
|
||||
iconPath = LocateImage(file);
|
||||
|
||||
color.red = 0xae;
|
||||
color.green = 0xaa;
|
||||
color.blue = 0xae;
|
||||
color.alpha = 0;
|
||||
if (iconPath) {
|
||||
icon = WMCreateBlendedPixmapFromFile(WMWidgetScreen(WPrefs.win),
|
||||
iconPath, &color);
|
||||
icon = WMCreateBlendedPixmapFromFile(scr, iconPath, &color);
|
||||
if (!icon)
|
||||
wwarning(_("could not load icon file %s"), iconPath);
|
||||
} else {
|
||||
@@ -415,8 +401,7 @@ AddSection(Panel *panel, char *iconFile)
|
||||
color.blue = 0xff;
|
||||
color.alpha = 0;
|
||||
if (iconPath) {
|
||||
icon = WMCreateBlendedPixmapFromFile(WMWidgetScreen(WPrefs.win),
|
||||
iconPath, &color);
|
||||
icon = WMCreateBlendedPixmapFromFile(scr, iconPath, &color);
|
||||
if (!icon)
|
||||
wwarning(_("could not load icon file %s"), iconPath);
|
||||
} else {
|
||||
@@ -428,6 +413,29 @@ AddSection(Panel *panel, char *iconFile)
|
||||
if (icon)
|
||||
WMReleasePixmap(icon);
|
||||
|
||||
if (iconPath)
|
||||
free(iconPath);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
AddSection(Panel *panel, char *iconFile)
|
||||
{
|
||||
WMButton *bPtr;
|
||||
|
||||
assert(WPrefs.sectionCount < MAX_SECTIONS);
|
||||
|
||||
|
||||
bPtr = WMCreateCustomButton(WPrefs.buttonF, WBBStateLightMask
|
||||
|WBBStateChangeMask);
|
||||
WMResizeWidget(bPtr, 64, 64);
|
||||
WMMoveWidget(bPtr, WPrefs.sectionCount*64, 0);
|
||||
WMSetButtonImagePosition(bPtr, WIPImageOnly);
|
||||
WMSetButtonAction(bPtr, changeSection, panel);
|
||||
WMHangData(bPtr, panel);
|
||||
|
||||
SetButtonAlphaImage(WMWidgetScreen(bPtr), bPtr, iconFile);
|
||||
|
||||
WMMapWidget(bPtr);
|
||||
|
||||
WPrefs.sectionB[WPrefs.sectionCount] = bPtr;
|
||||
@@ -439,8 +447,6 @@ AddSection(Panel *panel, char *iconFile)
|
||||
WPrefs.sectionCount++;
|
||||
|
||||
WMResizeWidget(WPrefs.buttonF, WPrefs.sectionCount*64, 64);
|
||||
|
||||
free(iconPath);
|
||||
}
|
||||
|
||||
|
||||
@@ -494,7 +500,7 @@ Initialize(WMScreen *scr)
|
||||
loadConfigurations(scr, WPrefs.win);
|
||||
|
||||
WMSetLabelText(WPrefs.statusL, _("Initializing configuration panels..."));
|
||||
#if 1
|
||||
|
||||
InitWindowHandling(scr, WPrefs.win);
|
||||
InitFocus(scr, WPrefs.win);
|
||||
InitMenuPreferences(scr, WPrefs.win);
|
||||
@@ -504,22 +510,22 @@ Initialize(WMScreen *scr)
|
||||
InitPaths(scr, WPrefs.win);
|
||||
InitWorkspace(scr, WPrefs.win);
|
||||
InitConfigurations(scr, WPrefs.win);
|
||||
#endif
|
||||
|
||||
InitMenu(scr, WPrefs.win);
|
||||
#if 1
|
||||
|
||||
#ifdef not_yet_fully_implemented
|
||||
InitKeyboardSettings(scr, WPrefs.win);
|
||||
#endif
|
||||
InitKeyboardShortcuts(scr, WPrefs.win);
|
||||
InitMouseSettings(scr, WPrefs.win);
|
||||
|
||||
#ifdef not_yet_fully_implemented
|
||||
InitAppearance(scr, WPrefs.win);
|
||||
|
||||
InitText(scr, WPrefs.win);
|
||||
InitThemes(scr, WPrefs.win);
|
||||
#endif
|
||||
InitExpert(scr, WPrefs.win);
|
||||
#endif
|
||||
|
||||
WMRealizeWidget(WPrefs.scrollV);
|
||||
|
||||
WMSetLabelText(WPrefs.statusL,
|
||||
|
||||
+3
-1
@@ -42,7 +42,7 @@
|
||||
|
||||
/****/
|
||||
|
||||
#define WVERSION "0.11"
|
||||
#define WVERSION "0.20"
|
||||
#define WMVERSION "0.51.x"
|
||||
|
||||
|
||||
@@ -73,6 +73,8 @@ void AddSection(Panel *panel, char *iconFile);
|
||||
|
||||
char *LocateImage(char *name);
|
||||
|
||||
void SetButtonAlphaImage(WMScreen *scr, WMButton *bPtr, char *file);
|
||||
|
||||
WMWindow *GetWindow(Panel *panel);
|
||||
|
||||
/* manipulate the dictionary for the WindowMaker domain */
|
||||
|
||||
@@ -223,7 +223,7 @@ createPanel(Panel *p)
|
||||
WMSetFrameTitle(panel->placF, _("Window Placement"));
|
||||
|
||||
panel->placP = WMCreatePopUpButton(panel->placF);
|
||||
WMResizeWidget(panel->placP, 120, 20);
|
||||
WMResizeWidget(panel->placP, 105, 20);
|
||||
WMMoveWidget(panel->placP, 15, 20);
|
||||
WMAddPopUpButtonItem(panel->placP, _("Automatic"));
|
||||
WMAddPopUpButtonItem(panel->placP, _("Random"));
|
||||
@@ -231,7 +231,7 @@ createPanel(Panel *p)
|
||||
WMAddPopUpButtonItem(panel->placP, _("Cascade"));
|
||||
|
||||
panel->porigL = WMCreateLabel(panel->placF);
|
||||
WMResizeWidget(panel->porigL, 138, 32);
|
||||
WMResizeWidget(panel->porigL, 120, 32);
|
||||
WMMoveWidget(panel->porigL, 5, 45);
|
||||
WMSetLabelTextAlignment(panel->porigL, WACenter);
|
||||
WMSetLabelText(panel->porigL, _("Placement Origin"));
|
||||
@@ -250,15 +250,21 @@ createPanel(Panel *p)
|
||||
swidth = WidthOfScreen(DefaultScreenOfDisplay(WMScreenDisplay(scr)));
|
||||
sheight = HeightOfScreen(DefaultScreenOfDisplay(WMScreenDisplay(scr)));
|
||||
|
||||
if (120*sheight/swidth < 70*swidth/sheight) {
|
||||
width = 70*swidth/sheight;
|
||||
if (sheight > swidth) {
|
||||
height = 70;
|
||||
width = 70*swidth/sheight;
|
||||
if (width > 115)
|
||||
width = 115;
|
||||
height = 115*sheight/swidth;
|
||||
} else {
|
||||
height = 120*sheight/swidth;
|
||||
width = 120;
|
||||
width = 115;
|
||||
height = 115*sheight/swidth;
|
||||
if (height > 70)
|
||||
height = 70;
|
||||
width = 70*swidth/sheight;
|
||||
}
|
||||
WMResizeWidget(panel->porigF, width, height);
|
||||
WMMoveWidget(panel->porigF, 135+(120-width)/2, 20+(70-height)/2);
|
||||
WMMoveWidget(panel->porigF, 130+(115-width)/2, 20+(70-height)/2);
|
||||
|
||||
panel->porigW = WMCreateLabel(panel->porigF);
|
||||
WMResizeWidget(panel->porigW, THUMB_SIZE, THUMB_SIZE);
|
||||
@@ -268,14 +274,14 @@ createPanel(Panel *p)
|
||||
|
||||
panel->hsli = WMCreateSlider(panel->placF);
|
||||
WMResizeWidget(panel->hsli, width, 12);
|
||||
WMMoveWidget(panel->hsli, 135+(120-width)/2, 20+(70-height)/2+height+2);
|
||||
WMMoveWidget(panel->hsli, 130+(115-width)/2, 20+(70-height)/2+height+2);
|
||||
WMSetSliderAction(panel->hsli, sliderCallback, panel);
|
||||
WMSetSliderMinValue(panel->hsli, 0);
|
||||
WMSetSliderMaxValue(panel->hsli, swidth);
|
||||
|
||||
panel->vsli = WMCreateSlider(panel->placF);
|
||||
WMResizeWidget(panel->vsli, 12, height);
|
||||
WMMoveWidget(panel->vsli, 135+(120-width)/2+width+2, 20+(70-height)/2);
|
||||
WMMoveWidget(panel->vsli, 130+(115-width)/2+width+2, 20+(70-height)/2);
|
||||
WMSetSliderAction(panel->vsli, sliderCallback, panel);
|
||||
WMSetSliderMinValue(panel->vsli, 0);
|
||||
WMSetSliderMaxValue(panel->vsli, sheight);
|
||||
|
||||
+2
-2
@@ -105,7 +105,7 @@ paintDoubleTest(_DoubleTest *dPtr)
|
||||
W_Screen *scr = dPtr->view->screen;
|
||||
|
||||
if (dPtr->active) {
|
||||
XFillRectangle(scr->display, dPtr->view->window, W_GC(scr->white),
|
||||
XFillRectangle(scr->display, dPtr->view->window, WMColorGC(scr->white),
|
||||
0, 0, dPtr->view->size.width, dPtr->view->size.height);
|
||||
} else {
|
||||
XClearWindow(scr->display, dPtr->view->window);
|
||||
@@ -119,7 +119,7 @@ paintDoubleTest(_DoubleTest *dPtr)
|
||||
y = (dPtr->view->size.height-scr->normalFont->height)/2;
|
||||
W_PaintText(dPtr->view, dPtr->view->window, scr->normalFont,
|
||||
dPtr->on, dPtr->on+y, dPtr->view->size.width, WACenter,
|
||||
W_GC(scr->black), False, dPtr->text, strlen(dPtr->text));
|
||||
WMColorGC(scr->black), False, dPtr->text, strlen(dPtr->text));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -150,7 +150,7 @@ paintEditMenuItem(WEditMenuItem *iPtr)
|
||||
|
||||
W_DrawRelief(scr, win, 0, 0, w+1, h, WRRaised);
|
||||
|
||||
WMDrawString(scr, win, W_GC(black), scr->normalFont, 5, 3, iPtr->label,
|
||||
WMDrawString(scr, win, WMColorGC(black), scr->normalFont, 5, 3, iPtr->label,
|
||||
strlen(iPtr->label));
|
||||
}
|
||||
|
||||
@@ -366,7 +366,7 @@ WInsertMenuItemWithTitle(WEditMenu *mPtr, char *title, int index)
|
||||
index = mPtr->itemCount;
|
||||
|
||||
if (mPtr->itemCount == mPtr->itemsAlloced) {
|
||||
WEditMenuItem **newList;
|
||||
WEditMenuItem *newList;
|
||||
|
||||
newList = wmalloc(sizeof(WEditMenuItem*)*(mPtr->itemsAlloced+10));
|
||||
memset(newList, 0, sizeof(WEditMenuItem*)*(mPtr->itemsAlloced+10));
|
||||
@@ -458,11 +458,11 @@ paintMenuTitle(WEditMenu *mPtr)
|
||||
int w = W_VIEW(mPtr)->size.width;
|
||||
int h = mPtr->titleHeight;
|
||||
|
||||
XFillRectangle(scr->display, win, W_GC(black), 0, 0, w, h);
|
||||
XFillRectangle(scr->display, win, WMColorGC(black), 0, 0, w, h);
|
||||
|
||||
W_DrawRelief(scr, win, 0, 0, w+1, h, WRRaised);
|
||||
|
||||
WMDrawString(scr, win, W_GC(white), scr->boldFont, 5, 4, mPtr->label,
|
||||
WMDrawString(scr, win, WMColorGC(white), scr->boldFont, 5, 4, mPtr->label,
|
||||
strlen(mPtr->label));
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -165,7 +165,7 @@ main(int argc, char **argv)
|
||||
wfatal(_("could not open display %s"), XDisplayName(display_name));
|
||||
exit(0);
|
||||
}
|
||||
#if 1
|
||||
#if 0
|
||||
XSynchronize(dpy, 1);
|
||||
#endif
|
||||
scr = WMCreateScreen(dpy, DefaultScreen(dpy));
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
CATALOGS = @WPMOFILES@
|
||||
|
||||
nlsdir = $(DESTDIR)$(NLSDIR)
|
||||
nlsdir = $(NLSDIR)
|
||||
|
||||
CLEANFILES = $(CATALOGS)
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ wprefsdir = @wprefsdir@
|
||||
|
||||
CATALOGS = @WPMOFILES@
|
||||
|
||||
nlsdir = $(DESTDIR)$(NLSDIR)
|
||||
nlsdir = $(NLSDIR)
|
||||
|
||||
CLEANFILES = $(CATALOGS)
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
OpenTransientOnOwnerWorkspace = NO;
|
||||
EdgeResistance = YES;
|
||||
EdgeResistance = 30;
|
||||
IconificationStyle = Zoom;
|
||||
IconPath = (
|
||||
"~/GNUstep/Library/Icons",
|
||||
@@ -48,7 +48,6 @@
|
||||
AutoArrangeIcons = NO;
|
||||
AdvanceToNewWorkspace = NO;
|
||||
CycleWorkspaces = NO;
|
||||
WindozeCycling = NO;
|
||||
ResizeDisplay = line;
|
||||
MoveDisplay = floating;
|
||||
OpaqueMove = YES;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
OpenTransientOnOwnerWorkspace = NO;
|
||||
EdgeResistance = YES;
|
||||
EdgeResistance = 30;
|
||||
IconificationStyle = Zoom;
|
||||
IconPath = (
|
||||
"~/GNUstep/Library/Icons",
|
||||
@@ -48,7 +48,6 @@
|
||||
AutoArrangeIcons = NO;
|
||||
AdvanceToNewWorkspace = NO;
|
||||
CycleWorkspaces = NO;
|
||||
WindozeCycling = NO;
|
||||
ResizeDisplay = line;
|
||||
MoveDisplay = floating;
|
||||
OpaqueMove = YES;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
SUBDIRS = Night.themed Checker.themed
|
||||
SUBDIRS = Night.themed Checker.themed LeetWM.themed STEP2000.themed
|
||||
|
||||
defsdatadir = $(pkgdatadir)/Themes
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@ XLIBS = @XLIBS@
|
||||
X_EXTRA_LIBS = @X_EXTRA_LIBS@
|
||||
wprefsdir = @wprefsdir@
|
||||
|
||||
SUBDIRS = Night.themed Checker.themed
|
||||
SUBDIRS = Night.themed Checker.themed LeetWM.themed STEP2000.themed
|
||||
|
||||
defsdatadir = $(pkgdatadir)/Themes
|
||||
|
||||
@@ -104,7 +104,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
TAR = gtar
|
||||
GZIP_ENV = --best
|
||||
all: all-redirect
|
||||
.SUFFIXES:
|
||||
|
||||
@@ -103,7 +103,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
TAR = gtar
|
||||
GZIP_ENV = --best
|
||||
all: all-redirect
|
||||
.SUFFIXES:
|
||||
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 44 KiB |
+7
@@ -0,0 +1,7 @@
|
||||
defsdatadir = $(pkgdatadir)/Themes/STEP2000.themed
|
||||
|
||||
defsdata_DATA = \
|
||||
BlueImage2.jpeg\
|
||||
style
|
||||
|
||||
EXTRA_DIST = $(defsdata_DATA)
|
||||
+220
@@ -0,0 +1,220 @@
|
||||
# Makefile.in generated automatically by automake 1.4 from Makefile.am
|
||||
|
||||
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
DESTDIR =
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = ../../..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
host_alias = @host_alias@
|
||||
host_triplet = @host@
|
||||
CC = @CC@
|
||||
CPP_PATH = @CPP_PATH@
|
||||
DFLAGS = @DFLAGS@
|
||||
GFXLIBS = @GFXLIBS@
|
||||
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
|
||||
ICONEXT = @ICONEXT@
|
||||
INTLIBS = @INTLIBS@
|
||||
LD = @LD@
|
||||
LIBPL = @LIBPL@
|
||||
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LITE = @LITE@
|
||||
LN_S = @LN_S@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MOFILES = @MOFILES@
|
||||
NLSDIR = @NLSDIR@
|
||||
NM = @NM@
|
||||
PACKAGE = @PACKAGE@
|
||||
RANLIB = @RANLIB@
|
||||
VERSION = @VERSION@
|
||||
WPMOFILES = @WPMOFILES@
|
||||
XCFLAGS = @XCFLAGS@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
XLFLAGS = @XLFLAGS@
|
||||
XLIBS = @XLIBS@
|
||||
X_EXTRA_LIBS = @X_EXTRA_LIBS@
|
||||
wprefsdir = @wprefsdir@
|
||||
|
||||
defsdatadir = $(pkgdatadir)/Themes/STEP2000.themed
|
||||
|
||||
defsdata_DATA = BlueImage2.jpeg style
|
||||
|
||||
|
||||
EXTRA_DIST = $(defsdata_DATA)
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = ../../../src/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
DATA = $(defsdata_DATA)
|
||||
|
||||
DIST_COMMON = Makefile.am Makefile.in
|
||||
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
GZIP_ENV = --best
|
||||
all: all-redirect
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps WindowMaker/Themes/STEP2000.themed/Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
|
||||
install-defsdataDATA: $(defsdata_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(defsdatadir)
|
||||
@list='$(defsdata_DATA)'; for p in $$list; do \
|
||||
if test -f $(srcdir)/$$p; then \
|
||||
echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(defsdatadir)/$$p"; \
|
||||
$(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(defsdatadir)/$$p; \
|
||||
else if test -f $$p; then \
|
||||
echo " $(INSTALL_DATA) $$p $(DESTDIR)$(defsdatadir)/$$p"; \
|
||||
$(INSTALL_DATA) $$p $(DESTDIR)$(defsdatadir)/$$p; \
|
||||
fi; fi; \
|
||||
done
|
||||
|
||||
uninstall-defsdataDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
list='$(defsdata_DATA)'; for p in $$list; do \
|
||||
rm -f $(DESTDIR)$(defsdatadir)/$$p; \
|
||||
done
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
|
||||
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
|
||||
subdir = WindowMaker/Themes/STEP2000.themed
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@for file in $(DISTFILES); do \
|
||||
d=$(srcdir); \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pr $$/$$file $(distdir)/$$file; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|
||||
fi; \
|
||||
done
|
||||
info-am:
|
||||
info: info-am
|
||||
dvi-am:
|
||||
dvi: dvi-am
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
installcheck-am:
|
||||
installcheck: installcheck-am
|
||||
install-exec-am:
|
||||
install-exec: install-exec-am
|
||||
|
||||
install-data-am: install-defsdataDATA
|
||||
install-data: install-data-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
install: install-am
|
||||
uninstall-am: uninstall-defsdataDATA
|
||||
uninstall: uninstall-am
|
||||
all-am: Makefile $(DATA)
|
||||
all-redirect: all-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
|
||||
installdirs:
|
||||
$(mkinstalldirs) $(DESTDIR)$(defsdatadir)
|
||||
|
||||
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
mostlyclean-am: mostlyclean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
|
||||
clean: clean-am
|
||||
|
||||
distclean-am: distclean-generic clean-am
|
||||
-rm -f libtool
|
||||
|
||||
distclean: distclean-am
|
||||
|
||||
maintainer-clean-am: maintainer-clean-generic distclean-am
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
|
||||
.PHONY: uninstall-defsdataDATA install-defsdataDATA tags distdir info-am \
|
||||
info dvi-am dvi check check-am installcheck-am installcheck \
|
||||
install-exec-am install-exec install-data-am install-data install-am \
|
||||
install uninstall-am uninstall all-redirect all-am all installdirs \
|
||||
mostlyclean-generic distclean-generic clean-generic \
|
||||
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
Executable
+48
@@ -0,0 +1,48 @@
|
||||
{
|
||||
TitleJustify = left;
|
||||
ClipTitleFont = "-*-helvetica-bold-r-normal-*-10-*-*-*-*-*-*-*";
|
||||
WindowTitleFont = "-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*";
|
||||
MenuTitleFont = "-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*";
|
||||
MenuTextFont = "-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*";
|
||||
IconTitleFont = "-*-helvetica-medium-r-normal-*-8-*-*-*-*-*-*-*";
|
||||
DisplayFont = "-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*";
|
||||
HighlightColor = "rgb:81/85/91";
|
||||
HighlightTextColor = black;
|
||||
ClipTitleColor = black;
|
||||
CClipTitleColor = "rgb:61/61/61";
|
||||
FTitleColor = white;
|
||||
PTitleColor = white;
|
||||
UTitleColor = gray20;
|
||||
FTitleBack = (
|
||||
mdgradient,
|
||||
"rgb:20/20/70",
|
||||
"rgb:20/20/70",
|
||||
"rgb:05/05/60",
|
||||
"rgb:05/05/40",
|
||||
"rgb:05/05/25"
|
||||
);
|
||||
PTitleBack = (mdgradient, "rgb:80/80/80", "rgb:50/50/50", "rgb:40/40/40");
|
||||
UTitleBack = (
|
||||
mdgradient,
|
||||
"rgb:90/90/90",
|
||||
"rgb:a7/a7/b7",
|
||||
"rgb:90/90/99",
|
||||
"rgb:51/55/61"
|
||||
);
|
||||
MenuTitleColor = white;
|
||||
MenuTextColor = black;
|
||||
MenuDisabledColor = gray40;
|
||||
MenuTitleBack = (
|
||||
mdgradient,
|
||||
"rgb:20/20/70",
|
||||
"rgb:20/20/70",
|
||||
"rgb:05/05/60",
|
||||
"rgb:05/05/40",
|
||||
"rgb:05/05/25"
|
||||
);
|
||||
MenuTextBack = (hgradient, "rgb:a9/a9/b9", "rgb:61/65/71");
|
||||
IconBack = (dgradient, "rgb:a7/a7/b7", "rgb:51/55/61");
|
||||
IconTitleColor = white;
|
||||
IconTitleBack = "rgb:20/20/55";
|
||||
WorkspaceBack = (tpixmap, BlueImage2.jpeg, "rgb:51/55/61");
|
||||
}
|
||||
Binary file not shown.
@@ -171,9 +171,9 @@
|
||||
"工作區" END
|
||||
|
||||
"外觀" MENU
|
||||
"¥DÃD" OPEN_MENU THEMES_DIR ~/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
||||
"ᨾ" OPEN_MENU STYLES_DIR ~/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
||||
"¹Ï¥Ü¶°" OPEN_MENU ICON_SETS_DIR ~/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
||||
"¥DÃD" OPEN_MENU THEMES_DIR $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
||||
"ᨾ" OPEN_MENU STYLES_DIR $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
||||
"¹Ï¥Ü¶°" OPEN_MENU ICON_SETS_DIR $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
||||
"背景" MENU
|
||||
"實體色" MENU
|
||||
"Black" WS_BACK '(solid, black)'
|
||||
@@ -189,10 +189,10 @@
|
||||
"Flag" WS_BACK '(mdgradient, green, red, white, green)'
|
||||
"Sky" WS_BACK '(vgradient, blue4, white)'
|
||||
"漸層色" END
|
||||
"¹Ï¤ù" OPEN_MENU BACKGROUNDS_DIR ~/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
||||
"¹Ï¤ù" OPEN_MENU BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
||||
"背景" END
|
||||
"Àx¦s¥DÃD" EXEC getstyle -t ~/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
|
||||
"Àx¦s¹Ï¥Ü¶°" EXEC geticonset ~/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
|
||||
"Àx¦s¥DÃD" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
|
||||
"Àx¦s¹Ï¥Ü¶°" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
|
||||
"外觀" END
|
||||
|
||||
"離開" MENU
|
||||
|
||||
+87
-28
@@ -6,7 +6,7 @@ dnl
|
||||
AC_DEFUN(WM_CHECK_LIB,
|
||||
[
|
||||
LDFLAGS_old="$LDFLAGS"
|
||||
LDFLAGS="-DBEGIN $LDFLAGS -DEND $lib_search_path"
|
||||
LDFLAGS="$LDFLAGS $lib_search_path"
|
||||
AC_CHECK_LIB([$1],[$2],yes=yes,no=no,[$3])
|
||||
LDFLAGS="$LDFLAGS_old"
|
||||
])
|
||||
@@ -31,8 +31,10 @@ AC_DEFUN(WM_CHECK_REDCRAP_BUGS,
|
||||
[
|
||||
AC_MSG_CHECKING(for RedHat system)
|
||||
wm_check_flag='no :)'
|
||||
rh_is_redhat=no
|
||||
if test -f /etc/redhat-release; then
|
||||
wm_check_flag=yes
|
||||
rh_is_redhat=yes
|
||||
fi
|
||||
AC_MSG_RESULT($wm_check_flag)
|
||||
|
||||
@@ -40,10 +42,7 @@ mins_found=no
|
||||
bugs_found=no
|
||||
if test "$wm_check_flag" = yes; then
|
||||
echo
|
||||
AC_MSG_WARN([it seems you are using a system packaged by RedHat.
|
||||
I will now do some checks for RedHat specific bugs. If some check
|
||||
fail, please read the INSTALL file regarding RedHat, resolve the
|
||||
problem and retry to configure.])
|
||||
AC_MSG_WARN([Red Hat system; checking for Red-Hat-specific bugs.])
|
||||
echo
|
||||
#
|
||||
# Check old wmaker from RedHat
|
||||
@@ -52,12 +51,10 @@ if test "[$1]" != "/usr/X11R6" -a "$prefix" != "/usr/X11"; then
|
||||
AC_MSG_CHECKING(for multiple installed wmaker versions)
|
||||
if test -f /usr/X11R6/bin/wmaker; then
|
||||
AC_MSG_RESULT(uh oh)
|
||||
AC_MSG_WARN([you seem to have an old version of Window Maker
|
||||
installed at /usr/X11R6/bin. It is recommended that you uninstall
|
||||
any previously installed packages of WindowMaker before installing
|
||||
a new one.])
|
||||
mins_found=yes
|
||||
rh_old_wmaker=yes
|
||||
else
|
||||
rh_old_wmaker=no
|
||||
AC_MSG_RESULT(no apparent problems)
|
||||
fi
|
||||
fi
|
||||
@@ -84,19 +81,19 @@ fi
|
||||
if test "[$2]" = "/usr/local/bin"; then
|
||||
AC_MSG_CHECKING(if /usr/local/bin is in the search PATH)
|
||||
wm_check_flag=no
|
||||
rh_missing_usr_local_bin=yes
|
||||
old_IFS="$IFS"
|
||||
IFS=":"
|
||||
for i in $PATH; do
|
||||
if test "x$i" = "x/usr/local/bin"; then
|
||||
wm_check_flag=yes
|
||||
rh_missing_usr_local_bin=no
|
||||
break;
|
||||
fi
|
||||
done
|
||||
IFS="$old_IFS"
|
||||
if test "$wm_check_flag" = no; then
|
||||
AC_MSG_RESULT(uh oh)
|
||||
AC_MSG_WARN([/usr/local/bin is not in the PATH environment variable.
|
||||
Please resolve the problem.])
|
||||
bugs_found=yes
|
||||
else
|
||||
AC_MSG_RESULT(no problem)
|
||||
@@ -108,13 +105,13 @@ fi
|
||||
#
|
||||
if test "[$3]" = "/usr/local/lib"; then
|
||||
wm_check_flag=yes
|
||||
rh_missing_usr_local_lib=no
|
||||
AC_MSG_CHECKING(if /usr/local/lib is in /etc/ld.so.conf)
|
||||
test -z "`grep /usr/local/lib /etc/ld.so.conf`"
|
||||
test "$?" -eq 0 && wm_check_flag=no
|
||||
if test "$wm_check_flag" = no; then
|
||||
AC_MSG_RESULT(uh oh)
|
||||
AC_MSG_WARN([/usr/local/lib is not in the /etc/ld.so.conf file.
|
||||
Please add it there.])
|
||||
rh_missing_usr_local_lib=yes
|
||||
bugs_found=yes
|
||||
else
|
||||
AC_MSG_RESULT(no problem)
|
||||
@@ -124,20 +121,21 @@ fi
|
||||
# Check for symbolic links
|
||||
#
|
||||
AC_MSG_CHECKING(for /usr/X11 symbolic link)
|
||||
rh_missing_usr_x11=no
|
||||
if test -d "/usr/X11"; then
|
||||
AC_MSG_RESULT(found)
|
||||
else
|
||||
AC_MSG_RESULT(uh oh)
|
||||
AC_MSG_WARN([Please create a symbolic link from /usr/X11R6 to /usr/X11.])
|
||||
rh_missing_usr_x11=yes
|
||||
mins_found=yes
|
||||
fi
|
||||
AC_MSG_CHECKING(for /usr/include/X11 symbolic link)
|
||||
rh_missing_usr_include_x11=no
|
||||
if test -d "/usr/include/X11"; then
|
||||
AC_MSG_RESULT(found)
|
||||
else
|
||||
AC_MSG_RESULT(uh oh)
|
||||
AC_MSG_WARN([Please create a symbolic link from /usr/X11R6/include/X11
|
||||
to /usr/include/X11.])
|
||||
rh_missing_usr_include_x11=yes
|
||||
mins_found=yes
|
||||
fi
|
||||
|
||||
@@ -145,30 +143,91 @@ fi
|
||||
# Check for /lib/cpp
|
||||
#
|
||||
AC_MSG_CHECKING(for /lib/cpp)
|
||||
rh_missing_lib_cpp=no
|
||||
if test -f "/lib/cpp"; then
|
||||
AC_MSG_RESULT(found)
|
||||
else
|
||||
AC_MSG_RESULT(uh oh)
|
||||
AC_MSG_WARN([Please create a symbolic link from the cpp (C preprocessor)
|
||||
program to /lib/cpp])
|
||||
rh_missing_lib_cpp=yes
|
||||
bugs_found=yes
|
||||
fi
|
||||
|
||||
echo
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl
|
||||
dnl WM_PRINT_REDCRAP_BUG_STATUS()
|
||||
dnl
|
||||
AC_DEFUN(WM_PRINT_REDCRAP_BUG_STATUS,
|
||||
[
|
||||
if test "$rh_is_redhat" = yes; then
|
||||
if test "$mins_found" = yes -o "$bugs_found" = yes; then
|
||||
echo
|
||||
AC_MSG_WARN([It seems you are using a system packaged by Red Hat.
|
||||
I have done some checks for Red-Hat-specific bugs, and I found some
|
||||
problems. Please read the INSTALL file regarding Red Hat, resolve
|
||||
the problems, and try to run configure again.
|
||||
|
||||
Here are the problems I found:
|
||||
])
|
||||
if test "x$rh_old_wmaker" = xyes; then
|
||||
echo "Problem: Old version of Window Maker in /usr/X11R6/bin."
|
||||
echo "Description: You seem to have an old version of Window Maker"
|
||||
echo " installed in /usr/X11R6/bin. It is recommended"
|
||||
echo " that you uninstall any previously installed"
|
||||
echo " packages of WindowMaker before installing a new one."
|
||||
echo
|
||||
fi
|
||||
if test "x$rh_missing_usr_local_bin" = xyes; then
|
||||
echo "Problem: PATH is missing /usr/local/bin."
|
||||
echo "Description: Your PATH environment variable does not appear to"
|
||||
echo " contain the directory /usr/local/bin. Please add it."
|
||||
echo
|
||||
fi
|
||||
if test "x$rh_missing_usr_local_lib" = xyes; then
|
||||
echo "Problem: /etc/ld.so.conf missing /usr/local/lib"
|
||||
echo "Description: Your /etc/ld.so.conf file does not appear to contain"
|
||||
echo " the directory /usr/local/lib. Please add it."
|
||||
echo
|
||||
fi
|
||||
if test "x$rh_missing_usr_x11" = xyes; then
|
||||
echo "Problem: Missing /usr/X11 symbolic link."
|
||||
echo "Description: Your system is missing a symbolic link from"
|
||||
echo " /usr/X11R6 to /usr/X11. Please create one."
|
||||
echo
|
||||
fi
|
||||
if test "x$rh_missing_usr_include_x11" = xyes; then
|
||||
echo "Problem: Missing /usr/include/X11 symbolic link."
|
||||
echo "Description: Your system is missing a symbolic link from"
|
||||
echo " /usr/X11R6/include/X11 to /usr/include/X11."
|
||||
echo " Please create one."
|
||||
echo
|
||||
fi
|
||||
if test "x$rh_missing_lib_cpp" = xyes; then
|
||||
echo "Problem: Missing /lib/cpp symbolic link."
|
||||
echo "Description: Your system is missing a symbolic link from the"
|
||||
echo " cpp (C preprocessor) program to /lib/cpp."
|
||||
echo " Please create one."
|
||||
echo
|
||||
fi
|
||||
if test "x$bugs_found" = xyes; then
|
||||
AC_MSG_ERROR([Some bugs that can potentially cause problems during
|
||||
installation/execution were found. Please correct these problems
|
||||
and retry later.])
|
||||
AC_MSG_ERROR([One or more of the problems above can potentially
|
||||
cause Window Maker not to install or run properly. Please resolve
|
||||
the problems and try to run configure again.])
|
||||
exit 1
|
||||
elif test "x$mins_found" = xyes; then
|
||||
AC_MSG_WARN([Some minor problems that might or might not cause
|
||||
problems were found. If you have any problems during
|
||||
installation/execution, please resolve the pointed problems and try
|
||||
to reinstall.])
|
||||
echo "Press <Return> to continue."
|
||||
read blabla
|
||||
AC_MSG_WARN([The problems above may or may not cause Window Maker
|
||||
not to install or run properly. If you have any problems during
|
||||
installation or execution, please resolve the problems and try to
|
||||
install Window Maker again.])
|
||||
echo
|
||||
fi
|
||||
else
|
||||
echo
|
||||
echo "None of the RedHat problems known to this script were found."
|
||||
echo "You appear to have a system packaged by Red Hat, but I could"
|
||||
echo "not find any Red-Hat-specific problems that I know about."
|
||||
echo
|
||||
fi
|
||||
fi
|
||||
|
||||
Vendored
+87
-28
@@ -18,7 +18,7 @@ dnl
|
||||
AC_DEFUN(WM_CHECK_LIB,
|
||||
[
|
||||
LDFLAGS_old="$LDFLAGS"
|
||||
LDFLAGS="-DBEGIN $LDFLAGS -DEND $lib_search_path"
|
||||
LDFLAGS="$LDFLAGS $lib_search_path"
|
||||
AC_CHECK_LIB([$1],[$2],yes=yes,no=no,[$3])
|
||||
LDFLAGS="$LDFLAGS_old"
|
||||
])
|
||||
@@ -43,8 +43,10 @@ AC_DEFUN(WM_CHECK_REDCRAP_BUGS,
|
||||
[
|
||||
AC_MSG_CHECKING(for RedHat system)
|
||||
wm_check_flag='no :)'
|
||||
rh_is_redhat=no
|
||||
if test -f /etc/redhat-release; then
|
||||
wm_check_flag=yes
|
||||
rh_is_redhat=yes
|
||||
fi
|
||||
AC_MSG_RESULT($wm_check_flag)
|
||||
|
||||
@@ -52,10 +54,7 @@ mins_found=no
|
||||
bugs_found=no
|
||||
if test "$wm_check_flag" = yes; then
|
||||
echo
|
||||
AC_MSG_WARN([it seems you are using a system packaged by RedHat.
|
||||
I will now do some checks for RedHat specific bugs. If some check
|
||||
fail, please read the INSTALL file regarding RedHat, resolve the
|
||||
problem and retry to configure.])
|
||||
AC_MSG_WARN([Red Hat system; checking for Red-Hat-specific bugs.])
|
||||
echo
|
||||
#
|
||||
# Check old wmaker from RedHat
|
||||
@@ -64,12 +63,10 @@ if test "[$1]" != "/usr/X11R6" -a "$prefix" != "/usr/X11"; then
|
||||
AC_MSG_CHECKING(for multiple installed wmaker versions)
|
||||
if test -f /usr/X11R6/bin/wmaker; then
|
||||
AC_MSG_RESULT(uh oh)
|
||||
AC_MSG_WARN([you seem to have an old version of Window Maker
|
||||
installed at /usr/X11R6/bin. It is recommended that you uninstall
|
||||
any previously installed packages of WindowMaker before installing
|
||||
a new one.])
|
||||
mins_found=yes
|
||||
rh_old_wmaker=yes
|
||||
else
|
||||
rh_old_wmaker=no
|
||||
AC_MSG_RESULT(no apparent problems)
|
||||
fi
|
||||
fi
|
||||
@@ -96,19 +93,19 @@ fi
|
||||
if test "[$2]" = "/usr/local/bin"; then
|
||||
AC_MSG_CHECKING(if /usr/local/bin is in the search PATH)
|
||||
wm_check_flag=no
|
||||
rh_missing_usr_local_bin=yes
|
||||
old_IFS="$IFS"
|
||||
IFS=":"
|
||||
for i in $PATH; do
|
||||
if test "x$i" = "x/usr/local/bin"; then
|
||||
wm_check_flag=yes
|
||||
rh_missing_usr_local_bin=no
|
||||
break;
|
||||
fi
|
||||
done
|
||||
IFS="$old_IFS"
|
||||
if test "$wm_check_flag" = no; then
|
||||
AC_MSG_RESULT(uh oh)
|
||||
AC_MSG_WARN([/usr/local/bin is not in the PATH environment variable.
|
||||
Please resolve the problem.])
|
||||
bugs_found=yes
|
||||
else
|
||||
AC_MSG_RESULT(no problem)
|
||||
@@ -120,13 +117,13 @@ fi
|
||||
#
|
||||
if test "[$3]" = "/usr/local/lib"; then
|
||||
wm_check_flag=yes
|
||||
rh_missing_usr_local_lib=no
|
||||
AC_MSG_CHECKING(if /usr/local/lib is in /etc/ld.so.conf)
|
||||
test -z "`grep /usr/local/lib /etc/ld.so.conf`"
|
||||
test "$?" -eq 0 && wm_check_flag=no
|
||||
if test "$wm_check_flag" = no; then
|
||||
AC_MSG_RESULT(uh oh)
|
||||
AC_MSG_WARN([/usr/local/lib is not in the /etc/ld.so.conf file.
|
||||
Please add it there.])
|
||||
rh_missing_usr_local_lib=yes
|
||||
bugs_found=yes
|
||||
else
|
||||
AC_MSG_RESULT(no problem)
|
||||
@@ -136,20 +133,21 @@ fi
|
||||
# Check for symbolic links
|
||||
#
|
||||
AC_MSG_CHECKING(for /usr/X11 symbolic link)
|
||||
rh_missing_usr_x11=no
|
||||
if test -d "/usr/X11"; then
|
||||
AC_MSG_RESULT(found)
|
||||
else
|
||||
AC_MSG_RESULT(uh oh)
|
||||
AC_MSG_WARN([Please create a symbolic link from /usr/X11R6 to /usr/X11.])
|
||||
rh_missing_usr_x11=yes
|
||||
mins_found=yes
|
||||
fi
|
||||
AC_MSG_CHECKING(for /usr/include/X11 symbolic link)
|
||||
rh_missing_usr_include_x11=no
|
||||
if test -d "/usr/include/X11"; then
|
||||
AC_MSG_RESULT(found)
|
||||
else
|
||||
AC_MSG_RESULT(uh oh)
|
||||
AC_MSG_WARN([Please create a symbolic link from /usr/X11R6/include/X11
|
||||
to /usr/include/X11.])
|
||||
rh_missing_usr_include_x11=yes
|
||||
mins_found=yes
|
||||
fi
|
||||
|
||||
@@ -157,30 +155,91 @@ fi
|
||||
# Check for /lib/cpp
|
||||
#
|
||||
AC_MSG_CHECKING(for /lib/cpp)
|
||||
rh_missing_lib_cpp=no
|
||||
if test -f "/lib/cpp"; then
|
||||
AC_MSG_RESULT(found)
|
||||
else
|
||||
AC_MSG_RESULT(uh oh)
|
||||
AC_MSG_WARN([Please create a symbolic link from the cpp (C preprocessor)
|
||||
program to /lib/cpp])
|
||||
rh_missing_lib_cpp=yes
|
||||
bugs_found=yes
|
||||
fi
|
||||
|
||||
echo
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl
|
||||
dnl WM_PRINT_REDCRAP_BUG_STATUS()
|
||||
dnl
|
||||
AC_DEFUN(WM_PRINT_REDCRAP_BUG_STATUS,
|
||||
[
|
||||
if test "$rh_is_redhat" = yes; then
|
||||
if test "$mins_found" = yes -o "$bugs_found" = yes; then
|
||||
echo
|
||||
AC_MSG_WARN([It seems you are using a system packaged by Red Hat.
|
||||
I have done some checks for Red-Hat-specific bugs, and I found some
|
||||
problems. Please read the INSTALL file regarding Red Hat, resolve
|
||||
the problems, and try to run configure again.
|
||||
|
||||
Here are the problems I found:
|
||||
])
|
||||
if test "x$rh_old_wmaker" = xyes; then
|
||||
echo "Problem: Old version of Window Maker in /usr/X11R6/bin."
|
||||
echo "Description: You seem to have an old version of Window Maker"
|
||||
echo " installed in /usr/X11R6/bin. It is recommended"
|
||||
echo " that you uninstall any previously installed"
|
||||
echo " packages of WindowMaker before installing a new one."
|
||||
echo
|
||||
fi
|
||||
if test "x$rh_missing_usr_local_bin" = xyes; then
|
||||
echo "Problem: PATH is missing /usr/local/bin."
|
||||
echo "Description: Your PATH environment variable does not appear to"
|
||||
echo " contain the directory /usr/local/bin. Please add it."
|
||||
echo
|
||||
fi
|
||||
if test "x$rh_missing_usr_local_lib" = xyes; then
|
||||
echo "Problem: /etc/ld.so.conf missing /usr/local/lib"
|
||||
echo "Description: Your /etc/ld.so.conf file does not appear to contain"
|
||||
echo " the directory /usr/local/lib. Please add it."
|
||||
echo
|
||||
fi
|
||||
if test "x$rh_missing_usr_x11" = xyes; then
|
||||
echo "Problem: Missing /usr/X11 symbolic link."
|
||||
echo "Description: Your system is missing a symbolic link from"
|
||||
echo " /usr/X11R6 to /usr/X11. Please create one."
|
||||
echo
|
||||
fi
|
||||
if test "x$rh_missing_usr_include_x11" = xyes; then
|
||||
echo "Problem: Missing /usr/include/X11 symbolic link."
|
||||
echo "Description: Your system is missing a symbolic link from"
|
||||
echo " /usr/X11R6/include/X11 to /usr/include/X11."
|
||||
echo " Please create one."
|
||||
echo
|
||||
fi
|
||||
if test "x$rh_missing_lib_cpp" = xyes; then
|
||||
echo "Problem: Missing /lib/cpp symbolic link."
|
||||
echo "Description: Your system is missing a symbolic link from the"
|
||||
echo " cpp (C preprocessor) program to /lib/cpp."
|
||||
echo " Please create one."
|
||||
echo
|
||||
fi
|
||||
if test "x$bugs_found" = xyes; then
|
||||
AC_MSG_ERROR([Some bugs that can potentially cause problems during
|
||||
installation/execution were found. Please correct these problems
|
||||
and retry later.])
|
||||
AC_MSG_ERROR([One or more of the problems above can potentially
|
||||
cause Window Maker not to install or run properly. Please resolve
|
||||
the problems and try to run configure again.])
|
||||
exit 1
|
||||
elif test "x$mins_found" = xyes; then
|
||||
AC_MSG_WARN([Some minor problems that might or might not cause
|
||||
problems were found. If you have any problems during
|
||||
installation/execution, please resolve the pointed problems and try
|
||||
to reinstall.])
|
||||
echo "Press <Return> to continue."
|
||||
read blabla
|
||||
AC_MSG_WARN([The problems above may or may not cause Window Maker
|
||||
not to install or run properly. If you have any problems during
|
||||
installation or execution, please resolve the problems and try to
|
||||
install Window Maker again.])
|
||||
echo
|
||||
fi
|
||||
else
|
||||
echo
|
||||
echo "None of the RedHat problems known to this script were found."
|
||||
echo "You appear to have a system packaged by Red Hat, but I could"
|
||||
echo "not find any Red-Hat-specific problems that I know about."
|
||||
echo
|
||||
fi
|
||||
fi
|
||||
|
||||
+7
-13
@@ -10,7 +10,7 @@ AC_INIT(src/WindowMaker.h)
|
||||
|
||||
|
||||
|
||||
AM_INIT_AUTOMAKE(WindowMaker, 0.51.1)
|
||||
AM_INIT_AUTOMAKE(WindowMaker, 0.51.2)
|
||||
|
||||
AM_PROG_LIBTOOL
|
||||
|
||||
@@ -100,7 +100,7 @@ AC_CHECK_FUNCS(gethostname select poll strerror strncasecmp setpgid atexit)
|
||||
|
||||
if test "x$CPP_PATH" = x; then
|
||||
AC_PATH_PROG(CPP_PATH, cpp, notfound,
|
||||
/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib:$PATH)
|
||||
$PATH:/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib)
|
||||
fi
|
||||
|
||||
dnl
|
||||
@@ -589,15 +589,6 @@ dnl
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# why the heck does debian name libtiff this way!?
|
||||
#
|
||||
if test "x$my_libname" = x; then
|
||||
WM_CHECK_LIB(tiff3g, TIFFGetVersion, [-lm])
|
||||
if test "x$ac_cv_lib_tiff3g_TIFFGetVersion" = xyes; then
|
||||
my_libname="-ltiff3g"
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$my_libname" != x; then
|
||||
WM_CHECK_HEADER(tiffio.h)
|
||||
@@ -669,8 +660,8 @@ AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir")
|
||||
pkgdatadir=`eval echo $datadir`
|
||||
AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker")
|
||||
|
||||
sysconfdir=`eval echo $sysconfdir`
|
||||
AC_DEFINE_UNQUOTED(SYSCONFDIR, "$sysconfdir/WindowMaker")
|
||||
_sysconfdir=`eval echo $sysconfdir`
|
||||
AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir/WindowMaker")
|
||||
|
||||
|
||||
dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
|
||||
@@ -742,7 +733,9 @@ AC_OUTPUT(Makefile po/Makefile util/Makefile test/Makefile wmlib/Makefile \
|
||||
WindowMaker/Pixmaps/Makefile WindowMaker/Styles/Makefile \
|
||||
WindowMaker/Themes/Makefile \
|
||||
WindowMaker/Themes/Night.themed/Makefile \
|
||||
WindowMaker/Themes/LeetWM.themed/Makefile \
|
||||
WindowMaker/Themes/Checker.themed/Makefile \
|
||||
WindowMaker/Themes/STEP2000.themed/Makefile \
|
||||
WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
|
||||
WPrefs.app/po/Makefile )
|
||||
|
||||
@@ -831,6 +824,7 @@ if test "x$MOFILES" != "x"; then
|
||||
echo "Installation path of translated messages: $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
|
||||
fi
|
||||
|
||||
WM_PRINT_REDCRAP_BUG_STATUS
|
||||
|
||||
if test "x$ac_cv_header_jpeglib_h" != xyes; then
|
||||
echo "WARNING WARNING WARNING WARNING WARNING WARNING WARNING"
|
||||
|
||||
+1
-1
@@ -103,7 +103,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
TAR = gtar
|
||||
GZIP_ENV = --best
|
||||
all: all-redirect
|
||||
.SUFFIXES:
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
nlsdir = $(DESTDIR)$(NLSDIR)
|
||||
nlsdir = $(NLSDIR)
|
||||
|
||||
CATALOGS = @MOFILES@
|
||||
|
||||
|
||||
+2
-2
@@ -87,7 +87,7 @@ XLIBS = @XLIBS@
|
||||
X_EXTRA_LIBS = @X_EXTRA_LIBS@
|
||||
wprefsdir = @wprefsdir@
|
||||
|
||||
nlsdir = $(DESTDIR)$(NLSDIR)
|
||||
nlsdir = $(NLSDIR)
|
||||
|
||||
CATALOGS = @MOFILES@
|
||||
|
||||
@@ -113,7 +113,7 @@ DIST_COMMON = README Makefile.am Makefile.in
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
TAR = gtar
|
||||
GZIP_ENV = --best
|
||||
all: all-redirect
|
||||
.SUFFIXES:
|
||||
|
||||
+1
-1
@@ -139,7 +139,7 @@ wconfig.h.in
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
TAR = gtar
|
||||
GZIP_ENV = --best
|
||||
SOURCES = $(wmaker_SOURCES)
|
||||
OBJECTS = $(wmaker_OBJECTS)
|
||||
|
||||
@@ -200,6 +200,14 @@ typedef enum {
|
||||
#define WSTATE_NEED_RESTART 2
|
||||
#define WSTATE_EXITING 3
|
||||
#define WSTATE_RESTARTING 4
|
||||
#define WSTATE_MODAL 5
|
||||
|
||||
|
||||
#define WCHECK_STATE(state) (state == WProgramState)
|
||||
#define WCHANGE_STATE(nstate) \
|
||||
if (WProgramState == WSTATE_NORMAL\
|
||||
|| nstate != WSTATE_MODAL)\
|
||||
WProgramState = (nstate)
|
||||
|
||||
|
||||
typedef struct {
|
||||
@@ -352,6 +360,7 @@ typedef struct WPreferences {
|
||||
extern Display *dpy;
|
||||
extern char *ProgName;
|
||||
extern unsigned int ValidModMask;
|
||||
extern char WProgramState;
|
||||
|
||||
/****** Global Functions ******/
|
||||
extern void wAbort(Bool dumpCore);
|
||||
|
||||
+16
-2
@@ -416,6 +416,14 @@ wMaximizeWindow(WWindow *wwin, int directions)
|
||||
if (WFLAGP(wwin, no_resizable))
|
||||
return;
|
||||
|
||||
|
||||
if (WFLAGP(wwin, full_maximize)) {
|
||||
usableArea.x1 = 0;
|
||||
usableArea.y1 = 0;
|
||||
usableArea.x2 = wwin->screen_ptr->scr_width;
|
||||
usableArea.y2 = wwin->screen_ptr->scr_height;
|
||||
}
|
||||
|
||||
if (wwin->flags.shaded) {
|
||||
wwin->flags.skip_next_animation = 1;
|
||||
wUnshadeWindow(wwin);
|
||||
@@ -446,6 +454,8 @@ wMaximizeWindow(WWindow *wwin, int directions)
|
||||
|
||||
new_height = (usableArea.y2-usableArea.y1)-FRAME_BORDER_WIDTH*2;
|
||||
new_y = usableArea.y1;
|
||||
if (WFLAGP(wwin, full_maximize))
|
||||
new_y -= wwin->frame->top_width;
|
||||
|
||||
} else {
|
||||
|
||||
@@ -453,7 +463,10 @@ wMaximizeWindow(WWindow *wwin, int directions)
|
||||
new_height = wwin->frame->core->height;
|
||||
|
||||
}
|
||||
|
||||
if (!WFLAGP(wwin, full_maximize)) {
|
||||
new_height -= wwin->frame->top_width+wwin->frame->bottom_width;
|
||||
}
|
||||
|
||||
wWindowConstrainSize(wwin, &new_width, &new_height);
|
||||
wWindowConfigure(wwin, new_x, new_y, new_width, new_height);
|
||||
@@ -1012,10 +1025,11 @@ wDeiconifyWindow(WWindow *wwin)
|
||||
if (!wwin->flags.miniaturized)
|
||||
return;
|
||||
|
||||
if (wwin->transient_for != None) {
|
||||
if (wwin->transient_for != None
|
||||
&& wwin->transient_for != wwin->screen_ptr->root_win) {
|
||||
WWindow *owner = recursiveTransientFor(wwin);
|
||||
|
||||
if (wwin->flags.miniaturized) {
|
||||
if (owner && owner->flags.miniaturized) {
|
||||
wDeiconifyWindow(owner);
|
||||
wSetFocusTo(wwin->screen_ptr, wwin);
|
||||
wRaiseFrame(wwin->frame->core);
|
||||
|
||||
+18
-3
@@ -525,17 +525,32 @@ static void
|
||||
killCallback(WMenu *menu, WMenuEntry *entry)
|
||||
{
|
||||
WApplication *wapp = (WApplication*)entry->clientdata;
|
||||
char *buffer;
|
||||
|
||||
if (!WCHECK_STATE(WSTATE_NORMAL))
|
||||
return;
|
||||
|
||||
WCHANGE_STATE(WSTATE_MODAL);
|
||||
|
||||
assert(entry->clientdata!=NULL);
|
||||
|
||||
buffer = wstrappend(wapp->app_icon ? wapp->app_icon->wm_class : NULL,
|
||||
_(" will be forcibly closed.\n"
|
||||
"Any unsaved changes will be lost.\n"
|
||||
"Please confirm."));
|
||||
|
||||
wretain(wapp->main_window_desc);
|
||||
if (wPreferences.dont_confirm_kill
|
||||
|| wMessageDialog(menu->frame->screen_ptr, _("Kill Application"),
|
||||
_("This will kill the application.\nAny unsaved changes will be lost.\nPlease confirm."),
|
||||
_("Yes"), _("No"), NULL)==WAPRDefault) {
|
||||
buffer, _("Yes"), _("No"), NULL)==WAPRDefault) {
|
||||
if (!wapp->main_window_desc->flags.destroyed)
|
||||
wClientKill(wapp->main_window_desc);
|
||||
}
|
||||
wrelease(wapp->main_window_desc);
|
||||
|
||||
free(buffer);
|
||||
|
||||
WCHANGE_STATE(WSTATE_NORMAL);
|
||||
}
|
||||
|
||||
|
||||
@@ -666,7 +681,7 @@ appIconMouseDown(WObjDescriptor *desc, XEvent *event)
|
||||
int clickButton = event->xbutton.button;
|
||||
Pixmap ghost = None;
|
||||
|
||||
if (aicon->editing)
|
||||
if (aicon->editing || WCHECK_STATE(WSTATE_MODAL))
|
||||
return;
|
||||
|
||||
if (IsDoubleClick(scr, event)) {
|
||||
|
||||
+3
-2
@@ -288,6 +288,7 @@ void
|
||||
wClientKill(WWindow *wwin)
|
||||
{
|
||||
XKillClient(dpy, wwin->client_win);
|
||||
|
||||
XFlush(dpy);
|
||||
}
|
||||
|
||||
@@ -743,8 +744,8 @@ GetColormapWindows(WWindow *wwin)
|
||||
wwin->cmap_windows = NULL;
|
||||
wwin->cmap_window_no = 0;
|
||||
|
||||
if (XGetWMColormapWindows(dpy, wwin->client_win, &(wwin->cmap_windows),
|
||||
&(wwin->cmap_window_no))==0
|
||||
if (!XGetWMColormapWindows(dpy, wwin->client_win, &(wwin->cmap_windows),
|
||||
&(wwin->cmap_window_no))
|
||||
|| !wwin->cmap_windows) {
|
||||
wwin->cmap_window_no = 0;
|
||||
wwin->cmap_windows = NULL;
|
||||
|
||||
+2
-2
@@ -41,7 +41,7 @@ wColormapInstallForWindow(WScreen *scr, WWindow *wwin)
|
||||
int done = 0;
|
||||
Window xwin = None;
|
||||
|
||||
if(wwin) {
|
||||
if (wwin) {
|
||||
xwin = wwin->client_win;
|
||||
} else {
|
||||
xwin = scr->root_win;
|
||||
@@ -55,7 +55,7 @@ wColormapInstallForWindow(WScreen *scr, WWindow *wwin)
|
||||
}
|
||||
|
||||
/* install colormap for all windows of the client */
|
||||
if (wwin && wwin->cmap_window_no > 0) {
|
||||
if (wwin && wwin->cmap_window_no > 0 && wwin->cmap_windows) {
|
||||
for (i = wwin->cmap_window_no - 1; i >= 0; i--) {
|
||||
Window w;
|
||||
|
||||
|
||||
+2
-2
@@ -51,7 +51,7 @@
|
||||
/* #undef X_DISPLAY_MISSING */
|
||||
|
||||
/* define to the path to cpp */
|
||||
#define CPP_PATH "/lib/cpp"
|
||||
#define CPP_PATH "/usr/bin/cpp"
|
||||
|
||||
/* define if you want GNOME stuff support */
|
||||
/* #undef GNOME_STUFF */
|
||||
@@ -174,5 +174,5 @@
|
||||
#define PACKAGE "WindowMaker"
|
||||
|
||||
/* Version number of package */
|
||||
#define VERSION "0.51.1"
|
||||
#define VERSION "0.51.2"
|
||||
|
||||
|
||||
+3
-3
@@ -452,7 +452,7 @@ wIconChooserDialog(WScreen *scr, char **file, char *instance, char *class)
|
||||
panel->fileField = WMCreateTextField(panel->win);
|
||||
WMResizeWidget(panel->fileField, 345, 20);
|
||||
WMMoveWidget(panel->fileField, 95, 210);
|
||||
WMSetTextFieldEnabled(panel->fileField, False);
|
||||
WMSetTextFieldEditable(panel->fileField, False);
|
||||
|
||||
panel->okButton = WMCreateCommandButton(panel->win);
|
||||
WMResizeWidget(panel->okButton, 80, 26);
|
||||
@@ -614,10 +614,10 @@ destroyInfoPanel(WCoreWindow *foo, void *data, XEvent *event)
|
||||
#endif /* SILLYNESS */
|
||||
WMUnmapWidget(thePanel);
|
||||
|
||||
WMDestroyWidget(thePanel->win);
|
||||
|
||||
wUnmanageWindow(thePanel->wwin, False, False);
|
||||
|
||||
WMDestroyWidget(thePanel->win);
|
||||
|
||||
free(thePanel);
|
||||
|
||||
thePanel = NULL;
|
||||
|
||||
+16
-5
@@ -80,7 +80,6 @@ extern void DestroyDockAppSettingsPanel();
|
||||
extern void ShowDockAppSettingsPanel(WAppIcon *aicon);
|
||||
|
||||
|
||||
|
||||
extern Cursor wCursor[WCUR_LAST];
|
||||
|
||||
extern WPreferences wPreferences;
|
||||
@@ -243,14 +242,21 @@ killCallback(WMenu *menu, WMenuEntry *entry)
|
||||
WAppIconAppList *tapplist;
|
||||
|
||||
extern Atom _XA_WM_DELETE_WINDOW;
|
||||
#else
|
||||
char *buffer;
|
||||
#endif
|
||||
|
||||
if (!WCHECK_STATE(WSTATE_NORMAL))
|
||||
return;
|
||||
|
||||
assert(entry->clientdata!=NULL);
|
||||
|
||||
icon = (WAppIcon*)entry->clientdata;
|
||||
|
||||
icon->editing = 1;
|
||||
|
||||
WCHANGE_STATE(WSTATE_MODAL);
|
||||
|
||||
#ifdef REDUCE_APPICONS
|
||||
/* Send a delete message to the main window of each application
|
||||
* bound to this docked appicon. - cls
|
||||
@@ -268,10 +274,14 @@ killCallback(WMenu *menu, WMenuEntry *entry)
|
||||
tapplist = tapplist->next;
|
||||
}
|
||||
#else
|
||||
buffer = wstrappend(icon->wm_class,
|
||||
_(" will be forcibly closed.\n"
|
||||
"Any unsaved changes will be lost.\n"
|
||||
"Please confirm."));
|
||||
|
||||
if (wPreferences.dont_confirm_kill
|
||||
|| wMessageDialog(menu->frame->screen_ptr, _("Kill Application"),
|
||||
_("This will kill the application.\nAny unsaved changes will be lost.\nPlease confirm."),
|
||||
_("Yes"), _("No"), NULL)==WAPRDefault) {
|
||||
buffer, _("Yes"), _("No"), NULL)==WAPRDefault) {
|
||||
if (icon->icon && icon->icon->owner) {
|
||||
wClientKill(icon->icon->owner);
|
||||
}
|
||||
@@ -279,7 +289,8 @@ killCallback(WMenu *menu, WMenuEntry *entry)
|
||||
#endif /* !REDUCE_APPICONS */
|
||||
|
||||
icon->editing = 0;
|
||||
}
|
||||
|
||||
WCHANGE_STATE(WSTATE_NORMAL);}
|
||||
|
||||
|
||||
static LinkedList*
|
||||
@@ -3766,7 +3777,7 @@ iconMouseDown(WObjDescriptor *desc, XEvent *event)
|
||||
WDock *dock = aicon->dock;
|
||||
WScreen *scr = aicon->icon->core->screen_ptr;
|
||||
|
||||
if (aicon->editing)
|
||||
if (aicon->editing || WCHECK_STATE(WSTATE_MODAL))
|
||||
return;
|
||||
|
||||
scr->last_dock = dock;
|
||||
|
||||
+53
-22
@@ -95,7 +95,6 @@ extern int wShapeEventBase;
|
||||
#endif
|
||||
|
||||
/* special flags */
|
||||
extern char WProgramState;
|
||||
extern char WDelayedActionSet;
|
||||
|
||||
|
||||
@@ -205,8 +204,8 @@ DispatchEvent(XEvent *event)
|
||||
if (deathHandler)
|
||||
handleDeadProcess(NULL);
|
||||
|
||||
if (WProgramState==WSTATE_NEED_EXIT) {
|
||||
WProgramState = WSTATE_EXITING;
|
||||
if (WCHECK_STATE(WSTATE_NEED_EXIT)) {
|
||||
WCHANGE_STATE(WSTATE_EXITING);
|
||||
/* received SIGTERM */
|
||||
/*
|
||||
* WMHandleEvent() can't be called from anything
|
||||
@@ -215,8 +214,8 @@ DispatchEvent(XEvent *event)
|
||||
*/
|
||||
Shutdown(WSExitMode);
|
||||
|
||||
} else if (WProgramState == WSTATE_NEED_RESTART) {
|
||||
WProgramState = WSTATE_RESTARTING;
|
||||
} else if (WCHECK_STATE(WSTATE_NEED_RESTART)) {
|
||||
WCHANGE_STATE(WSTATE_RESTARTING);
|
||||
|
||||
Shutdown(WSRestartPreparationMode);
|
||||
/* received SIGHUP */
|
||||
@@ -354,7 +353,7 @@ void
|
||||
NotifyDeadProcess(pid_t pid, unsigned char status)
|
||||
{
|
||||
if (deadProcessPtr>=MAX_DEAD_PROCESSES-1) {
|
||||
wwarning(_("stack overflow: too many dead processes"));
|
||||
wwarning("stack overflow: too many dead processes");
|
||||
return;
|
||||
}
|
||||
/* stack the process to be handled later,
|
||||
@@ -502,21 +501,6 @@ handleMapRequest(XEvent *ev)
|
||||
}
|
||||
|
||||
if (wwin) {
|
||||
int state;
|
||||
|
||||
if (wwin->wm_hints && (wwin->wm_hints->flags & StateHint))
|
||||
state = wwin->wm_hints->initial_state;
|
||||
else
|
||||
state = NormalState;
|
||||
|
||||
if (state == IconicState)
|
||||
wwin->flags.miniaturized = 1;
|
||||
|
||||
if (state == WithdrawnState) {
|
||||
wwin->flags.mapped = 0;
|
||||
wClientSetState(wwin, WithdrawnState, None);
|
||||
wUnmanageWindow(wwin, True, False);
|
||||
} else {
|
||||
wClientSetState(wwin, NormalState, None);
|
||||
if (wwin->flags.maximized) {
|
||||
wMaximizeWindow(wwin, wwin->flags.maximized);
|
||||
@@ -541,7 +525,6 @@ handleMapRequest(XEvent *ev)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1701,6 +1684,7 @@ handleMotionNotify(XEvent *event)
|
||||
{
|
||||
WMenu *menu;
|
||||
WScreen *scr = wScreenForRootWindow(event->xmotion.root);
|
||||
WWindow *wwin;
|
||||
|
||||
if (wPreferences.scrollable_menus) {
|
||||
if (event->xmotion.x_root <= 1 ||
|
||||
@@ -1717,6 +1701,53 @@ handleMotionNotify(XEvent *event)
|
||||
wMenuScroll(menu, event);
|
||||
}
|
||||
}
|
||||
#if 0
|
||||
if (event->xmotion.subwindow == None)
|
||||
return;
|
||||
|
||||
if (scr->scrolledFMaximize != None) {
|
||||
WWindow *twin;
|
||||
|
||||
twin = wWindowFor(scr->scrolledFMaximize);
|
||||
if (twin && twin->frame_y ==) {
|
||||
|
||||
|
||||
}
|
||||
scr->scrolledFMaximize = NULL;
|
||||
|
||||
} else {
|
||||
|
||||
/* scroll full maximized window */
|
||||
if (event->xmotion.y_root < 1
|
||||
|| event->xmotion.y_root > scr->scr_height - 1) {
|
||||
|
||||
wwin = wWindowFor(event->xmotion.subwindow);
|
||||
|
||||
if (wwin && (wwin->flags.maximized & MAX_VERTICAL)
|
||||
&& WFLAGP(wwin, full_maximize)
|
||||
&& event->xmotion.x_root >= wwin->frame_x
|
||||
&& event->xmotion.x_root <= wwin->frame_x + wwin->frame->core->width) {
|
||||
|
||||
if (!WFLAGP(wwin, no_titlebar)
|
||||
&& wwin->frame_y <= - wwin->frame->top_width) {
|
||||
|
||||
wWindowMove(wwin, wwin->frame_x, 0);
|
||||
wwin->flags.dragged_while_fmaximized = 0;
|
||||
|
||||
} else if (!WFLAGP(wwin, no_resizebar)
|
||||
&& wwin->frame_y + wwin->frame->core->height >=
|
||||
scr->scr_height + wwin->frame->bottom_width) {
|
||||
|
||||
int y = scr->scr_height + wwin->frame->bottom_width;
|
||||
|
||||
y = scr->scr_height - wwin->frame_y - wwin->frame->core->height;
|
||||
|
||||
wWindowMove(wwin, wwin->frame_x, y);
|
||||
wwin->flags.dragged_while_fmaximized = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
+2
-1
@@ -417,7 +417,6 @@ getnameforicon(WWindow *wwin)
|
||||
len = strlen(prefix)+64+strlen(suffix);
|
||||
path = wmalloc(len+1);
|
||||
sprintf(path, "%s/.AppInfo", prefix);
|
||||
free(prefix);
|
||||
|
||||
if (access(path, F_OK)!=0) {
|
||||
if (mkdir(path, S_IRUSR|S_IWUSR|S_IXUSR)) {
|
||||
@@ -811,6 +810,8 @@ miniwindowMouseDown(WObjDescriptor *desc, XEvent *event)
|
||||
int grabbed=0;
|
||||
int clickButton=event->xbutton.button;
|
||||
|
||||
if (WCHECK_STATE(WSTATE_MODAL))
|
||||
return;
|
||||
|
||||
if (IsDoubleClick(icon->core->screen_ptr, event)) {
|
||||
miniwindowDblClick(desc, event);
|
||||
|
||||
@@ -1559,6 +1559,7 @@ wKWMSendEventMessage(WWindow *wwin, WKWMEventMessage message)
|
||||
|
||||
if (wwin && (wwin->flags.internal_window
|
||||
|| wwin->flags.kwm_hidden_for_modules
|
||||
|| !wwin->flags.kwm_managed
|
||||
|| WFLAGP(wwin, skip_window_list)))
|
||||
return;
|
||||
|
||||
|
||||
+17
-10
@@ -581,8 +581,8 @@ typedef struct {
|
||||
|
||||
#define WTOP(w) (w)->frame_y
|
||||
#define WLEFT(w) (w)->frame_x
|
||||
#define WRIGHT(w) ((w)->frame_x + (int)(w)->frame->core->width)
|
||||
#define WBOTTOM(w) ((w)->frame_y + (int)(w)->frame->core->height)
|
||||
#define WRIGHT(w) ((w)->frame_x + (int)(w)->frame->core->width + FRAME_BORDER_WIDTH)
|
||||
#define WBOTTOM(w) ((w)->frame_y + (int)(w)->frame->core->height + FRAME_BORDER_WIDTH)
|
||||
|
||||
static int
|
||||
compareWTop(const void *a, const void *b)
|
||||
@@ -749,6 +749,8 @@ updateMoveData(WWindow *wwin, MoveData *data)
|
||||
tmp = scr->focused_window;
|
||||
while (tmp) {
|
||||
if (tmp != wwin && scr->current_workspace == tmp->frame->workspace
|
||||
&& !tmp->flags.miniaturized
|
||||
&& !tmp->flags.hidden
|
||||
&& !tmp->flags.obscured) {
|
||||
data->topList[data->count] = tmp;
|
||||
data->leftList[data->count] = tmp;
|
||||
@@ -823,15 +825,14 @@ initMoveData(WWindow *wwin, MoveData *data)
|
||||
tmp != NULL;
|
||||
tmp = tmp->prev, i++);
|
||||
|
||||
if (i <= 1)
|
||||
return;
|
||||
|
||||
if (i > 1) {
|
||||
data->topList = wmalloc(sizeof(WWindow*) * i);
|
||||
data->leftList = wmalloc(sizeof(WWindow*) * i);
|
||||
data->rightList = wmalloc(sizeof(WWindow*) * i);
|
||||
data->bottomList = wmalloc(sizeof(WWindow*) * i);
|
||||
|
||||
updateMoveData(wwin, data);
|
||||
}
|
||||
|
||||
data->realX = wwin->frame_x;
|
||||
data->realY = wwin->frame_y;
|
||||
@@ -1075,13 +1076,21 @@ updateWindowPosition(WWindow *wwin, MoveData *data, Bool doResistance,
|
||||
drawFrames(wwin, scr->selected_windows,
|
||||
data->realX - wwin->frame_x,
|
||||
data->realY - wwin->frame_y);
|
||||
}
|
||||
|
||||
if (!scr->selected_windows
|
||||
&& wPreferences.move_display == WDIS_FRAME_CENTER) {
|
||||
|
||||
moveGeometryDisplayCentered(scr, newX + data->winWidth/2,
|
||||
newY + data->winHeight/2);
|
||||
}
|
||||
|
||||
if (!opaqueMove) {
|
||||
/* draw frames */
|
||||
drawFrames(wwin, scr->selected_windows,
|
||||
newX - wwin->frame_x,
|
||||
newY - wwin->frame_y);
|
||||
}
|
||||
}
|
||||
|
||||
if (!scr->selected_windows) {
|
||||
|
||||
@@ -1089,13 +1098,11 @@ updateWindowPosition(WWindow *wwin, MoveData *data, Bool doResistance,
|
||||
|
||||
showPosition(wwin, data->realX, data->realY);
|
||||
|
||||
} else if (wPreferences.move_display == WDIS_FRAME_CENTER) {
|
||||
|
||||
moveGeometryDisplayCentered(scr, newX + data->winWidth/2,
|
||||
newY + data->winHeight/2);
|
||||
}
|
||||
showPosition(wwin, newX, newY);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* recalc relative window position */
|
||||
if (doResistance && (data->realX != newX || data->realY != newY)) {
|
||||
|
||||
@@ -291,6 +291,25 @@ PropWriteGNUstepWMAttr(Window window, GNUstepWMAttributes *attr)
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
PropGetWindowState(Window window)
|
||||
{
|
||||
long *data;
|
||||
long state;
|
||||
|
||||
data = (long*)PropGetCheckProperty(window, _XA_WM_STATE, _XA_WM_STATE,
|
||||
32, 1, NULL);
|
||||
|
||||
if (!data)
|
||||
return -1;
|
||||
|
||||
state = *data;
|
||||
XFree(data);
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
PropCleanUp(Window root)
|
||||
{
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
unsigned char* PropGetCheckProperty(Window window, Atom hint, Atom type,
|
||||
int format, int count, int *retCount);
|
||||
|
||||
int PropGetWindowState(Window window);
|
||||
|
||||
int PropGetNormalHints(Window window, XSizeHints *size_hints, int *pre_iccm);
|
||||
void PropGetProtocols(Window window, WProtocols *prots);
|
||||
|
||||
+1
-1
@@ -501,7 +501,7 @@ createInternalWindows(WScreen *scr)
|
||||
XSelectInput(dpy, scr->no_focus_win, KeyPressMask|KeyReleaseMask);
|
||||
XMapWindow(dpy, scr->no_focus_win);
|
||||
|
||||
XSetInputFocus (dpy, scr->no_focus_win, RevertToParent, CurrentTime);
|
||||
XSetInputFocus(dpy, scr->no_focus_win, RevertToParent, CurrentTime);
|
||||
|
||||
/* shadow window for dock buttons */
|
||||
vmask = CWBorderPixel|CWBackPixmap|CWBackPixel|CWCursor|CWSaveUnder|CWOverrideRedirect;
|
||||
|
||||
@@ -266,6 +266,10 @@ typedef struct _WScreen {
|
||||
Window autoRaiseWindow; /* window that is scheduled to be
|
||||
* raised */
|
||||
|
||||
|
||||
Window scrolledFMaximize; /* full maximized window which was
|
||||
scrolled down for titlebar access */
|
||||
|
||||
/* for window shortcuts */
|
||||
struct WWindow *shortcutWindow[MAX_WINDOW_SHORTCUTS];
|
||||
|
||||
|
||||
@@ -870,8 +870,6 @@ smSaveYourselfPhase2Proc(SmcConn smc_conn, SmPointer client_data)
|
||||
|
||||
statefile = malloc(strlen(prefix)+64);
|
||||
if (!statefile) {
|
||||
if (gsPrefix)
|
||||
free(prefix);
|
||||
wwarning(_("out of memory while saving session state"));
|
||||
goto fail;
|
||||
}
|
||||
@@ -887,9 +885,6 @@ smSaveYourselfPhase2Proc(SmcConn smc_conn, SmPointer client_data)
|
||||
i++;
|
||||
} while (access(F_OK, statefile)!=-1);
|
||||
|
||||
if (gsPrefix)
|
||||
free(prefix);
|
||||
|
||||
/* save the states of all windows we're managing */
|
||||
state = PLMakeArrayFromElements(NULL, NULL);
|
||||
|
||||
|
||||
+4
-1
@@ -187,9 +187,12 @@ RestoreDesktop(WScreen *scr)
|
||||
next = core->stacking->above;
|
||||
|
||||
if (core->descriptor.parent_type==WCLASS_WINDOW) {
|
||||
Window window;
|
||||
|
||||
wwin = core->descriptor.parent;
|
||||
wwin->flags.mapped=1;
|
||||
window = wwin->client_win;
|
||||
wUnmanageWindow(wwin, !wwin->flags.internal_window, False);
|
||||
XMapWindow(dpy, window);
|
||||
}
|
||||
core = next;
|
||||
}
|
||||
|
||||
+13
-62
@@ -54,6 +54,7 @@
|
||||
#include "framewin.h"
|
||||
#include "session.h"
|
||||
#include "defaults.h"
|
||||
#include "properties.h"
|
||||
|
||||
#include "xutil.h"
|
||||
|
||||
@@ -139,7 +140,6 @@ extern Atom _XDE_URLTYPE;
|
||||
extern Cursor wCursor[WCUR_LAST];
|
||||
|
||||
/* special flags */
|
||||
extern char WProgramState;
|
||||
extern char WDelayedActionSet;
|
||||
|
||||
/***** Local *****/
|
||||
@@ -261,7 +261,7 @@ handleSig(int sig)
|
||||
wwarning(_("got signal %i - restarting\n"), sig);
|
||||
#endif
|
||||
|
||||
WProgramState = WSTATE_NEED_RESTART;
|
||||
WCHANGE_STATE(WSTATE_NEED_RESTART);
|
||||
|
||||
/* setup idle handler, so that this will be handled when
|
||||
* the select() is returned becaused of the signal, even if
|
||||
@@ -278,7 +278,7 @@ handleSig(int sig)
|
||||
wwarning(_("got signal %i - exiting...\n"), sig);
|
||||
#endif
|
||||
|
||||
WProgramState = WSTATE_NEED_EXIT;
|
||||
WCHANGE_STATE(WSTATE_NEED_EXIT);
|
||||
|
||||
if (!WDelayedActionSet) {
|
||||
WDelayedActionSet = 1;
|
||||
@@ -864,27 +864,6 @@ StartUp(Bool defaultScreenOnly)
|
||||
|
||||
|
||||
|
||||
static int
|
||||
getState(Window window)
|
||||
{
|
||||
Atom type;
|
||||
int form;
|
||||
unsigned long nitems, bytes_rem;
|
||||
unsigned char *data;
|
||||
long ret;
|
||||
|
||||
if (XGetWindowProperty(dpy, window, _XA_WM_STATE, 0, 3, False,
|
||||
_XA_WM_STATE, &type,&form,&nitems,&bytes_rem,
|
||||
&data)==Success) {
|
||||
if (data != NULL) {
|
||||
ret = *(long*)data;
|
||||
free(data);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
static Bool
|
||||
windowInList(Window window, Window *list, int count)
|
||||
@@ -913,11 +892,8 @@ manageAllWindows(WScreen *scr)
|
||||
Window root, parent;
|
||||
Window *children;
|
||||
unsigned int nchildren;
|
||||
XWindowAttributes wattribs;
|
||||
unsigned int i, j;
|
||||
int state;
|
||||
WWindow *wwin;
|
||||
XWMHints *wmhints;
|
||||
|
||||
XGrabServer(dpy);
|
||||
XQueryTree(dpy, scr->root_win, &root, &parent, &children, &nchildren);
|
||||
@@ -926,6 +902,8 @@ manageAllWindows(WScreen *scr)
|
||||
|
||||
/* first remove all icon windows */
|
||||
for (i = 0; i < nchildren; i++) {
|
||||
XWMHints *wmhints;
|
||||
|
||||
if (children[i]==None)
|
||||
continue;
|
||||
|
||||
@@ -944,51 +922,30 @@ manageAllWindows(WScreen *scr)
|
||||
XFree(wmhints);
|
||||
}
|
||||
}
|
||||
/* map all windows without OverrideRedirect */
|
||||
|
||||
|
||||
for (i = 0; i < nchildren; i++) {
|
||||
if (children[i] == None)
|
||||
continue;
|
||||
|
||||
|
||||
#ifdef KWM_HINTS
|
||||
wKWMCheckModule(scr, children[i]);
|
||||
#endif
|
||||
|
||||
XGetWindowAttributes(dpy, children[i], &wattribs);
|
||||
|
||||
state = getState(children[i]);
|
||||
if (!wattribs.override_redirect
|
||||
&& (state>=0 || wattribs.map_state!=IsUnmapped)) {
|
||||
|
||||
if (state==WithdrawnState) {
|
||||
/* move the window far away so that it doesn't flash */
|
||||
XMoveWindow(dpy, children[i], scr->scr_width+10,
|
||||
scr->scr_height+10);
|
||||
}
|
||||
wwin = wManageWindow(scr, children[i]);
|
||||
if (wwin) {
|
||||
if (state == WithdrawnState) {
|
||||
wwin->flags.mapped = 0;
|
||||
wClientSetState(wwin, WithdrawnState, None);
|
||||
XSelectInput(dpy, wwin->client_win, NoEventMask);
|
||||
XRemoveFromSaveSet(dpy, wwin->client_win);
|
||||
wUnmanageWindow(wwin, True, False);
|
||||
} else {
|
||||
/* apply states got from WSavedState */
|
||||
/* shaded + minimized is not restored correctly */
|
||||
if (wwin->flags.shaded) {
|
||||
wwin->flags.shaded = 0;
|
||||
wShadeWindow(wwin);
|
||||
}
|
||||
if (wwin->wm_hints &&
|
||||
(wwin->wm_hints->flags & StateHint) && state < 0)
|
||||
state = wwin->wm_hints->initial_state;
|
||||
|
||||
if ((state == IconicState || wwin->flags.miniaturized)
|
||||
if (wwin->flags.miniaturized
|
||||
&& (wwin->transient_for == None
|
||||
|| wwin->transient_for == wwin->client_win
|
||||
|| !windowInList(wwin->transient_for,
|
||||
children, nchildren))) {
|
||||
|| wwin->transient_for == scr->root_win
|
||||
|| !windowInList(wwin->transient_for, children,
|
||||
nchildren))) {
|
||||
|
||||
wwin->flags.skip_next_animation = 1;
|
||||
wwin->flags.miniaturized = 0;
|
||||
wIconifyWindow(wwin);
|
||||
} else {
|
||||
@@ -996,12 +953,6 @@ manageAllWindows(WScreen *scr)
|
||||
}
|
||||
}
|
||||
}
|
||||
if (state == WithdrawnState) {
|
||||
/* move the window back to it's old position */
|
||||
XMoveWindow(dpy, children[i], wattribs.x, wattribs.y);
|
||||
}
|
||||
}
|
||||
}
|
||||
XUngrabServer(dpy);
|
||||
|
||||
/* hide apps */
|
||||
|
||||
+1
-1
@@ -57,7 +57,7 @@
|
||||
*/
|
||||
#define USECPP
|
||||
|
||||
/* #define CPP_PATH /lib/cpp */
|
||||
/* #define CPP_PATH /usr/bin/cpp */
|
||||
|
||||
/*
|
||||
* support for OffiX DND drag and drop in the Dock
|
||||
|
||||
@@ -82,6 +82,7 @@ static proplist_t AStartMaximized;
|
||||
static proplist_t AStartHidden; /* app */
|
||||
static proplist_t ADontSaveSession; /* app */
|
||||
static proplist_t AEmulateAppIcon;
|
||||
static proplist_t AFullMaximize;
|
||||
|
||||
static proplist_t AStartWorkspace;
|
||||
|
||||
@@ -117,6 +118,7 @@ init_wdefaults(WScreen *scr)
|
||||
AStartMaximized = PLMakeString("StartMaximized");
|
||||
ADontSaveSession = PLMakeString("DontSaveSession");
|
||||
AEmulateAppIcon = PLMakeString("EmulateAppIcon");
|
||||
AFullMaximize = PLMakeString("FullMaximize");
|
||||
|
||||
AStartWorkspace = PLMakeString("StartWorkspace");
|
||||
|
||||
@@ -299,6 +301,9 @@ wDefaultFillAttributes(WScreen *scr, char *instance, char *class,
|
||||
value = get_value(dw, dc, dn, da, AEmulateAppIcon, No, useGlobalDefault);
|
||||
APPLY_VAL(value, emulate_appicon, AEmulateAppIcon);
|
||||
|
||||
value = get_value(dw, dc, dn, da, AFullMaximize, No, useGlobalDefault);
|
||||
APPLY_VAL(value, emulate_appicon, AFullMaximize);
|
||||
|
||||
/* clean up */
|
||||
PLSetStringCmpHook(StringCompareHook);
|
||||
}
|
||||
|
||||
+107
-54
@@ -107,8 +107,7 @@ static FocusMode getFocusMode(WWindow *wwin);
|
||||
|
||||
static int getSavedState(Window window, WSavedState **state);
|
||||
|
||||
static void setupGNUstepHints(WWindow *wwin,
|
||||
GNUstepWMAttributes *gs_hints);
|
||||
static void setupGNUstepHints(WWindow *wwin, GNUstepWMAttributes *gs_hints);
|
||||
|
||||
/* event handlers */
|
||||
|
||||
@@ -226,39 +225,38 @@ static void
|
||||
setupGNUstepHints(WWindow *wwin, GNUstepWMAttributes *gs_hints)
|
||||
{
|
||||
if (gs_hints->flags & GSWindowStyleAttr) {
|
||||
WSETUFLAG(wwin, no_titlebar,
|
||||
((gs_hints->window_style & WMTitledWindowMask)?0:1));
|
||||
wwin->client_flags.no_titlebar =
|
||||
((gs_hints->window_style & WMTitledWindowMask)?0:1);
|
||||
|
||||
WSETUFLAG(wwin, no_close_button,
|
||||
((gs_hints->window_style & WMClosableWindowMask)?0:1));
|
||||
wwin->client_flags.no_close_button =
|
||||
((gs_hints->window_style & WMClosableWindowMask)?0:1);
|
||||
|
||||
WSETUFLAG(wwin, no_closable,
|
||||
((gs_hints->window_style & WMClosableWindowMask)?0:1));
|
||||
wwin->client_flags.no_closable =
|
||||
((gs_hints->window_style & WMClosableWindowMask)?0:1);
|
||||
|
||||
WSETUFLAG(wwin, no_miniaturize_button,
|
||||
((gs_hints->window_style & WMMiniaturizableWindowMask)?0:1));
|
||||
wwin->client_flags.no_miniaturize_button =
|
||||
((gs_hints->window_style & WMMiniaturizableWindowMask)?0:1);
|
||||
|
||||
WSETUFLAG(wwin, no_miniaturizable,
|
||||
((gs_hints->window_style & WMMiniaturizableWindowMask)?0:1));
|
||||
wwin->client_flags.no_miniaturizable =
|
||||
((gs_hints->window_style & WMMiniaturizableWindowMask)?0:1);
|
||||
|
||||
WSETUFLAG(wwin, no_resizebar,
|
||||
((gs_hints->window_style & WMResizableWindowMask)?0:1));
|
||||
wwin->client_flags.no_resizebar =
|
||||
((gs_hints->window_style & WMResizableWindowMask)?0:1);
|
||||
|
||||
WSETUFLAG(wwin, no_resizable,
|
||||
((gs_hints->window_style & WMResizableWindowMask)?0:1));
|
||||
wwin->client_flags.no_resizable =
|
||||
((gs_hints->window_style & WMResizableWindowMask)?0:1);
|
||||
} else {
|
||||
/* setup the defaults */
|
||||
WSETUFLAG(wwin, no_titlebar, 0);
|
||||
WSETUFLAG(wwin, no_closable, 0);
|
||||
WSETUFLAG(wwin, no_miniaturizable, 0);
|
||||
WSETUFLAG(wwin, no_resizable, 0);
|
||||
WSETUFLAG(wwin, no_close_button, 0);
|
||||
WSETUFLAG(wwin, no_miniaturize_button, 0);
|
||||
WSETUFLAG(wwin, no_resizebar, 0);
|
||||
wwin->client_flags.no_titlebar = 0;
|
||||
wwin->client_flags.no_closable = 0;
|
||||
wwin->client_flags.no_miniaturizable = 0;
|
||||
wwin->client_flags.no_resizable = 0;
|
||||
wwin->client_flags.no_close_button = 0;
|
||||
wwin->client_flags.no_miniaturize_button = 0;
|
||||
wwin->client_flags.no_resizebar = 0;
|
||||
}
|
||||
|
||||
if (gs_hints->extra_flags & GSNoApplicationIconFlag) {
|
||||
WSETUFLAG(wwin, no_appicon, 1);
|
||||
wwin->client_flags.no_appicon = 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -425,7 +423,7 @@ wWindowSetupInitialAttributes(WWindow *wwin, int *level, int *workspace)
|
||||
Bool
|
||||
wWindowCanReceiveFocus(WWindow *wwin)
|
||||
{
|
||||
if (!wwin->flags.mapped && (!wwin->flags.shaded || wwin->flags.hidden))
|
||||
if (!wwin->flags.mapped && !wwin->flags.shaded)
|
||||
return False;
|
||||
if (WFLAGP(wwin, no_focusable) || wwin->flags.miniaturized)
|
||||
return False;
|
||||
@@ -469,6 +467,9 @@ wWindowObscuresWindow(WWindow *wwin, WWindow *obscured)
|
||||
* the window decoration attributes and others. User preferences
|
||||
* for the window are used if available, to configure window
|
||||
* decorations and some behaviour.
|
||||
* If in startup, windows that are override redirect,
|
||||
* unmapped and never were managed and are Withdrawn are not
|
||||
* managed.
|
||||
*
|
||||
* Returns:
|
||||
* the new window descriptor
|
||||
@@ -494,12 +495,14 @@ wManageWindow(WScreen *scr, Window window)
|
||||
WWindowState *win_state;
|
||||
WWindow *transientOwner = NULL;
|
||||
int window_level;
|
||||
int wm_state;
|
||||
int foo;
|
||||
int workspace = -1;
|
||||
char *title;
|
||||
Bool withdraw = False;
|
||||
|
||||
/* mutex. */
|
||||
XGrabServer(dpy);
|
||||
// XGrabServer(dpy);
|
||||
XSync(dpy, False);
|
||||
/* make sure the window is still there */
|
||||
if (!XGetWindowAttributes(dpy, window, &wattribs)) {
|
||||
@@ -507,6 +510,20 @@ wManageWindow(WScreen *scr, Window window)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* if it's an override-redirect, ignore it */
|
||||
if (wattribs.override_redirect) {
|
||||
XUngrabServer(dpy);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
wm_state = PropGetWindowState(window);
|
||||
|
||||
/* if it's startup and the window is unmapped, don't manage it */
|
||||
if (scr->flags.startup && wm_state < 0 && wattribs.map_state==IsUnmapped) {
|
||||
XUngrabServer(dpy);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!wFetchName(dpy, window, &title)) {
|
||||
title = NULL;
|
||||
}
|
||||
@@ -548,7 +565,6 @@ wManageWindow(WScreen *scr, Window window)
|
||||
*
|
||||
*--------------------------------------------------
|
||||
*/
|
||||
wwin->wm_hints = XGetWMHints(dpy, window);
|
||||
PropGetWMClass(window, &wwin->wm_class, &wwin->wm_instance);
|
||||
|
||||
/* setup descriptor */
|
||||
@@ -574,17 +590,19 @@ wManageWindow(WScreen *scr, Window window)
|
||||
if (wwin->client_leader!=None)
|
||||
wwin->main_window = wwin->client_leader;
|
||||
|
||||
if (wwin->wm_hints)
|
||||
XFree(wwin->wm_hints);
|
||||
|
||||
wwin->wm_hints = XGetWMHints(dpy, window);
|
||||
|
||||
if (wwin->wm_hints) {
|
||||
if ((wwin->wm_hints->flags&StateHint)
|
||||
&& (wwin->wm_hints->initial_state == IconicState)) {
|
||||
if (wwin->wm_hints->flags & StateHint) {
|
||||
|
||||
if (wwin->wm_hints->initial_state == IconicState) {
|
||||
|
||||
wwin->flags.miniaturized = 1;
|
||||
/* don't do iconify animation */
|
||||
wwin->flags.skip_next_animation = 1;
|
||||
|
||||
} else if (wwin->wm_hints->initial_state == WithdrawnState) {
|
||||
|
||||
withdraw = True;
|
||||
}
|
||||
}
|
||||
|
||||
if (wwin->wm_hints->flags & WindowGroupHint) {
|
||||
@@ -686,19 +704,34 @@ wManageWindow(WScreen *scr, Window window)
|
||||
wKWMCheckClientInitialState(wwin);
|
||||
#endif
|
||||
|
||||
/* if there is a saved state, restore it */
|
||||
/* apply previous state if it exists and we're in startup */
|
||||
if (scr->flags.startup && wm_state >= 0) {
|
||||
|
||||
if (wm_state == IconicState) {
|
||||
|
||||
wwin->flags.miniaturized = 1;
|
||||
|
||||
} else if (wm_state == WithdrawnState) {
|
||||
|
||||
withdraw = True;
|
||||
}
|
||||
}
|
||||
|
||||
/* if there is a saved state (from file), restore it */
|
||||
win_state = NULL;
|
||||
if (wwin->main_window!=None/* && wwin->main_window!=window*/) {
|
||||
win_state = (WWindowState*)wWindowGetSavedState(wwin->main_window);
|
||||
} else {
|
||||
win_state = (WWindowState*)wWindowGetSavedState(window);
|
||||
}
|
||||
if (win_state && !(wwin->wm_hints && wwin->wm_hints->flags&StateHint &&
|
||||
wwin->wm_hints->initial_state==WithdrawnState)) {
|
||||
if (win_state && !withdraw) {
|
||||
|
||||
if (win_state->state->hidden>0)
|
||||
wwin->flags.hidden = win_state->state->hidden;
|
||||
|
||||
if (win_state->state->shaded>0 && !WFLAGP(wwin, no_shadeable))
|
||||
wwin->flags.shaded = win_state->state->shaded;
|
||||
|
||||
if (win_state->state->miniaturized>0 &&
|
||||
!WFLAGP(wwin, no_miniaturizable)) {
|
||||
wwin->flags.miniaturized = win_state->state->miniaturized;
|
||||
@@ -718,14 +751,15 @@ wManageWindow(WScreen *scr, Window window)
|
||||
}
|
||||
}
|
||||
|
||||
/* if we're restarting, restore saved state. This will overwrite previous */
|
||||
/* if we're restarting, restore saved state (from hints).
|
||||
* This will overwrite previous */
|
||||
{
|
||||
WSavedState *wstate;
|
||||
|
||||
if (getSavedState(window, &wstate)) {
|
||||
wwin->flags.shaded = wstate->shaded;
|
||||
wwin->flags.hidden = wstate->hidden;
|
||||
wwin->flags.miniaturized = 0;
|
||||
wwin->flags.miniaturized = wstate->miniaturized;
|
||||
workspace = wstate->workspace;
|
||||
free(wstate);
|
||||
}
|
||||
@@ -733,7 +767,7 @@ wManageWindow(WScreen *scr, Window window)
|
||||
|
||||
/* don't let transients start miniaturized if their owners are not */
|
||||
if (transientOwner && !transientOwner->flags.miniaturized
|
||||
&& wwin->flags.miniaturized) {
|
||||
&& wwin->flags.miniaturized && !withdraw) {
|
||||
wwin->flags.miniaturized = 0;
|
||||
if (wwin->wm_hints)
|
||||
wwin->wm_hints->initial_state = NormalState;
|
||||
@@ -774,8 +808,7 @@ wManageWindow(WScreen *scr, Window window)
|
||||
|
||||
/* do not ask for window placement if the window is
|
||||
* transient, during startup, if the initial workspace is another one
|
||||
* or if the window wants to
|
||||
* start iconic.
|
||||
* or if the window wants to start iconic.
|
||||
* If geometry was saved, restore it. */
|
||||
{
|
||||
Bool dontBring = False;
|
||||
@@ -783,8 +816,8 @@ wManageWindow(WScreen *scr, Window window)
|
||||
if (win_state && win_state->state->use_geometry) {
|
||||
x = win_state->state->x;
|
||||
y = win_state->state->y;
|
||||
} else if (wwin->transient_for==None && !scr->flags.startup &&
|
||||
workspace==scr->current_workspace
|
||||
} else if (wwin->transient_for==None && !scr->flags.startup
|
||||
&& workspace == scr->current_workspace
|
||||
&& !wwin->flags.miniaturized
|
||||
&& !wwin->flags.maximized
|
||||
&& !(wwin->normal_hints->flags & (USPosition|PPosition))) {
|
||||
@@ -796,6 +829,12 @@ wManageWindow(WScreen *scr, Window window)
|
||||
if (WFLAGP(wwin, dont_move_off) && dontBring)
|
||||
wScreenBringInside(scr, &x, &y, width, height);
|
||||
}
|
||||
|
||||
if (wwin->flags.urgent) {
|
||||
if (!IS_OMNIPRESENT(wwin))
|
||||
wwin->flags.omnipresent ^= 1;
|
||||
}
|
||||
|
||||
/*
|
||||
*--------------------------------------------------
|
||||
*
|
||||
@@ -803,7 +842,6 @@ wManageWindow(WScreen *scr, Window window)
|
||||
*
|
||||
*--------------------------------------------------
|
||||
*/
|
||||
|
||||
foo = WFF_LEFT_BUTTON | WFF_RIGHT_BUTTON;
|
||||
if (!WFLAGP(wwin, no_titlebar))
|
||||
foo |= WFF_TITLEBAR;
|
||||
@@ -943,9 +981,7 @@ wManageWindow(WScreen *scr, Window window)
|
||||
/* if window is in this workspace and should be mapped, then map it */
|
||||
if (!wwin->flags.miniaturized
|
||||
&& (workspace == scr->current_workspace || IS_OMNIPRESENT(wwin))
|
||||
&& !wwin->flags.hidden
|
||||
&& !(wwin->wm_hints && (wwin->wm_hints->flags & StateHint)
|
||||
&& wwin->wm_hints->initial_state == WithdrawnState)) {
|
||||
&& !wwin->flags.hidden && !withdraw) {
|
||||
|
||||
/* The following "if" is to avoid crashing of clients that expect
|
||||
* WM_STATE set before they get mapped. Else WM_STATE is set later,
|
||||
@@ -1029,7 +1065,6 @@ wManageWindow(WScreen *scr, Window window)
|
||||
wwin->prev = NULL;
|
||||
}
|
||||
|
||||
|
||||
#ifdef GNOME_STUFF
|
||||
wGNOMEUpdateClientStateHint(wwin, True);
|
||||
#endif
|
||||
@@ -1066,16 +1101,18 @@ wManageWindow(WScreen *scr, Window window)
|
||||
wGNOMEUpdateClientListHint(scr);
|
||||
#endif
|
||||
#ifdef KWM_HINTS
|
||||
wwin->flags.kwm_managed = 1;
|
||||
|
||||
wKWMSendEventMessage(wwin, WKWMAddWindow);
|
||||
#endif
|
||||
|
||||
wColormapInstallForWindow(wwin->screen_ptr, scr->cmap_window);
|
||||
wColormapInstallForWindow(scr, scr->cmap_window);
|
||||
|
||||
UpdateSwitchMenu(wwin->screen_ptr, wwin, ACTION_ADD);
|
||||
UpdateSwitchMenu(scr, wwin, ACTION_ADD);
|
||||
|
||||
#ifdef OLWM_HINTS
|
||||
if (wwin->client_flags.olwm_warp_to_pin && wwin->frame->titlebar != NULL
|
||||
&& !WFLAGP(wwin, no_close_button)) {
|
||||
&& !WFLAGP(wwin, no_close_button) && !withdraw) {
|
||||
|
||||
XWarpPointer(dpy, None, None, 0, 0, 0, 0,
|
||||
wwin->frame_x + width - wwin->frame->titlebar->height * 2,
|
||||
@@ -1085,13 +1122,24 @@ wManageWindow(WScreen *scr, Window window)
|
||||
|
||||
/*
|
||||
*--------------------------------------------------
|
||||
*
|
||||
* Cleanup temporary stuff
|
||||
*
|
||||
*--------------------------------------------------
|
||||
*/
|
||||
|
||||
if (win_state)
|
||||
wWindowDeleteSavedState(win_state);
|
||||
|
||||
/* If the window must be withdrawed, then do it now.
|
||||
* Must do some optimization, 'though */
|
||||
if (withdraw) {
|
||||
wwin->flags.mapped = 0;
|
||||
wClientSetState(wwin, WithdrawnState, None);
|
||||
wUnmanageWindow(wwin, True, False);
|
||||
wwin = NULL;
|
||||
}
|
||||
|
||||
return wwin;
|
||||
}
|
||||
|
||||
@@ -1276,6 +1324,9 @@ wUnmanageWindow(WWindow *wwin, Bool restore, Bool destroyed)
|
||||
XRemoveFromSaveSet(dpy, wwin->client_win);
|
||||
|
||||
XSelectInput(dpy, wwin->client_win, NoEventMask);
|
||||
|
||||
XUngrabButton(dpy, AnyButton, AnyModifier, wwin->client_win);
|
||||
XUngrabKey(dpy, AnyKey, AnyModifier, wwin->client_win);
|
||||
}
|
||||
|
||||
XUnmapWindow(dpy, frame->window);
|
||||
@@ -2010,6 +2061,7 @@ wWindowSaveState(WWindow *wwin)
|
||||
|
||||
memset(data, 0, sizeof(CARD32)*9);
|
||||
data[0] = wwin->frame->workspace;
|
||||
data[1] = wwin->flags.miniaturized;
|
||||
data[2] = wwin->flags.shaded;
|
||||
data[3] = wwin->flags.hidden;
|
||||
|
||||
@@ -2608,7 +2660,8 @@ titlebarMouseDown(WCoreWindow *sender, void *data, XEvent *event)
|
||||
|
||||
XUngrabPointer(dpy, CurrentTime);
|
||||
} else if (event->xbutton.button == Button3 && event->xbutton.state==0
|
||||
&& !wwin->flags.internal_window) {
|
||||
&& !wwin->flags.internal_window
|
||||
&& !WCHECK_STATE(WSTATE_MODAL)) {
|
||||
WObjDescriptor *desc;
|
||||
|
||||
if (event->xbutton.window != wwin->frame->titlebar->window
|
||||
|
||||
@@ -127,6 +127,8 @@ typedef struct {
|
||||
unsigned int start_maximized:1;
|
||||
unsigned int dont_save_session:1; /* do not save app's state in session */
|
||||
|
||||
unsigned int full_maximize:1;
|
||||
|
||||
/*
|
||||
* emulate_app_icon must be automatically disabled for apps that can
|
||||
* generate their own appicons and for apps that have no_appicon=1
|
||||
@@ -268,8 +270,11 @@ typedef struct WWindow {
|
||||
unsigned int waiting_save_ack:1; /* waiting for SAVE_YOURSELF ack */
|
||||
|
||||
unsigned int obscured:1; /* window is obscured */
|
||||
|
||||
unsigned int dragged_while_fmaximized;
|
||||
#ifdef KWM_HINTS
|
||||
unsigned int kwm_hidden_for_modules:1;
|
||||
unsigned int kwm_managed:1;
|
||||
#endif
|
||||
#ifdef OLWM_HINTS
|
||||
unsigned int olwm_push_pin_out:1;/* emulate pushpin behaviour */
|
||||
|
||||
+22
-8
@@ -72,6 +72,7 @@ static proplist_t AStartMiniaturized;
|
||||
static proplist_t AStartMaximized;
|
||||
static proplist_t ADontSaveSession;
|
||||
static proplist_t AEmulateAppIcon;
|
||||
static proplist_t AFullMaximize;
|
||||
|
||||
static proplist_t AStartWorkspace;
|
||||
|
||||
@@ -119,6 +120,7 @@ make_keys()
|
||||
AStartHidden = PLMakeString("StartHidden");
|
||||
ADontSaveSession = PLMakeString("DontSaveSession");
|
||||
AEmulateAppIcon = PLMakeString("EmulateAppIcon");
|
||||
AFullMaximize = PLMakeString("FullMaximize");
|
||||
|
||||
AStartWorkspace = PLMakeString("StartWorkspace");
|
||||
|
||||
@@ -532,6 +534,9 @@ saveSettings(WMButton *button, InspectorPanel *panel)
|
||||
value = (WMGetButtonSelected(panel->moreChk[6])!=0) ? Yes : No;
|
||||
insertAttribute(dict, winDic, AEmulateAppIcon, value, &different, flags);
|
||||
|
||||
value = (WMGetButtonSelected(panel->moreChk[7])!=0) ? Yes : No;
|
||||
insertAttribute(dict, winDic, AFullMaximize, value, &different, flags);
|
||||
|
||||
/* application wide settings for when */
|
||||
/* the window is the leader, save the attribute with the others */
|
||||
if (panel->inspected->main_window == panel->inspected->client_win) {
|
||||
@@ -547,6 +552,7 @@ saveSettings(WMButton *button, InspectorPanel *panel)
|
||||
if (different) {
|
||||
PLInsertDictionaryEntry(dict, key, winDic);
|
||||
}
|
||||
|
||||
PLRelease(key);
|
||||
PLRelease(winDic);
|
||||
|
||||
@@ -709,6 +715,7 @@ applySettings(WMButton *button, InspectorPanel *panel)
|
||||
WSETUFLAG(wwin, no_focusable, WMGetButtonSelected(panel->moreChk[4]));
|
||||
WSETUFLAG(wwin, dont_save_session, WMGetButtonSelected(panel->moreChk[5]));
|
||||
WSETUFLAG(wwin, emulate_appicon, WMGetButtonSelected(panel->moreChk[6]));
|
||||
WSETUFLAG(wwin, full_maximize, WMGetButtonSelected(panel->moreChk[7]));
|
||||
WSETUFLAG(wwin, always_user_icon, WMGetButtonSelected(panel->alwChk));
|
||||
|
||||
if (WFLAGP(wwin, no_titlebar) && wwin->flags.shaded)
|
||||
@@ -851,7 +858,7 @@ revertSettings(WMButton *button, InspectorPanel *panel)
|
||||
}
|
||||
WMSetButtonSelected(panel->attrChk[i], flag);
|
||||
}
|
||||
for (i=0; i < 7; i++) {
|
||||
for (i=0; i < 8; i++) {
|
||||
int flag = 0;
|
||||
|
||||
switch (i) {
|
||||
@@ -876,6 +883,9 @@ revertSettings(WMButton *button, InspectorPanel *panel)
|
||||
case 6:
|
||||
flag = WFLAGP(wwin, emulate_appicon);
|
||||
break;
|
||||
case 7:
|
||||
flag = WFLAGP(wwin, full_maximize);
|
||||
break;
|
||||
}
|
||||
WMSetButtonSelected(panel->moreChk[i], flag);
|
||||
}
|
||||
@@ -949,7 +959,7 @@ textEditedObserver(void *observerData, WMNotification *notification)
|
||||
if ((long)WMGetNotificationClientData(notification) != WMReturnTextMovement)
|
||||
return;
|
||||
|
||||
if (observerData == panel->fileText) {
|
||||
if (WMGetNotificationObject(notification) == panel->fileText) {
|
||||
showIconFor(WMWidgetScreen(panel->win), panel, NULL, NULL,
|
||||
USE_TEXT_FIELD);
|
||||
/*
|
||||
@@ -1106,8 +1116,8 @@ createInspectorForWindow(WWindow *wwin)
|
||||
/**** attributes ****/
|
||||
panel->attrFrm = WMCreateFrame(panel->win);
|
||||
WMSetFrameTitle(panel->attrFrm, _("Attributes"));
|
||||
WMMoveWidget(panel->attrFrm, 15, 50);
|
||||
WMResizeWidget(panel->attrFrm, frame_width, 240);
|
||||
WMMoveWidget(panel->attrFrm, 15, 45);
|
||||
WMResizeWidget(panel->attrFrm, frame_width, 250);
|
||||
|
||||
for (i=0; i < 10; i++) {
|
||||
char *caption = NULL;
|
||||
@@ -1166,10 +1176,10 @@ createInspectorForWindow(WWindow *wwin)
|
||||
/**** more attributes ****/
|
||||
panel->moreFrm = WMCreateFrame(panel->win);
|
||||
WMSetFrameTitle(panel->moreFrm, _("Advanced"));
|
||||
WMMoveWidget(panel->moreFrm, 15, 50);
|
||||
WMResizeWidget(panel->moreFrm, frame_width, 240);
|
||||
WMMoveWidget(panel->moreFrm, 15, 45);
|
||||
WMResizeWidget(panel->moreFrm, frame_width, 250);
|
||||
|
||||
for (i=0; i < 7; i++) {
|
||||
for (i=0; i < 8; i++) {
|
||||
char *caption = NULL;
|
||||
int flag = 0;
|
||||
|
||||
@@ -1202,6 +1212,10 @@ createInspectorForWindow(WWindow *wwin)
|
||||
caption = _("Emulate Application Icon");
|
||||
flag = WFLAGP(wwin, emulate_appicon);
|
||||
break;
|
||||
case 7:
|
||||
caption = _("Full Screen Maximization");
|
||||
flag = WFLAGP(wwin, full_maximize);
|
||||
break;
|
||||
}
|
||||
panel->moreChk[i] = WMCreateSwitchButton(panel->moreFrm);
|
||||
WMMoveWidget(panel->moreChk[i], 10, 20*(i+1));
|
||||
@@ -1212,7 +1226,7 @@ createInspectorForWindow(WWindow *wwin)
|
||||
|
||||
panel->moreLbl = WMCreateLabel(panel->moreFrm);
|
||||
WMResizeWidget(panel->moreLbl, frame_width - (2 * 5), 60);
|
||||
WMMoveWidget(panel->moreLbl, 5, 160);
|
||||
WMMoveWidget(panel->moreLbl, 5, 180);
|
||||
WMSetLabelText(panel->moreLbl,
|
||||
_("Enable the \"Don't bind...\" options to allow the "
|
||||
"application to receive all mouse or keyboard events."));
|
||||
|
||||
+1
-1
@@ -60,7 +60,7 @@ typedef struct InspectorPanel {
|
||||
|
||||
/* 3rd page. more attributes */
|
||||
WMFrame *moreFrm;
|
||||
WMButton *moreChk[7];
|
||||
WMButton *moreChk[8];
|
||||
|
||||
WMLabel *moreLbl;
|
||||
|
||||
|
||||
+1
-1
@@ -124,7 +124,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
TAR = gtar
|
||||
GZIP_ENV = --best
|
||||
SOURCES = $(wtest_SOURCES)
|
||||
OBJECTS = $(wtest_OBJECTS)
|
||||
|
||||
+3
-2
@@ -5,9 +5,10 @@ pkgdatadir = $(datadir)/@PACKAGE@
|
||||
|
||||
bin_PROGRAMS = wxcopy wxpaste wdwrite getstyle setstyle seticons geticonset wmsetbg
|
||||
|
||||
bin_SCRIPTS = wmaker.inst wm-oldmenu2new wsetfont
|
||||
bin_SCRIPTS = wmaker.inst wm-oldmenu2new wsetfont wkdemenu.pl
|
||||
|
||||
EXTRA_DIST = wmaker.inst.in bughint wm-oldmenu2new wsetfont directjpeg.c
|
||||
EXTRA_DIST = wmaker.inst.in bughint wm-oldmenu2new wsetfont directjpeg.c \
|
||||
wkdemenu.pl
|
||||
|
||||
INCLUDES = @DFLAGS@ -I$(top_srcdir)/wrlib @HEADER_SEARCH_PATH@
|
||||
|
||||
|
||||
+4
-3
@@ -91,9 +91,10 @@ pkgdatadir = $(datadir)/@PACKAGE@
|
||||
|
||||
bin_PROGRAMS = wxcopy wxpaste wdwrite getstyle setstyle seticons geticonset wmsetbg
|
||||
|
||||
bin_SCRIPTS = wmaker.inst wm-oldmenu2new wsetfont
|
||||
bin_SCRIPTS = wmaker.inst wm-oldmenu2new wsetfont wkdemenu.pl
|
||||
|
||||
EXTRA_DIST = wmaker.inst.in bughint wm-oldmenu2new wsetfont directjpeg.c wkdemenu.pl
|
||||
|
||||
EXTRA_DIST = wmaker.inst.in bughint wm-oldmenu2new wsetfont directjpeg.c
|
||||
|
||||
INCLUDES = @DFLAGS@ -I$(top_srcdir)/wrlib @HEADER_SEARCH_PATH@
|
||||
|
||||
@@ -184,7 +185,7 @@ DIST_COMMON = README Makefile.am Makefile.in
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
TAR = gtar
|
||||
GZIP_ENV = --best
|
||||
SOURCES = $(wxcopy_SOURCES) $(wxpaste_SOURCES) $(wdwrite_SOURCES) $(getstyle_SOURCES) $(setstyle_SOURCES) $(seticons_SOURCES) $(geticonset_SOURCES) $(wmsetbg_SOURCES)
|
||||
OBJECTS = $(wxcopy_OBJECTS) $(wxpaste_OBJECTS) $(wdwrite_OBJECTS) $(getstyle_OBJECTS) $(setstyle_OBJECTS) $(seticons_OBJECTS) $(geticonset_OBJECTS) $(wmsetbg_OBJECTS)
|
||||
|
||||
+1
-1
@@ -33,4 +33,4 @@ wdwrite- write data into the defaults database (configuration files).
|
||||
|
||||
wsetfont- set locale the fonts needed for a specific locale for Window Maker
|
||||
|
||||
wkdemenu.sh- convert a KDE menu into a wmaker menu (for pipe)
|
||||
wkdemenu.pl- convert a KDE menu into a wmaker menu (for pipe)
|
||||
|
||||
+7
-5
@@ -303,8 +303,9 @@ main(int argc, char **argv)
|
||||
|
||||
prop = PLGetProplistWithPath(path);
|
||||
if (!prop) {
|
||||
printf("%s:could not load WindowMaker configuration file \"%s\".\n",
|
||||
ProgName, path);
|
||||
perror(path);
|
||||
printf("%s:could not load WindowMaker configuration file.\n",
|
||||
ProgName);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
@@ -345,8 +346,8 @@ main(int argc, char **argv)
|
||||
|
||||
style = PLGetProplistWithPath(buffer);
|
||||
if (!style) {
|
||||
printf("%s:could not load style file \"%s\".\n", ProgName,
|
||||
buffer);
|
||||
perror(buffer);
|
||||
printf("%s:could not load style file.\n", ProgName);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
@@ -355,7 +356,8 @@ main(int argc, char **argv)
|
||||
} else {
|
||||
style = PLGetProplistWithPath(file);
|
||||
if (!style) {
|
||||
printf("%s:could not load style file \"%s\".\n", ProgName, file);
|
||||
perror(file);
|
||||
printf("%s:could not load style file.\n", ProgName);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user