mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-19 04:20:27 +01:00
0.51.1 pre snapshot. Be careful, it may be buggy. It fixes some bugs though.
This commit is contained in:
9
AUTHORS
9
AUTHORS
@@ -33,6 +33,9 @@ Text input field, 15bpp support
|
|||||||
George Clernon <clernong@tinet.ie>
|
George Clernon <clernong@tinet.ie>
|
||||||
bug fix in browser widget
|
bug fix in browser widget
|
||||||
|
|
||||||
|
Omar Cornut / Zoop <cornut@capway.com>
|
||||||
|
SteelBlueSilk theme
|
||||||
|
|
||||||
Sylvain CORRE <sylvain.corre@wanadoo.fr>
|
Sylvain CORRE <sylvain.corre@wanadoo.fr>
|
||||||
bug fix for MkLinux/PPC
|
bug fix for MkLinux/PPC
|
||||||
|
|
||||||
@@ -65,7 +68,7 @@ Better detection of gfx libraries, added IconTitleColor/IconTitleBack
|
|||||||
Greg Hayes <sdc@choice.net>
|
Greg Hayes <sdc@choice.net>
|
||||||
Twisted miniaturization animation
|
Twisted miniaturization animation
|
||||||
|
|
||||||
Alban Hertroys
|
Alban Hertroys <dalroi@wit401310.student.utwente.nl>
|
||||||
WINGs color panel
|
WINGs color panel
|
||||||
|
|
||||||
HIDEKI Fujimoto <hideki70@osk2.threewebnet.or.jp>
|
HIDEKI Fujimoto <hideki70@osk2.threewebnet.or.jp>
|
||||||
@@ -193,6 +196,10 @@ xv.tiff
|
|||||||
David Wang <dwang@cisco.com>
|
David Wang <dwang@cisco.com>
|
||||||
edge resistance, 8bpp balloon bug fix, other 8bpp related fixes
|
edge resistance, 8bpp balloon bug fix, other 8bpp related fixes
|
||||||
|
|
||||||
|
Franck Wolff <frawolff@club-internet.fr>
|
||||||
|
various fixes/enhancements to WINGs
|
||||||
|
|
||||||
|
|
||||||
Yoav Yerushalmi <yoav@mit.edu>
|
Yoav Yerushalmi <yoav@mit.edu>
|
||||||
Fixed -visualid for screens that can do multiple depths. Another fix in
|
Fixed -visualid for screens that can do multiple depths. Another fix in
|
||||||
libproplist. Chooses best depth in screen.
|
libproplist. Chooses best depth in screen.
|
||||||
|
|||||||
2
BUGFORM
2
BUGFORM
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
|
|
||||||
If you find a bug please fill this form and send it to
|
If you find a bug please fill this form and send it to
|
||||||
developers@windowmaker.org
|
developers@windowmaker.org Please, USE THIS FORM!!!
|
||||||
|
|
||||||
You can also report a bug in the WWW bug tracker at
|
You can also report a bug in the WWW bug tracker at
|
||||||
http://windowmaker.org/cgi-bin/bugs or by sending this report
|
http://windowmaker.org/cgi-bin/bugs or by sending this report
|
||||||
|
|||||||
2
BUGS
2
BUGS
@@ -1,8 +1,6 @@
|
|||||||
- wmaker will not stop managing a screen even if another window manager
|
- wmaker will not stop managing a screen even if another window manager
|
||||||
requests that, through the ICCCM 2.0 manager selection stuff
|
requests that, through the ICCCM 2.0 manager selection stuff
|
||||||
- the app menu does not update after a style/theme change without restart.
|
- the app menu does not update after a style/theme change without restart.
|
||||||
- during startup, transient windows should be miniaturized with their owners
|
|
||||||
not in their own icons
|
|
||||||
- stacking code is buggy (or XFree is buggy)
|
- stacking code is buggy (or XFree is buggy)
|
||||||
- save session doesnt work on some platforms (Alpha and Sparc)
|
- save session doesnt work on some platforms (Alpha and Sparc)
|
||||||
- texture pixmaps are being incorrectly freed somewhere. Either
|
- texture pixmaps are being incorrectly freed somewhere. Either
|
||||||
|
|||||||
91
COPYING.OPL
Normal file
91
COPYING.OPL
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
|
||||||
|
OpenContent License (OPL)
|
||||||
|
Version 1.0, July 14, 1998.
|
||||||
|
|
||||||
|
This document outlines the principles underlying the OpenContent
|
||||||
|
(OC) movement and may be redistributed provided it remains
|
||||||
|
unaltered. For legal purposes, this document is the license under
|
||||||
|
which OpenContent is made available for use.
|
||||||
|
|
||||||
|
The original version of this document may be found at
|
||||||
|
http://www.opencontent.org/opl.shtml
|
||||||
|
|
||||||
|
LICENSE
|
||||||
|
|
||||||
|
Terms and Conditions for Copying, Distributing, and Modifying
|
||||||
|
|
||||||
|
Items other than copying, distributing, and modifying the Content
|
||||||
|
with which this license was distributed (such as using, etc.) are
|
||||||
|
outside the scope of this license.
|
||||||
|
|
||||||
|
1. You may copy and distribute exact replicas of the OpenContent
|
||||||
|
(OC) as you receive it, in any medium, provided that you
|
||||||
|
conspicuously and appropriately publish on each copy an appropriate
|
||||||
|
copyright notice and disclaimer of warranty; keep intact all the
|
||||||
|
notices that refer to this License and to the absence of any
|
||||||
|
warranty; and give any other recipients of the OC a copy of this
|
||||||
|
License along with the OC. You may at your option charge a fee for
|
||||||
|
the media and/or handling involved in creating a unique copy of the
|
||||||
|
OC for use offline, you may at your option offer instructional
|
||||||
|
support for the OC in exchange for a fee, or you may at your option
|
||||||
|
offer warranty in exchange for a fee. You may not charge a fee for
|
||||||
|
the OC itself. You may not charge a fee for the sole service of
|
||||||
|
providing access to and/or use of the OC via a network (e.g. the
|
||||||
|
Internet), whether it be via the world wide web, FTP, or any other
|
||||||
|
method.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the OpenContent or any
|
||||||
|
portion of it, thus forming works based on the Content, and
|
||||||
|
distribute such modifications or work under the terms of Section 1
|
||||||
|
above, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) You must cause the modified content to carry prominent notices
|
||||||
|
stating that you changed it, the exact nature and content of the
|
||||||
|
changes, and the date of any change.
|
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in
|
||||||
|
whole or in part contains or is derived from the OC or any part
|
||||||
|
thereof, to be licensed as a whole at no charge to all third
|
||||||
|
parties under the terms of this License, unless otherwise permitted
|
||||||
|
under applicable Fair Use law.
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If
|
||||||
|
identifiable sections of that work are not derived from the OC, and
|
||||||
|
can be reasonably considered independent and separate works in
|
||||||
|
themselves, then this License, and its terms, do not apply to those
|
||||||
|
sections when you distribute them as separate works. But when you
|
||||||
|
distribute the same sections as part of a whole which is a work
|
||||||
|
based on the OC, the distribution of the whole must be on the terms
|
||||||
|
of this License, whose permissions for other licensees extend to
|
||||||
|
the entire whole, and thus to each and every part regardless of who
|
||||||
|
wrote it. Exceptions are made to this requirement to release
|
||||||
|
modified works free of charge under this license only in compliance
|
||||||
|
with Fair Use law where applicable.
|
||||||
|
|
||||||
|
3. You are not required to accept this License, since you have not
|
||||||
|
signed it. However, nothing else grants you permission to copy,
|
||||||
|
distribute or modify the OC. These actions are prohibited by law if
|
||||||
|
you do not accept this License. Therefore, by distributing or
|
||||||
|
translating the OC, or by deriving works herefrom, you indicate
|
||||||
|
your acceptance of this License to do so, and all its terms and
|
||||||
|
conditions for copying, distributing or translating the OC.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
4. BECAUSE THE OPENCONTENT (OC) IS LICENSED FREE OF CHARGE, THERE
|
||||||
|
IS NO WARRANTY FOR THE OC, TO THE EXTENT PERMITTED BY APPLICABLE
|
||||||
|
LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS
|
||||||
|
AND/OR OTHER PARTIES PROVIDE THE OC "AS IS" WITHOUT WARRANTY OF ANY
|
||||||
|
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. THE ENTIRE RISK OF USE OF THE OC IS WITH YOU.
|
||||||
|
SHOULD THE OC PROVE FAULTY, INACCURATE, OR OTHERWISE UNACCEPTABLE
|
||||||
|
YOU ASSUME THE COST OF ALL NECESSARY REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
5. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||||
|
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
|
||||||
|
MIRROR AND/OR REDISTRIBUTE THE OC AS PERMITTED ABOVE, BE LIABLE TO
|
||||||
|
YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||||
|
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
|
||||||
|
THE OC, EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
39
ChangeLog
39
ChangeLog
@@ -1,3 +1,40 @@
|
|||||||
|
Changes since version 0.51.0:
|
||||||
|
.............................
|
||||||
|
|
||||||
|
- icon explosion is stopped when clicking on anywhere
|
||||||
|
- fixed dont set xset stuff option in WPrefs
|
||||||
|
- fixed menu title messup in WPrefs
|
||||||
|
- fixed WPrefs message dialogs for invalid menus
|
||||||
|
- fixed workspace back setting in all screens
|
||||||
|
- fixed WorkspaceSpecificBack / wmsetbg
|
||||||
|
- added WindozeCycle patch (being rewritten)
|
||||||
|
- cleaned up focus/unfocus state transitions
|
||||||
|
- made WPrefs more robust
|
||||||
|
- fixed locale file (po) installation stuff
|
||||||
|
- fixed focus loss when dragging window across workspaces
|
||||||
|
- fixed workspace baby boom with nextworkspacekey
|
||||||
|
- removed ignore_next_unmap kluge
|
||||||
|
- install defaults data in /usr/local/etc
|
||||||
|
- added menu for miniwindow
|
||||||
|
- fixed remove resizebar from shaded window
|
||||||
|
- rewrote library/header search code in configure
|
||||||
|
- rewrote window move/edge resistance code
|
||||||
|
- added window border resistance
|
||||||
|
- changed EdgeResistance option to only YES/NO
|
||||||
|
- added workaround for glibc bug in sscanf("", bla, bla)
|
||||||
|
- hopefully fixed WM_COLORMAP_WINDOWS crash bug
|
||||||
|
- fixed searching of localized menus
|
||||||
|
- fixed --help option
|
||||||
|
- fixed handling of docked apps with . in their instance names
|
||||||
|
- RSupportedFileFormats() in wrlib will now return a static buffer
|
||||||
|
- fixed bug in StartHidden
|
||||||
|
- a little faster startup
|
||||||
|
- will rearrange icons after moving an icon if autoarrangeicons
|
||||||
|
- fixed icon overlap bug
|
||||||
|
- fixed crash with internal dialogs and multi-heads
|
||||||
|
- added standard colormap support to wrlib (taken from libXmu sources)
|
||||||
|
- fixed memory leak in attribute panel
|
||||||
|
|
||||||
Changes since version 0.50.2:
|
Changes since version 0.50.2:
|
||||||
.............................
|
.............................
|
||||||
|
|
||||||
@@ -35,6 +72,8 @@ Changes since version 0.50.2:
|
|||||||
- fixed bug in start maximized
|
- fixed bug in start maximized
|
||||||
- added _WINDOWMAKER_NOTICEBOARD protocol
|
- added _WINDOWMAKER_NOTICEBOARD protocol
|
||||||
- added docklib
|
- added docklib
|
||||||
|
- updated utility parameter format to GNU standards
|
||||||
|
- removed libPropList from distribution and merged with GNOME one
|
||||||
|
|
||||||
Changes since version 0.50.1:
|
Changes since version 0.50.1:
|
||||||
.............................
|
.............................
|
||||||
|
|||||||
22
FAQ
22
FAQ
@@ -95,11 +95,13 @@ Summary of Contents:
|
|||||||
5.6 What other apps exist for the dock?
|
5.6 What other apps exist for the dock?
|
||||||
5.7 How do I get an appicon for rxvt so I can dock it?
|
5.7 How do I get an appicon for rxvt so I can dock it?
|
||||||
5.8 How do I get different icons for rxvt's (or xterms) running different
|
5.8 How do I get different icons for rxvt's (or xterms) running different
|
||||||
programs?
|
programs?
|
||||||
5.9 How do I launch multiple instances of XTerm from one appicon?
|
5.9 How do I launch multiple instances of XTerm from one appicon?
|
||||||
5.10 How do I allow Alt+# to work in an rxvt session? (with irc for
|
5.10 How do I allow Alt+# to work in an rxvt session? (with irc for
|
||||||
example)
|
example)
|
||||||
5.11 Window Maker breaks scilab
|
5.11 Window Maker breaks scilab
|
||||||
|
5.12 Netscape icons show up in black and white
|
||||||
|
5.13 Snow flakes from xsnow don't acumulate on titlebars!
|
||||||
|
|
||||||
6 - Programming
|
6 - Programming
|
||||||
6.1 How do I get a normal X application to produce an appicon?
|
6.1 How do I get a normal X application to produce an appicon?
|
||||||
@@ -1212,6 +1214,24 @@ with
|
|||||||
in routines/xsci/jpc_SGraph.c
|
in routines/xsci/jpc_SGraph.c
|
||||||
|
|
||||||
|
|
||||||
|
5.12 Netscape shows black and white icons
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
This is because Netscape uses monochrome icons when running under olwm
|
||||||
|
and you are using the OPEN LOOK emulation option. If you do not use any XView
|
||||||
|
apps anyway, recompile Window Maker without the --enable-openlook option.
|
||||||
|
If you need OPEN LOOK emulation, you will have to get used to the monochrome
|
||||||
|
icons or change then manually in the Attributes panel for each window.
|
||||||
|
|
||||||
|
|
||||||
|
5.13 Snow flakes from xsnow don't acumulate on titlebars!
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
Because of the way xsnow is coded, it seems that it can't "see"
|
||||||
|
windows with the SaveUnder attribute turned on. So, if snow
|
||||||
|
accumulation on windows is vital for you, disable SaveUnders in
|
||||||
|
WPrefs, in the advanced options section.
|
||||||
|
|
||||||
|
|
||||||
-=-=-=-=-=-=-
|
-=-=-=-=-=-=-
|
||||||
Programming:
|
Programming:
|
||||||
|
|||||||
61
INSTALL
61
INSTALL
@@ -66,11 +66,11 @@ The following is required to build Window Maker:
|
|||||||
Install it before building Window Maker.
|
Install it before building Window Maker.
|
||||||
|
|
||||||
- autoconf, automake and libtool
|
- autoconf, automake and libtool
|
||||||
These tools are not needed, but IF you have one or
|
These tools are NOT needed, but IF you have one or
|
||||||
more of them installed, make sure you have ALL of the following
|
more of them installed, make sure you have ALL of the following
|
||||||
with exactly these versions:
|
with exactly these versions:
|
||||||
autoconf 2.12
|
autoconf 2.13
|
||||||
automake 1.3
|
automake 1.4
|
||||||
libtool 1.2
|
libtool 1.2
|
||||||
If you have a different version, disable them by temporarily
|
If you have a different version, disable them by temporarily
|
||||||
renaming them to something else or uninstalling them from your
|
renaming them to something else or uninstalling them from your
|
||||||
@@ -116,7 +116,7 @@ might work too.
|
|||||||
- GNU xgettext
|
- GNU xgettext
|
||||||
If you want to use translated messages, you will need GNU gettext.
|
If you want to use translated messages, you will need GNU gettext.
|
||||||
Other versions of gettext are not compatible and will not work.
|
Other versions of gettext are not compatible and will not work.
|
||||||
Get the GNU version from ftp://prep.ai.mit.edu
|
Get the GNU version from ftp://ftp.gnu.org
|
||||||
|
|
||||||
Most of these can be get from ftp.uu.net/pub/graphics
|
Most of these can be get from ftp.uu.net/pub/graphics
|
||||||
|
|
||||||
@@ -135,6 +135,16 @@ support compiled in.
|
|||||||
|
|
||||||
To get a list of other options, run ./configure --help
|
To get a list of other options, run ./configure --help
|
||||||
|
|
||||||
|
--with-libs-from
|
||||||
|
specify additional paths for libraries to be searched.
|
||||||
|
The -L flag must precede each path, like:
|
||||||
|
--with-libs-from=-L/opt/libs -L/usr/local/lib
|
||||||
|
|
||||||
|
--with-incs-from
|
||||||
|
specify additional paths for header files to be searched.
|
||||||
|
The -I flag must precede each paths, like:
|
||||||
|
--with-incs-from=-I/opt/headers -I/usr/local/include
|
||||||
|
|
||||||
--enable-kanji
|
--enable-kanji
|
||||||
support to display Kanji characters, Korean, Chinese and other
|
support to display Kanji characters, Korean, Chinese and other
|
||||||
languagues that require special characters.
|
languagues that require special characters.
|
||||||
@@ -202,6 +212,11 @@ To get a list of other options, run ./configure --help
|
|||||||
|
|
||||||
PLATFORM SPECIFIC NOTES:
|
PLATFORM SPECIFIC NOTES:
|
||||||
========================
|
========================
|
||||||
|
|
||||||
|
- DEC/Alpha machines
|
||||||
|
You might need to pass the --disable-shm flag to configure, like
|
||||||
|
./configure --disable-shm
|
||||||
|
|
||||||
- SCO Unix - run configure like
|
- SCO Unix - run configure like
|
||||||
CFLAGS="-belf -DANSICPP" ./configure
|
CFLAGS="-belf -DANSICPP" ./configure
|
||||||
|
|
||||||
@@ -210,8 +225,10 @@ PLATFORM SPECIFIC NOTES:
|
|||||||
CPP_PATH="gcc -E -x c" ./configure
|
CPP_PATH="gcc -E -x c" ./configure
|
||||||
Sun's cpp lacks some features needed by Window Maker and it can
|
Sun's cpp lacks some features needed by Window Maker and it can
|
||||||
cause problems when parsing the config files.
|
cause problems when parsing the config files.
|
||||||
You also might need to use the --with-gfx-libs and --with-gfx-incs
|
You also might need to use the --with-libs-from and --with-incs-from
|
||||||
to supply the directory where libtiff is located.
|
to supply the directory where libtiff is located.
|
||||||
|
Someone mailed me that you also must make /usr/local/lib be the
|
||||||
|
first path in LD_LIBRARY_PATH to make it work.
|
||||||
|
|
||||||
If you have a Ultra Creator 3D or some other machine with high-end
|
If you have a Ultra Creator 3D or some other machine with high-end
|
||||||
graphics, be sure to start the X server with the default visual
|
graphics, be sure to start the X server with the default visual
|
||||||
@@ -221,17 +238,21 @@ PLATFORM SPECIFIC NOTES:
|
|||||||
- GNU/Linux in general
|
- GNU/Linux in general
|
||||||
Make sure you have /usr/local/lib in /etc/ld.so.conf and that you
|
Make sure you have /usr/local/lib in /etc/ld.so.conf and that you
|
||||||
run ldconfig after installing.
|
run ldconfig after installing.
|
||||||
|
Uninstall any packaged version of Window Maker before installing a new
|
||||||
|
version.
|
||||||
|
|
||||||
- RedHat GNU/Linux
|
- RedHat GNU/Linux
|
||||||
RedHat systems have several annoying problems. If you use it,
|
RedHat systems have several annoying problems. If you use it,
|
||||||
be sure to follow the steps below or Window Maker will not work:
|
be sure to follow the steps below or Window Maker will not work:
|
||||||
|
|
||||||
|
* if you installed the Window Maker that comes with RedHat, uninstall
|
||||||
|
it before upgrading;
|
||||||
|
|
||||||
* make sure you don't have the LANG and LINGUAS environment variables
|
* make sure you don't have the LANG and LINGUAS environment variables
|
||||||
set to en_RN;
|
set to en_RN;
|
||||||
|
|
||||||
* make sure you have /usr/local/bin in your PATH environment
|
* make sure you have /usr/local/bin in your PATH environment
|
||||||
variable, as for some mysterious reason the folks at RedHat did not
|
variable;
|
||||||
include it in the default configuration files in RH 5.x;
|
|
||||||
|
|
||||||
* make sure you have /usr/local/lib in /etc/ld.so.conf before running
|
* make sure you have /usr/local/lib in /etc/ld.so.conf before running
|
||||||
ldconfig;
|
ldconfig;
|
||||||
@@ -249,6 +270,15 @@ PLATFORM SPECIFIC NOTES:
|
|||||||
link from /usr/include/X11 to /usr/X11R6/include/X11 (if not,
|
link from /usr/include/X11 to /usr/X11R6/include/X11 (if not,
|
||||||
type ln -s /usr/X11R6/include/X11 /usr/include/X11 )
|
type ln -s /usr/X11R6/include/X11 /usr/include/X11 )
|
||||||
|
|
||||||
|
* make sure you have /lib/cpp pointing to the cpp program
|
||||||
|
|
||||||
|
If you have any doubts in doing any of the stuff above, please
|
||||||
|
don't exitate to contact the RedHat user support. They will
|
||||||
|
kindly answer to all your questions regarding their system.
|
||||||
|
They also know much more about their own system than us
|
||||||
|
(we don't use RedHat).
|
||||||
|
|
||||||
|
|
||||||
- PowerPC MkLinux
|
- PowerPC MkLinux
|
||||||
You will need to have the latest version of Xpmac. Older versions
|
You will need to have the latest version of Xpmac. Older versions
|
||||||
seem to have bugs that cause the system to hang.
|
seem to have bugs that cause the system to hang.
|
||||||
@@ -364,9 +394,14 @@ WPrefs.app Example:
|
|||||||
./configure --prefix=/home/jshmoe --with-appspath=/home/jshmoe/GNUstep/Apps
|
./configure --prefix=/home/jshmoe --with-appspath=/home/jshmoe/GNUstep/Apps
|
||||||
|
|
||||||
|
|
||||||
Then make /home/jshmoe/bin be included in your search path and run
|
Then make /home/jshmoe/bin be included in your search PATH, add
|
||||||
|
/home/jshmoe/lib to your LD_LIBRARY_PATH environment variable and run
|
||||||
bin/wmaker.inst
|
bin/wmaker.inst
|
||||||
|
|
||||||
|
Of course, /home/jshmoe is supposed to be replaced with your actual home
|
||||||
|
directory path.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
UPGRADING
|
UPGRADING
|
||||||
=========
|
=========
|
||||||
@@ -395,8 +430,8 @@ configure: error: libtool configure failed
|
|||||||
remove the --no-reexec option from aclocal.m4 and libPropList/aclocal.m4
|
remove the --no-reexec option from aclocal.m4 and libPropList/aclocal.m4
|
||||||
and reconfigure
|
and reconfigure
|
||||||
Also make sure the autoconf and automake versions you have installed are:
|
Also make sure the autoconf and automake versions you have installed are:
|
||||||
autoconf 2.12
|
autoconf 2.13
|
||||||
automake 1.3
|
automake 1.4
|
||||||
libtool 1.2
|
libtool 1.2
|
||||||
|
|
||||||
Note that it must not be libtool 1.2b, it must be libtool 1.2,
|
Note that it must not be libtool 1.2b, it must be libtool 1.2,
|
||||||
@@ -412,11 +447,11 @@ somewhere else in this file.
|
|||||||
|
|
||||||
Delete config.cache, then rerun configure adding the following options to
|
Delete config.cache, then rerun configure adding the following options to
|
||||||
configure (among the other options you use):
|
configure (among the other options you use):
|
||||||
--with-gfx-libs="-L/usr/local/lib"
|
--with-libs-from="-L/usr/local/lib"
|
||||||
--with-gfx-incs="-I/usr/local/include -I/usr/local/include/tiff"
|
--with-incs-from="-I/usr/local/include -I/usr/local/include/tiff"
|
||||||
Put the paths where your graphic libs and their corresponding header files are
|
Put the paths where your graphic libs and their corresponding header files are
|
||||||
located. You can put multiple paths in any of these options, as the example
|
located. You can put multiple paths in any of these options, as the example
|
||||||
of --with-gfx-incs shows. Just put a space between them.
|
of --with-incs-from shows. Just put a space between them.
|
||||||
|
|
||||||
|
|
||||||
== configure doesn't detect libXpm.
|
== configure doesn't detect libXpm.
|
||||||
|
|||||||
11
Install
11
Install
@@ -42,6 +42,11 @@ echo
|
|||||||
echo "Please read the INSTALL and FAQ files before e-mailing "
|
echo "Please read the INSTALL and FAQ files before e-mailing "
|
||||||
echo "questions. (we are lazy to reply questions already answered "
|
echo "questions. (we are lazy to reply questions already answered "
|
||||||
echo "there as much as you are lazy to read these ;) "
|
echo "there as much as you are lazy to read these ;) "
|
||||||
|
echo
|
||||||
|
perai
|
||||||
|
echo
|
||||||
|
echo "Did you install libPropList? If not, please install it now."
|
||||||
|
echo
|
||||||
perai
|
perai
|
||||||
echo "Did you read the INSTALL file?"
|
echo "Did you read the INSTALL file?"
|
||||||
echo -n "<y/n> "
|
echo -n "<y/n> "
|
||||||
@@ -170,7 +175,7 @@ if [ "$NLS" = "y" -o "$NLS" = "Y" ]; then
|
|||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$MB" = "" -a "$i" = "ja" -o "$i" = "kr" ]; then
|
if [ "$MB" = "" -a "$i" = "ja" -o "$i" = "ko" ]; then
|
||||||
echo
|
echo
|
||||||
echo "A language you selected needs multi-byte character support"
|
echo "A language you selected needs multi-byte character support"
|
||||||
echo "Do you want to enable it?"
|
echo "Do you want to enable it?"
|
||||||
@@ -217,8 +222,6 @@ while [ $done = 0 ]; do
|
|||||||
echo
|
echo
|
||||||
echo " $PREFIX/bin must be in the PATH environment variable"
|
echo " $PREFIX/bin must be in the PATH environment variable"
|
||||||
echo "of all users who will use Window Maker"
|
echo "of all users who will use Window Maker"
|
||||||
echo
|
|
||||||
echo " Make sure $PREFIX/lib is in the /etc/ld.so.conf file"
|
|
||||||
perai
|
perai
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -259,6 +262,8 @@ echo "--------------------------"
|
|||||||
perform make install
|
perform make install
|
||||||
|
|
||||||
if [ `uname -s` = "Linux" ]; then
|
if [ `uname -s` = "Linux" ]; then
|
||||||
|
echo
|
||||||
|
echo " Make sure $PREFIX/lib is in the /etc/ld.so.conf file"
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
8
MIRRORS
8
MIRRORS
@@ -57,12 +57,20 @@ http://master.debian.org/~mmagallo/packages/wmaker/
|
|||||||
RedHat GNU/Linux (RPM)
|
RedHat GNU/Linux (RPM)
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
|
For Intel:
|
||||||
|
|
||||||
Contact: Jim Knoble <jmknoble@pobox.com>
|
Contact: Jim Knoble <jmknoble@pobox.com>
|
||||||
Sites:
|
Sites:
|
||||||
ftp://ftp.windowmaker.org/pub/beta/compiled/linux/rpms/
|
ftp://ftp.windowmaker.org/pub/beta/compiled/linux/rpms/
|
||||||
ftp://ftp.redhat.com/pub/contrib/SRPMS/
|
ftp://ftp.redhat.com/pub/contrib/SRPMS/
|
||||||
ftp://ftp.redhat.com/pub/contrib/i386/
|
ftp://ftp.redhat.com/pub/contrib/i386/
|
||||||
|
|
||||||
|
For Alpha:
|
||||||
|
|
||||||
|
Contact: Peter Petrakis <peterpan@wn.net>
|
||||||
|
Site:
|
||||||
|
http://math.stcc.mass.edu/petrakis/downloads/X11
|
||||||
|
|
||||||
|
|
||||||
HP-UX
|
HP-UX
|
||||||
-----
|
-----
|
||||||
|
|||||||
18
Makefile.am
18
Makefile.am
@@ -2,15 +2,23 @@
|
|||||||
|
|
||||||
SUBDIRS = wrlib WINGs src util po WindowMaker wmlib test WPrefs.app doc
|
SUBDIRS = wrlib WINGs src util po WindowMaker wmlib test WPrefs.app doc
|
||||||
|
|
||||||
EXTRA_DIST = TODO BUGS BUGFORM FAQ FAQ.I18N MIRRORS Install acconfig.h\
|
EXTRA_DIST = TODO BUGS BUGFORM FAQ FAQ.I18N MIRRORS COPYING.OPL \
|
||||||
|
Install acconfig.h\
|
||||||
mkpatch README.KDE README.GNOME WindowMaker.lsm.in\
|
mkpatch README.KDE README.GNOME WindowMaker.lsm.in\
|
||||||
docklib-0.0.tar.gz
|
docklib-0.2.tar.gz
|
||||||
|
|
||||||
|
WindowMaker.lsm: WindowMaker.lsm.in
|
||||||
windowmaker.lsm:
|
|
||||||
size=`wc -c $(distdir).tar.gz|cut -d\ -f1`;\
|
size=`wc -c $(distdir).tar.gz|cut -d\ -f1`;\
|
||||||
size=`echo scale=2\;$$size/1048576|bc`;\
|
size=`echo scale=2\;$$size/1048576|bc`;\
|
||||||
sed -e "s/VERSION/"$(VERSION)"/" \
|
sed -e "s/VERSION/"$(VERSION)"/" \
|
||||||
-e "s/DATE/`date +%d%b%Y|tr a-z A-Z`/"\
|
-e "s/DATE/`date +%d%b%Y|tr a-z A-Z`/"\
|
||||||
-e "s/SIZE/$$size M/"\
|
-e "s/SIZE/$$size M/"\
|
||||||
WindowMaker.lsm.in > WindowMaker.lsm
|
WindowMaker.lsm.in > WindowMaker-$(VERSION).lsm
|
||||||
|
|
||||||
|
dist-hook:
|
||||||
|
touch `find -name configure.in -print`
|
||||||
|
touch `find -name aclocal.m4 -print`
|
||||||
|
touch `find -name Makefile.am -print`
|
||||||
|
touch `find -name Makefile.in -print`
|
||||||
|
touch `find -name configure -print`
|
||||||
|
|
||||||
|
|||||||
24
Makefile.in
24
Makefile.in
@@ -62,13 +62,13 @@ host_triplet = @host@
|
|||||||
CC = @CC@
|
CC = @CC@
|
||||||
CPP_PATH = @CPP_PATH@
|
CPP_PATH = @CPP_PATH@
|
||||||
DFLAGS = @DFLAGS@
|
DFLAGS = @DFLAGS@
|
||||||
GFXFLAGS = @GFXFLAGS@
|
|
||||||
GFXLFLAGS = @GFXLFLAGS@
|
|
||||||
GFXLIBS = @GFXLIBS@
|
GFXLIBS = @GFXLIBS@
|
||||||
|
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
|
||||||
ICONEXT = @ICONEXT@
|
ICONEXT = @ICONEXT@
|
||||||
INTLIBS = @INTLIBS@
|
INTLIBS = @INTLIBS@
|
||||||
LD = @LD@
|
LD = @LD@
|
||||||
LIBPL = @LIBPL@
|
LIBPL = @LIBPL@
|
||||||
|
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LITE = @LITE@
|
LITE = @LITE@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
@@ -89,15 +89,15 @@ wprefsdir = @wprefsdir@
|
|||||||
|
|
||||||
SUBDIRS = wrlib WINGs src util po WindowMaker wmlib test WPrefs.app doc
|
SUBDIRS = wrlib WINGs src util po WindowMaker wmlib test WPrefs.app doc
|
||||||
|
|
||||||
EXTRA_DIST = TODO BUGS BUGFORM FAQ FAQ.I18N MIRRORS Install acconfig.h mkpatch README.KDE README.GNOME WindowMaker.lsm.in docklib-0.0.tar.gz
|
EXTRA_DIST = TODO BUGS BUGFORM FAQ FAQ.I18N MIRRORS COPYING.OPL Install acconfig.h mkpatch README.KDE README.GNOME WindowMaker.lsm.in docklib-0.2.tar.gz
|
||||||
|
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||||
CONFIG_HEADER = ./src/config.h
|
CONFIG_HEADER = ./src/config.h
|
||||||
CONFIG_CLEAN_FILES =
|
CONFIG_CLEAN_FILES =
|
||||||
DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
|
DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
|
||||||
Makefile.in NEWS TODO acconfig.h aclocal.m4 config.guess config.sub \
|
Makefile.in NEWS TODO acconfig.h acinclude.m4 aclocal.m4 config.guess \
|
||||||
configure configure.in install-sh ltconfig ltmain.sh missing \
|
config.sub configure configure.in install-sh ltconfig ltmain.sh missing \
|
||||||
mkinstalldirs src/config.h.in src/stamp-h.in
|
mkinstalldirs src/config.h.in src/stamp-h.in
|
||||||
|
|
||||||
|
|
||||||
@@ -114,7 +114,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|||||||
cd $(top_builddir) \
|
cd $(top_builddir) \
|
||||||
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||||
|
|
||||||
$(ACLOCAL_M4): configure.in
|
$(ACLOCAL_M4): configure.in acinclude.m4
|
||||||
cd $(srcdir) && $(ACLOCAL)
|
cd $(srcdir) && $(ACLOCAL)
|
||||||
|
|
||||||
config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||||
@@ -297,6 +297,7 @@ distdir: $(DISTFILES)
|
|||||||
|| exit 1; \
|
|| exit 1; \
|
||||||
fi; \
|
fi; \
|
||||||
done
|
done
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook
|
||||||
info-am:
|
info-am:
|
||||||
info: info-recursive
|
info: info-recursive
|
||||||
dvi-am:
|
dvi-am:
|
||||||
@@ -369,13 +370,20 @@ installdirs mostlyclean-generic distclean-generic clean-generic \
|
|||||||
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||||
|
|
||||||
|
|
||||||
windowmaker.lsm:
|
WindowMaker.lsm: WindowMaker.lsm.in
|
||||||
size=`wc -c $(distdir).tar.gz|cut -d\ -f1`;\
|
size=`wc -c $(distdir).tar.gz|cut -d\ -f1`;\
|
||||||
size=`echo scale=2\;$$size/1048576|bc`;\
|
size=`echo scale=2\;$$size/1048576|bc`;\
|
||||||
sed -e "s/VERSION/"$(VERSION)"/" \
|
sed -e "s/VERSION/"$(VERSION)"/" \
|
||||||
-e "s/DATE/`date +%d%b%Y|tr a-z A-Z`/"\
|
-e "s/DATE/`date +%d%b%Y|tr a-z A-Z`/"\
|
||||||
-e "s/SIZE/$$size M/"\
|
-e "s/SIZE/$$size M/"\
|
||||||
WindowMaker.lsm.in > WindowMaker.lsm
|
WindowMaker.lsm.in > WindowMaker-$(VERSION).lsm
|
||||||
|
|
||||||
|
dist-hook:
|
||||||
|
touch `find -name configure.in -print`
|
||||||
|
touch `find -name aclocal.m4 -print`
|
||||||
|
touch `find -name Makefile.am -print`
|
||||||
|
touch `find -name Makefile.in -print`
|
||||||
|
touch `find -name configure -print`
|
||||||
|
|
||||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
# 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.
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
|||||||
28
NEWS
28
NEWS
@@ -3,6 +3,34 @@ NEWS for veteran Window Maker users
|
|||||||
-----------------------------------
|
-----------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
--- 0.51.1
|
||||||
|
|
||||||
|
KDE Application Menu script
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
wkdemenu.sh is a converter from KDE application menu structures to wmaker
|
||||||
|
menu that can be used as a piped menu. Look wkdemenu.sh for how to use it.
|
||||||
|
|
||||||
|
|
||||||
|
Window Edge Resistance
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
Window edge resistance was now added. No, feature freeze hasn't been
|
||||||
|
removed. Its just part of the edge resistance rewrite ;)
|
||||||
|
|
||||||
|
|
||||||
|
New Theme
|
||||||
|
---------
|
||||||
|
|
||||||
|
Added SteelBlueSilk theme
|
||||||
|
|
||||||
|
Installation Path Changes
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
Default configuration data installed in /usr/local/etc/WindowMaker
|
||||||
|
or $(sysconfdir)/WindowMaker
|
||||||
|
|
||||||
|
|
||||||
--- 0.51.0
|
--- 0.51.0
|
||||||
|
|
||||||
Window Maker has become a GNU program (part of the GNU Project).
|
Window Maker has become a GNU program (part of the GNU Project).
|
||||||
|
|||||||
21
README
21
README
@@ -1,9 +1,8 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
GNU Window Maker
|
GNU Window Maker
|
||||||
X11 Window Manager
|
X11 Window Manager
|
||||||
|
|
||||||
|
|
||||||
<http://windowmaker.org>
|
<http://windowmaker.org>
|
||||||
<ftp://ftp.windowmaker.org>
|
<ftp://ftp.windowmaker.org>
|
||||||
@@ -49,8 +48,8 @@ supposed to be relatively fast and small, feature rich, easy to configure and
|
|||||||
easy to use, with a simple and elegant appearance borrowed from NEXTSTEP(tm).
|
easy to use, with a simple and elegant appearance borrowed from NEXTSTEP(tm).
|
||||||
|
|
||||||
Window Maker was designed keeping integration with GNUstep in mind and is the
|
Window Maker was designed keeping integration with GNUstep in mind and is the
|
||||||
"official" window manager for it. It is also, the window manager for the
|
"official" window manager for it. It is also part of the GNU project
|
||||||
GNU Project. Read more about GNUstep further on this file.
|
(www.gnu.org) Read more about GNUstep further on this file.
|
||||||
|
|
||||||
Hints (information given by applications to integrate well with the window
|
Hints (information given by applications to integrate well with the window
|
||||||
manager) for Motif(tm), OPEN LOOK(tm), KDE and GNOME are also supported.
|
manager) for Motif(tm), OPEN LOOK(tm), KDE and GNOME are also supported.
|
||||||
@@ -138,9 +137,9 @@ Mailing List
|
|||||||
============
|
============
|
||||||
|
|
||||||
There is a mailing list for discussing Window Maker at
|
There is a mailing list for discussing Window Maker at
|
||||||
wmaker@linuxcenter.com To subscribe to it, send a message containing:
|
wm-user@windowmaker.org To subscribe to it, send a message containing:
|
||||||
subscribe
|
subscribe
|
||||||
in the body of the message to wmaker-request@linuxcenter.com
|
in the subject of the message to wm-user-request@windowmaker.org
|
||||||
|
|
||||||
If you got a problem, ask there (after reading the docs, of course). The
|
If you got a problem, ask there (after reading the docs, of course). The
|
||||||
people there is more likely to be able to answer your questions than we are.
|
people there is more likely to be able to answer your questions than we are.
|
||||||
@@ -210,8 +209,8 @@ To enable, use --enable-openlook when doing the configure. Note that
|
|||||||
not everything is implemented.
|
not everything is implemented.
|
||||||
|
|
||||||
Implemented stuff include decoration hints and the push-pin. Not implemented
|
Implemented stuff include decoration hints and the push-pin. Not implemented
|
||||||
stuff include _SUN_WINDOW_STATE (the compose led state stuff), header (not
|
stuff include _SUN_WINDOW_STATE (the compose led state stuff), drag and drop
|
||||||
sure what's it) and footer strings.
|
interest stuff, header (not sure what's it) and footer strings.
|
||||||
|
|
||||||
Please give me feedback if something doesn't work. If the feature is
|
Please give me feedback if something doesn't work. If the feature is
|
||||||
already implemented, but is not working because of a bug, I'll try to
|
already implemented, but is not working because of a bug, I'll try to
|
||||||
@@ -328,6 +327,10 @@ Copyrights & Disclaimers
|
|||||||
Window Maker is copyrighted by Alfredo K. Kojima and is licensed through the
|
Window Maker is copyrighted by Alfredo K. Kojima and is licensed through the
|
||||||
GNU General Public License. Read the COPYING file for the complete license.
|
GNU General Public License. Read the COPYING file for the complete license.
|
||||||
|
|
||||||
|
The icons that are distributed with this program and were made by Marco van
|
||||||
|
Hylckama Vlieg are licensed through the OpenContent License. Read the
|
||||||
|
COPYING.OPL file for the complete license.
|
||||||
|
|
||||||
NeXT, OpenStep and NEXTSTEP are a trademarks of NeXT Computer, Inc.
|
NeXT, OpenStep and NEXTSTEP are a trademarks of NeXT Computer, Inc.
|
||||||
All other trademarks are property of their respective owners.
|
All other trademarks are property of their respective owners.
|
||||||
|
|
||||||
|
|||||||
10
README.KDE
10
README.KDE
@@ -86,9 +86,11 @@ Enhancing Integration
|
|||||||
|
|
||||||
Window Maker adds some extensions to KDE's messaging stuff, so you can run
|
Window Maker adds some extensions to KDE's messaging stuff, so you can run
|
||||||
Window Maker specific commands from places like kpanel, krootwm or even
|
Window Maker specific commands from places like kpanel, krootwm or even
|
||||||
kwmcom. If you want support for these in KDE, please go nag your favorite KDE
|
kwmcom. Recently KDE developers have kindly added support for these extensions
|
||||||
developers, not us. The added stuff are the following kwm like commands:
|
in the more recent KDE versions from CVS. The added stuff are the following
|
||||||
|
kwm like commands:
|
||||||
|
|
||||||
|
wm:wmaker - select Window Maker support mode
|
||||||
wmaker:info - show info panel
|
wmaker:info - show info panel
|
||||||
wmaker:legal - show legal panel
|
wmaker:legal - show legal panel
|
||||||
wmaker:arrangeIcons - arrange icons
|
wmaker:arrangeIcons - arrange icons
|
||||||
@@ -124,3 +126,7 @@ windows present, restart them.
|
|||||||
* Wmaker opens windows by default under/over the panel, when the panel is
|
* Wmaker opens windows by default under/over the panel, when the panel is
|
||||||
at top or left of screen. Use the GUI configuration tool WPrefs to change
|
at top or left of screen. Use the GUI configuration tool WPrefs to change
|
||||||
this.
|
this.
|
||||||
|
|
||||||
|
* Some commands, such as cascade windows and rearrange windows are not
|
||||||
|
yet implemented.
|
||||||
|
|
||||||
|
|||||||
2
TODO
2
TODO
@@ -13,7 +13,7 @@ Do ASAP:
|
|||||||
Need to do:
|
Need to do:
|
||||||
===========
|
===========
|
||||||
- allow user to select/restore default root menu from wprefs
|
- allow user to select/restore default root menu from wprefs
|
||||||
- fix and include the windoze cycle window patch
|
- fix windoze cycle window patch
|
||||||
- support for X11R6.4 extension for getting extra visual info in wrlib's
|
- support for X11R6.4 extension for getting extra visual info in wrlib's
|
||||||
automatic best context guessing
|
automatic best context guessing
|
||||||
- docklet to control AccessX (keyboard accessibility) functions
|
- docklet to control AccessX (keyboard accessibility) functions
|
||||||
|
|||||||
@@ -1,3 +1,18 @@
|
|||||||
|
changes since wmaker 0.51.0:
|
||||||
|
............................
|
||||||
|
|
||||||
|
- applied c++ compat header patch from Martynas Kunigelis <mkunigelis@alna.lt>
|
||||||
|
- added WMSetTextFieldBeveled()
|
||||||
|
|
||||||
|
changes since wmaker 0.50.1:
|
||||||
|
............................
|
||||||
|
|
||||||
|
- fixed various bugs
|
||||||
|
- added patch from Franck Wolff <frawolff@club-internet.fr>, with
|
||||||
|
many fixes and enhancements
|
||||||
|
- added notification queues, asynchronous notifications etc.
|
||||||
|
- added WMSetBrowserDoubleAction()
|
||||||
|
- fixed list double click action
|
||||||
|
|
||||||
changes since wmaker 0.50.2:
|
changes since wmaker 0.50.2:
|
||||||
............................
|
............................
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ SUBDIRS = Resources
|
|||||||
|
|
||||||
|
|
||||||
LIBLIST= $(top_builddir)/wrlib/libwraster.la\
|
LIBLIST= $(top_builddir)/wrlib/libwraster.la\
|
||||||
@GFXLFLAGS@ @XLFLAGS@ @GFXLIBS@ @XLIBS@ \
|
@LIBRARY_SEARCH_PATH@ @GFXLIBS@ @XLIBS@ \
|
||||||
-lm @LIBPL@
|
-lm @LIBPL@
|
||||||
|
|
||||||
|
|
||||||
@@ -18,7 +18,8 @@ lib_LIBRARIES = libWINGs.a
|
|||||||
|
|
||||||
include_HEADERS = WINGs.h WUtil.h WINGsP.h
|
include_HEADERS = WINGs.h WUtil.h WINGsP.h
|
||||||
|
|
||||||
noinst_PROGRAMS = wtest wmquery wmfile fontl testmywidget testcolorpanel
|
noinst_PROGRAMS = wtest wmquery wmfile fontl testmywidget testcolorpanel \
|
||||||
|
testnot
|
||||||
|
|
||||||
testmywidget_SOURCES = testmywidget.c mywidget.c mywidget.h
|
testmywidget_SOURCES = testmywidget.c mywidget.c mywidget.h
|
||||||
|
|
||||||
@@ -42,6 +43,10 @@ testcolorpanel_SOURCES = testcolorpanel.c
|
|||||||
|
|
||||||
testcolorpanel_LDADD = libWINGs.a $(LIBLIST)
|
testcolorpanel_LDADD = libWINGs.a $(LIBLIST)
|
||||||
|
|
||||||
|
testnot_SOURCES = testnot.c
|
||||||
|
|
||||||
|
testnot_LDADD = libWINGs.a $(LIBLIST)
|
||||||
|
|
||||||
|
|
||||||
wmquery_SOURCES = wmquery.c
|
wmquery_SOURCES = wmquery.c
|
||||||
|
|
||||||
@@ -55,6 +60,8 @@ libWINGs_a_SOURCES = \
|
|||||||
WINGs.h \
|
WINGs.h \
|
||||||
WINGsP.h \
|
WINGsP.h \
|
||||||
configuration.c \
|
configuration.c \
|
||||||
|
llist.h \
|
||||||
|
llist.c \
|
||||||
international.c \
|
international.c \
|
||||||
notification.c \
|
notification.c \
|
||||||
selection.c \
|
selection.c \
|
||||||
@@ -90,11 +97,7 @@ libWINGs_a_SOURCES = \
|
|||||||
memory.c \
|
memory.c \
|
||||||
usleep.c
|
usleep.c
|
||||||
|
|
||||||
##
|
|
||||||
## Find a better way than $(GFXFLAGS) to inform widgets.c wich of
|
|
||||||
## tiff or xpm images should be used
|
|
||||||
|
|
||||||
INCLUDES = -I$(top_srcdir)/wrlib -I$(top_srcdir)/src \
|
INCLUDES = -I$(top_srcdir)/wrlib -I$(top_srcdir)/src \
|
||||||
-DRESOURCE_PATH=\"$(datadir)/WINGs\" $(GFXFLAGS) -DDEBUG \
|
-DRESOURCE_PATH=\"$(datadir)/WINGs\" @HEADER_SEARCH_PATH@ -DDEBUG
|
||||||
@XCFLAGS@
|
|
||||||
|
|
||||||
|
|||||||
@@ -62,13 +62,13 @@ host_triplet = @host@
|
|||||||
CC = @CC@
|
CC = @CC@
|
||||||
CPP_PATH = @CPP_PATH@
|
CPP_PATH = @CPP_PATH@
|
||||||
DFLAGS = @DFLAGS@
|
DFLAGS = @DFLAGS@
|
||||||
GFXFLAGS = @GFXFLAGS@
|
|
||||||
GFXLFLAGS = @GFXLFLAGS@
|
|
||||||
GFXLIBS = @GFXLIBS@
|
GFXLIBS = @GFXLIBS@
|
||||||
|
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
|
||||||
ICONEXT = @ICONEXT@
|
ICONEXT = @ICONEXT@
|
||||||
INTLIBS = @INTLIBS@
|
INTLIBS = @INTLIBS@
|
||||||
LD = @LD@
|
LD = @LD@
|
||||||
LIBPL = @LIBPL@
|
LIBPL = @LIBPL@
|
||||||
|
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LITE = @LITE@
|
LITE = @LITE@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
@@ -91,7 +91,7 @@ AUTOMAKE_OPTIONS = no-dependencies
|
|||||||
|
|
||||||
SUBDIRS = Resources
|
SUBDIRS = Resources
|
||||||
|
|
||||||
LIBLIST = $(top_builddir)/wrlib/libwraster.la @GFXLFLAGS@ @XLFLAGS@ @GFXLIBS@ @XLIBS@ -lm @LIBPL@
|
LIBLIST = $(top_builddir)/wrlib/libwraster.la @LIBRARY_SEARCH_PATH@ @GFXLIBS@ @XLIBS@ -lm @LIBPL@
|
||||||
|
|
||||||
|
|
||||||
#lib_LTLIBRARIES = libWINGs.la
|
#lib_LTLIBRARIES = libWINGs.la
|
||||||
@@ -102,7 +102,8 @@ lib_LIBRARIES = libWINGs.a
|
|||||||
|
|
||||||
include_HEADERS = WINGs.h WUtil.h WINGsP.h
|
include_HEADERS = WINGs.h WUtil.h WINGsP.h
|
||||||
|
|
||||||
noinst_PROGRAMS = wtest wmquery wmfile fontl testmywidget testcolorpanel
|
noinst_PROGRAMS = wtest wmquery wmfile fontl testmywidget testcolorpanel testnot
|
||||||
|
|
||||||
|
|
||||||
testmywidget_SOURCES = testmywidget.c mywidget.c mywidget.h
|
testmywidget_SOURCES = testmywidget.c mywidget.c mywidget.h
|
||||||
|
|
||||||
@@ -126,6 +127,10 @@ testcolorpanel_SOURCES = testcolorpanel.c
|
|||||||
|
|
||||||
testcolorpanel_LDADD = libWINGs.a $(LIBLIST)
|
testcolorpanel_LDADD = libWINGs.a $(LIBLIST)
|
||||||
|
|
||||||
|
testnot_SOURCES = testnot.c
|
||||||
|
|
||||||
|
testnot_LDADD = libWINGs.a $(LIBLIST)
|
||||||
|
|
||||||
wmquery_SOURCES = wmquery.c
|
wmquery_SOURCES = wmquery.c
|
||||||
|
|
||||||
wmquery_LDADD = libWINGs.a $(LIBLIST)
|
wmquery_LDADD = libWINGs.a $(LIBLIST)
|
||||||
@@ -133,10 +138,10 @@ wmquery_LDADD = libWINGs.a $(LIBLIST)
|
|||||||
EXTRA_DIST = logo.xpm
|
EXTRA_DIST = logo.xpm
|
||||||
|
|
||||||
# wbutton.c
|
# wbutton.c
|
||||||
libWINGs_a_SOURCES = WINGs.h WINGsP.h configuration.c international.c notification.c selection.c userdefaults.c wapplication.c wbrowser.c wbutton.c wcolor.c wcolorpanel.c wcolorwell.c wevent.c wfilepanel.c wframe.c wfont.c wfontpanel.c widgets.c wlabel.c wlist.c wmisc.c wpanel.c wpixmap.c wpopupbutton.c wscroller.c wscrollview.c wslider.c wsplitview.c wtextfield.c wwindow.c wview.c error.c findfile.c hashtable.c memory.c usleep.c
|
libWINGs_a_SOURCES = WINGs.h WINGsP.h configuration.c llist.h llist.c international.c notification.c selection.c userdefaults.c wapplication.c wbrowser.c wbutton.c wcolor.c wcolorpanel.c wcolorwell.c wevent.c wfilepanel.c wframe.c wfont.c wfontpanel.c widgets.c wlabel.c wlist.c wmisc.c wpanel.c wpixmap.c wpopupbutton.c wscroller.c wscrollview.c wslider.c wsplitview.c wtextfield.c wwindow.c wview.c error.c findfile.c hashtable.c memory.c usleep.c
|
||||||
|
|
||||||
|
|
||||||
INCLUDES = -I$(top_srcdir)/wrlib -I$(top_srcdir)/src -DRESOURCE_PATH=\"$(datadir)/WINGs\" $(GFXFLAGS) -DDEBUG @XCFLAGS@
|
INCLUDES = -I$(top_srcdir)/wrlib -I$(top_srcdir)/src -DRESOURCE_PATH=\"$(datadir)/WINGs\" @HEADER_SEARCH_PATH@ -DDEBUG
|
||||||
|
|
||||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||||
CONFIG_HEADER = ../src/config.h
|
CONFIG_HEADER = ../src/config.h
|
||||||
@@ -152,13 +157,13 @@ X_CFLAGS = @X_CFLAGS@
|
|||||||
X_LIBS = @X_LIBS@
|
X_LIBS = @X_LIBS@
|
||||||
X_PRE_LIBS = @X_PRE_LIBS@
|
X_PRE_LIBS = @X_PRE_LIBS@
|
||||||
libWINGs_a_LIBADD =
|
libWINGs_a_LIBADD =
|
||||||
libWINGs_a_OBJECTS = configuration.o international.o notification.o \
|
libWINGs_a_OBJECTS = configuration.o llist.o international.o \
|
||||||
selection.o userdefaults.o wapplication.o wbrowser.o wbutton.o wcolor.o \
|
notification.o selection.o userdefaults.o wapplication.o wbrowser.o \
|
||||||
wcolorpanel.o wcolorwell.o wevent.o wfilepanel.o wframe.o wfont.o \
|
wbutton.o wcolor.o wcolorpanel.o wcolorwell.o wevent.o wfilepanel.o \
|
||||||
wfontpanel.o widgets.o wlabel.o wlist.o wmisc.o wpanel.o wpixmap.o \
|
wframe.o wfont.o wfontpanel.o widgets.o wlabel.o wlist.o wmisc.o \
|
||||||
wpopupbutton.o wscroller.o wscrollview.o wslider.o wsplitview.o \
|
wpanel.o wpixmap.o wpopupbutton.o wscroller.o wscrollview.o wslider.o \
|
||||||
wtextfield.o wwindow.o wview.o error.o findfile.o hashtable.o memory.o \
|
wsplitview.o wtextfield.o wwindow.o wview.o error.o findfile.o \
|
||||||
usleep.o
|
hashtable.o memory.o usleep.o
|
||||||
AR = ar
|
AR = ar
|
||||||
PROGRAMS = $(noinst_PROGRAMS)
|
PROGRAMS = $(noinst_PROGRAMS)
|
||||||
|
|
||||||
@@ -181,6 +186,9 @@ testcolorpanel_OBJECTS = testcolorpanel.o
|
|||||||
testcolorpanel_DEPENDENCIES = libWINGs.a \
|
testcolorpanel_DEPENDENCIES = libWINGs.a \
|
||||||
$(top_builddir)/wrlib/libwraster.la
|
$(top_builddir)/wrlib/libwraster.la
|
||||||
testcolorpanel_LDFLAGS =
|
testcolorpanel_LDFLAGS =
|
||||||
|
testnot_OBJECTS = testnot.o
|
||||||
|
testnot_DEPENDENCIES = libWINGs.a $(top_builddir)/wrlib/libwraster.la
|
||||||
|
testnot_LDFLAGS =
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@
|
||||||
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||||
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||||
@@ -195,8 +203,8 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
|||||||
|
|
||||||
TAR = tar
|
TAR = tar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
SOURCES = $(libWINGs_a_SOURCES) $(wtest_SOURCES) $(wmquery_SOURCES) $(wmfile_SOURCES) $(fontl_SOURCES) $(testmywidget_SOURCES) $(testcolorpanel_SOURCES)
|
SOURCES = $(libWINGs_a_SOURCES) $(wtest_SOURCES) $(wmquery_SOURCES) $(wmfile_SOURCES) $(fontl_SOURCES) $(testmywidget_SOURCES) $(testcolorpanel_SOURCES) $(testnot_SOURCES)
|
||||||
OBJECTS = $(libWINGs_a_OBJECTS) $(wtest_OBJECTS) $(wmquery_OBJECTS) $(wmfile_OBJECTS) $(fontl_OBJECTS) $(testmywidget_OBJECTS) $(testcolorpanel_OBJECTS)
|
OBJECTS = $(libWINGs_a_OBJECTS) $(wtest_OBJECTS) $(wmquery_OBJECTS) $(wmfile_OBJECTS) $(fontl_OBJECTS) $(testmywidget_OBJECTS) $(testcolorpanel_OBJECTS) $(testnot_OBJECTS)
|
||||||
|
|
||||||
all: all-redirect
|
all: all-redirect
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
@@ -317,6 +325,10 @@ testcolorpanel: $(testcolorpanel_OBJECTS) $(testcolorpanel_DEPENDENCIES)
|
|||||||
@rm -f testcolorpanel
|
@rm -f testcolorpanel
|
||||||
$(LINK) $(testcolorpanel_LDFLAGS) $(testcolorpanel_OBJECTS) $(testcolorpanel_LDADD) $(LIBS)
|
$(LINK) $(testcolorpanel_LDFLAGS) $(testcolorpanel_OBJECTS) $(testcolorpanel_LDADD) $(LIBS)
|
||||||
|
|
||||||
|
testnot: $(testnot_OBJECTS) $(testnot_DEPENDENCIES)
|
||||||
|
@rm -f testnot
|
||||||
|
$(LINK) $(testnot_LDFLAGS) $(testnot_OBJECTS) $(testnot_LDADD) $(LIBS)
|
||||||
|
|
||||||
install-includeHEADERS: $(include_HEADERS)
|
install-includeHEADERS: $(include_HEADERS)
|
||||||
@$(NORMAL_INSTALL)
|
@$(NORMAL_INSTALL)
|
||||||
$(mkinstalldirs) $(DESTDIR)$(includedir)
|
$(mkinstalldirs) $(DESTDIR)$(includedir)
|
||||||
|
|||||||
@@ -62,13 +62,13 @@ host_triplet = @host@
|
|||||||
CC = @CC@
|
CC = @CC@
|
||||||
CPP_PATH = @CPP_PATH@
|
CPP_PATH = @CPP_PATH@
|
||||||
DFLAGS = @DFLAGS@
|
DFLAGS = @DFLAGS@
|
||||||
GFXFLAGS = @GFXFLAGS@
|
|
||||||
GFXLFLAGS = @GFXLFLAGS@
|
|
||||||
GFXLIBS = @GFXLIBS@
|
GFXLIBS = @GFXLIBS@
|
||||||
|
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
|
||||||
ICONEXT = @ICONEXT@
|
ICONEXT = @ICONEXT@
|
||||||
INTLIBS = @INTLIBS@
|
INTLIBS = @INTLIBS@
|
||||||
LD = @LD@
|
LD = @LD@
|
||||||
LIBPL = @LIBPL@
|
LIBPL = @LIBPL@
|
||||||
|
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LITE = @LITE@
|
LITE = @LITE@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
|
|||||||
@@ -9,8 +9,12 @@
|
|||||||
#define WINGS_H_VERSION 981220
|
#define WINGS_H_VERSION 981220
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
#if 0
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
typedef unsigned long WMPixel;
|
typedef unsigned long WMPixel;
|
||||||
@@ -768,6 +772,10 @@ void WMSetTextFieldAlignment(WMTextField *tPtr, WMAlignment alignment);
|
|||||||
|
|
||||||
void WMSetTextFieldBordered(WMTextField *tPtr, Bool bordered);
|
void WMSetTextFieldBordered(WMTextField *tPtr, Bool bordered);
|
||||||
|
|
||||||
|
void WMSetTextFieldBeveled(WMTextField *tPtr, Bool flag);
|
||||||
|
|
||||||
|
Bool WMGetTextFieldEnabled(WMTextField *tPtr);
|
||||||
|
|
||||||
void WMSetTextFieldEnabled(WMTextField *tPtr, Bool flag);
|
void WMSetTextFieldEnabled(WMTextField *tPtr, Bool flag);
|
||||||
|
|
||||||
void WMSetTextFieldSecure(WMTextField *tPtr, Bool flag);
|
void WMSetTextFieldSecure(WMTextField *tPtr, Bool flag);
|
||||||
@@ -776,8 +784,11 @@ void WMSelectTextFieldRange(WMTextField *tPtr, WMRange range);
|
|||||||
|
|
||||||
void WMSetTextFieldCursorPosition(WMTextField *tPtr, unsigned int position);
|
void WMSetTextFieldCursorPosition(WMTextField *tPtr, unsigned int position);
|
||||||
|
|
||||||
|
void WMSetTextFieldNextTextField(WMTextField *tPtr, WMTextField *next);
|
||||||
|
|
||||||
|
void WMSetTextFieldPrevTextField(WMTextField *tPtr, WMTextField *prev);
|
||||||
|
|
||||||
|
|
||||||
extern char *WMListDidScrollNotification;
|
|
||||||
extern char *WMTextDidChangeNotification;
|
extern char *WMTextDidChangeNotification;
|
||||||
extern char *WMTextDidBeginEditingNotification;
|
extern char *WMTextDidBeginEditingNotification;
|
||||||
extern char *WMTextDidEndEditingNotification;
|
extern char *WMTextDidEndEditingNotification;
|
||||||
@@ -844,6 +855,7 @@ void WMSetListBottomPosition(WMList *lPtr, int row);
|
|||||||
int WMGetListPosition(WMList *lPtr);
|
int WMGetListPosition(WMList *lPtr);
|
||||||
|
|
||||||
extern char *WMListDidScrollNotification;
|
extern char *WMListDidScrollNotification;
|
||||||
|
extern char *WMListSelectionDidChangeNotification;
|
||||||
|
|
||||||
/* ....................................................................... */
|
/* ....................................................................... */
|
||||||
|
|
||||||
@@ -867,7 +879,8 @@ WMListItem *WMAddSortedBrowserItem(WMBrowser *bPtr, int column, char *text, Bool
|
|||||||
|
|
||||||
WMListItem *WMInsertBrowserItem(WMBrowser *bPtr, int column, int row, char *text, Bool isBranch);
|
WMListItem *WMInsertBrowserItem(WMBrowser *bPtr, int column, int row, char *text, Bool isBranch);
|
||||||
|
|
||||||
Bool WMSetBrowserPath(WMBrowser *bPtr, char *path);
|
/* Don't free the returned string. */
|
||||||
|
char* WMSetBrowserPath(WMBrowser *bPtr, char *path);
|
||||||
|
|
||||||
/* you can free the returned string */
|
/* you can free the returned string */
|
||||||
char *WMGetBrowserPath(WMBrowser *bPtr);
|
char *WMGetBrowserPath(WMBrowser *bPtr);
|
||||||
@@ -878,6 +891,9 @@ void WMSetBrowserFillColumnProc(WMBrowser *bPtr,WMBrowserFillColumnProc *proc);
|
|||||||
|
|
||||||
void WMSetBrowserAction(WMBrowser *bPtr, WMAction *action, void *clientData);
|
void WMSetBrowserAction(WMBrowser *bPtr, WMAction *action, void *clientData);
|
||||||
|
|
||||||
|
void WMSetBrowserDoubleAction(WMBrowser *bPtr, WMAction *action,
|
||||||
|
void *clientData);
|
||||||
|
|
||||||
WMListItem *WMGetBrowserSelectedItemInColumn(WMBrowser *bPtr, int column);
|
WMListItem *WMGetBrowserSelectedItemInColumn(WMBrowser *bPtr, int column);
|
||||||
|
|
||||||
int WMGetBrowserFirstVisibleColumn(WMBrowser *bPtr);
|
int WMGetBrowserFirstVisibleColumn(WMBrowser *bPtr);
|
||||||
@@ -1057,11 +1073,8 @@ char *WMGetFilePanelFileName(WMFilePanel *panel);
|
|||||||
|
|
||||||
void WMFreeFilePanel(WMFilePanel *panel);
|
void WMFreeFilePanel(WMFilePanel *panel);
|
||||||
|
|
||||||
int WMRunModalOpenPanelForDirectory(WMFilePanel *panel, WMWindow *owner,
|
int WMRunModalFilePanelForDirectory(WMFilePanel *panel, WMWindow *owner,
|
||||||
char *path, char *name, char **fileTypes);
|
char *path, char *name, char **fileTypes);
|
||||||
|
|
||||||
int WMRunModalSavePanelForDirectory(WMFilePanel *panel, WMWindow *owner,
|
|
||||||
char *path, char *name);
|
|
||||||
|
|
||||||
void WMSetFilePanelAccessoryView(WMFilePanel *panel, WMView *view);
|
void WMSetFilePanelAccessoryView(WMFilePanel *panel, WMView *view);
|
||||||
|
|
||||||
@@ -1084,5 +1097,9 @@ char *WMGetFontPanelFontName(WMFontPanel *panel);
|
|||||||
|
|
||||||
WMFont *WMGetFontPanelFont(WMFontPanel *panel);
|
WMFont *WMGetFontPanelFont(WMFontPanel *panel);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
#ifndef _WINGSP_H_
|
||||||
|
#define _WINGSP_H_
|
||||||
|
|
||||||
|
|
||||||
#include <X11/Xlib.h>
|
#include <X11/Xlib.h>
|
||||||
#include <X11/Xutil.h>
|
#include <X11/Xutil.h>
|
||||||
@@ -16,6 +19,10 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
#define DOUBLE_BUFFER
|
#define DOUBLE_BUFFER
|
||||||
|
|
||||||
|
|
||||||
@@ -177,25 +184,17 @@ typedef struct W_Screen {
|
|||||||
struct W_Pixmap *checkMark;
|
struct W_Pixmap *checkMark;
|
||||||
|
|
||||||
struct W_Pixmap *homeIcon;
|
struct W_Pixmap *homeIcon;
|
||||||
struct W_Pixmap *homeAltIcon;
|
struct W_Pixmap *altHomeIcon;
|
||||||
|
|
||||||
struct W_Pixmap *magnifyIcon;
|
struct W_Pixmap *magnifyIcon;
|
||||||
struct W_Pixmap *wheelIcon;
|
struct W_Pixmap *altMagnifyIcon;
|
||||||
struct W_Pixmap *grayIcon;
|
struct W_Pixmap *wheelIcon;
|
||||||
struct W_Pixmap *rgbIcon;
|
struct W_Pixmap *grayIcon;
|
||||||
struct W_Pixmap *cmykIcon;
|
struct W_Pixmap *rgbIcon;
|
||||||
struct W_Pixmap *hsbIcon;
|
struct W_Pixmap *cmykIcon;
|
||||||
struct W_Pixmap *customPaletteIcon;
|
struct W_Pixmap *hsbIcon;
|
||||||
struct W_Pixmap *colorListIcon;
|
struct W_Pixmap *customPaletteIcon;
|
||||||
|
struct W_Pixmap *colorListIcon;
|
||||||
struct W_Pixmap *magnifyAltIcon;
|
|
||||||
struct W_Pixmap *wheelAltIcon;
|
|
||||||
struct W_Pixmap *grayAltIcon;
|
|
||||||
struct W_Pixmap *rgbAltIcon;
|
|
||||||
struct W_Pixmap *cmykAltIcon;
|
|
||||||
struct W_Pixmap *hsbAltIcon;
|
|
||||||
struct W_Pixmap *customPaletteAltIcon;
|
|
||||||
struct W_Pixmap *colorListAltIcon;
|
|
||||||
|
|
||||||
struct W_Pixmap *defaultObjectIcon;
|
struct W_Pixmap *defaultObjectIcon;
|
||||||
|
|
||||||
@@ -346,7 +345,7 @@ void W_DestroyView(W_View *view);
|
|||||||
|
|
||||||
void W_RealizeView(W_View *view);
|
void W_RealizeView(W_View *view);
|
||||||
|
|
||||||
void W_ReparentView(W_View *view, W_View *newParent);
|
void W_ReparentView(W_View *view, W_View *newParent, int x, int y);
|
||||||
|
|
||||||
void W_MapView(W_View *view);
|
void W_MapView(W_View *view);
|
||||||
|
|
||||||
@@ -416,3 +415,14 @@ Bool W_ApplicationInitialized(void);
|
|||||||
char *W_GetTextSelection(WMScreen *scr, Atom selection);
|
char *W_GetTextSelection(WMScreen *scr, Atom selection);
|
||||||
|
|
||||||
void W_HandleSelectionEvent(XEvent *event);
|
void W_HandleSelectionEvent(XEvent *event);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
#endif /* _WINGSP_H_ */
|
||||||
|
|
||||||
|
void W_FlushASAPNotificationQueue();
|
||||||
|
|
||||||
|
void W_FlushIdleNotificationQueue();
|
||||||
|
|
||||||
|
|||||||
@@ -61,6 +61,10 @@
|
|||||||
#endif /* !NDEBUG */
|
#endif /* !NDEBUG */
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
WMPostWhenIdle = 1,
|
WMPostWhenIdle = 1,
|
||||||
@@ -227,9 +231,12 @@ WMNotificationQueue *WMGetDefaultNotificationQueue(void);
|
|||||||
|
|
||||||
WMNotificationQueue *WMCreateNotificationQueue(void);
|
WMNotificationQueue *WMCreateNotificationQueue(void);
|
||||||
|
|
||||||
void WMDequeueNotificationMatching(WMNotificationQueue *queue, unsigned mask);
|
void WMDequeueNotificationMatching(WMNotificationQueue *queue,
|
||||||
|
WMNotification *notification,
|
||||||
|
unsigned mask);
|
||||||
|
|
||||||
void WMEnqueueNotification(WMNotificationQueue *queue, WMNotification *notification,
|
void WMEnqueueNotification(WMNotificationQueue *queue,
|
||||||
|
WMNotification *notification,
|
||||||
WMPostingStyle postingStyle);
|
WMPostingStyle postingStyle);
|
||||||
|
|
||||||
void WMEnqueueCoalesceNotification(WMNotificationQueue *queue,
|
void WMEnqueueCoalesceNotification(WMNotificationQueue *queue,
|
||||||
@@ -254,7 +261,7 @@ char *WMGetUDStringForKey(WMUserDefaults *database, char *defaultName);
|
|||||||
|
|
||||||
int WMGetUDIntegerForKey(WMUserDefaults *database, char *defaultName);
|
int WMGetUDIntegerForKey(WMUserDefaults *database, char *defaultName);
|
||||||
|
|
||||||
int WMGetUDFloatForKey(WMUserDefaults *database, char *defaultName);
|
float WMGetUDFloatForKey(WMUserDefaults *database, char *defaultName);
|
||||||
|
|
||||||
Bool WMGetUDBoolForKey(WMUserDefaults *database, char *defaultName);
|
Bool WMGetUDBoolForKey(WMUserDefaults *database, char *defaultName);
|
||||||
|
|
||||||
@@ -274,6 +281,9 @@ proplist_t WMGetUDSearchList(WMUserDefaults *database);
|
|||||||
|
|
||||||
void WMSetUDSearchList(WMUserDefaults *database, proplist_t list);
|
void WMSetUDSearchList(WMUserDefaults *database, proplist_t list);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
126
WINGs/llist.c
Normal file
126
WINGs/llist.c
Normal file
@@ -0,0 +1,126 @@
|
|||||||
|
|
||||||
|
#include "WUtil.h"
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include "llist.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
WINLINE void*
|
||||||
|
lhead(list_t *list)
|
||||||
|
{
|
||||||
|
if (!list)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
return list->head;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
WINLINE list_t*
|
||||||
|
ltail(list_t *list)
|
||||||
|
{
|
||||||
|
if (!list)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
return list->tail;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
WINLINE list_t*
|
||||||
|
lcons(void *newHead, list_t *list)
|
||||||
|
{
|
||||||
|
list_t *newNode;
|
||||||
|
|
||||||
|
newNode = wmalloc(sizeof(list_t));
|
||||||
|
newNode->head = newHead;
|
||||||
|
newNode->tail = list;
|
||||||
|
|
||||||
|
return newNode;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
WINLINE list_t*
|
||||||
|
lappend(list_t *list, list_t *tail)
|
||||||
|
{
|
||||||
|
list_t *ptr;
|
||||||
|
|
||||||
|
if (!list)
|
||||||
|
return tail;
|
||||||
|
|
||||||
|
for (ptr = list; ptr->tail == NULL; ptr = ptr->tail);
|
||||||
|
|
||||||
|
ptr->tail = tail;
|
||||||
|
|
||||||
|
return ptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
WINLINE void
|
||||||
|
lfree(list_t *list)
|
||||||
|
{
|
||||||
|
if (list) {
|
||||||
|
lfree(list->tail);
|
||||||
|
free(list);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
WINLINE void*
|
||||||
|
lfind(void *objeto, list_t *list, int (*compare)(void*, void*))
|
||||||
|
{
|
||||||
|
while (list) {
|
||||||
|
if ((*compare)(list->head, objeto)==0) {
|
||||||
|
return list->head;
|
||||||
|
}
|
||||||
|
list = list->tail;
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
WINLINE int
|
||||||
|
llength(list_t *list)
|
||||||
|
{
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
while (list) {
|
||||||
|
list = list->tail;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
WINLINE list_t*
|
||||||
|
lremove(list_t *list, void *object)
|
||||||
|
{
|
||||||
|
if (!list)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (list->head == object) {
|
||||||
|
list_t *tmp = list->tail;
|
||||||
|
|
||||||
|
free(list);
|
||||||
|
|
||||||
|
return tmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
list->tail = lremove(list->tail, object);
|
||||||
|
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
WINLINE list_t*
|
||||||
|
lremovehead(list_t *list)
|
||||||
|
{
|
||||||
|
list_t *tmp = NULL;
|
||||||
|
|
||||||
|
if (list) {
|
||||||
|
tmp = list->tail;
|
||||||
|
free(list);
|
||||||
|
}
|
||||||
|
return tmp;
|
||||||
|
}
|
||||||
|
|
||||||
40
WINGs/llist.h
Normal file
40
WINGs/llist.h
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
|
||||||
|
|
||||||
|
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
|
||||||
|
# define WINLINE inline
|
||||||
|
#else
|
||||||
|
# define WINLINE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef struct list_t {
|
||||||
|
void *head;
|
||||||
|
struct list_t *tail;
|
||||||
|
} list_t;
|
||||||
|
|
||||||
|
|
||||||
|
WINLINE void *lhead(list_t *list);
|
||||||
|
|
||||||
|
|
||||||
|
WINLINE list_t *ltail(list_t *list);
|
||||||
|
|
||||||
|
|
||||||
|
WINLINE list_t *lcons(void *newHead, list_t *list);
|
||||||
|
|
||||||
|
|
||||||
|
WINLINE list_t *lappend(list_t *list, list_t *tail);
|
||||||
|
|
||||||
|
|
||||||
|
WINLINE void lfree(list_t *list);
|
||||||
|
|
||||||
|
|
||||||
|
WINLINE void *lfind(void *object, list_t *list, int (*compare)(void*, void*));
|
||||||
|
|
||||||
|
|
||||||
|
WINLINE int llength(list_t *list);
|
||||||
|
|
||||||
|
|
||||||
|
WINLINE list_t *lremove(list_t *list, void *object);
|
||||||
|
|
||||||
|
|
||||||
|
WINLINE list_t *lremovehead(list_t *list);
|
||||||
|
|
||||||
@@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
#include "WUtil.h"
|
#include "WUtil.h"
|
||||||
|
|
||||||
|
#include "llist.h"
|
||||||
|
|
||||||
typedef struct W_Notification {
|
typedef struct W_Notification {
|
||||||
char *name;
|
char *name;
|
||||||
@@ -15,6 +16,8 @@ typedef struct W_Notification {
|
|||||||
} Notification;
|
} Notification;
|
||||||
|
|
||||||
|
|
||||||
|
extern void W_FlushASAPNotificationQueue();
|
||||||
|
|
||||||
|
|
||||||
char*
|
char*
|
||||||
WMGetNotificationName(WMNotification *notification)
|
WMGetNotificationName(WMNotification *notification)
|
||||||
@@ -214,17 +217,16 @@ WMPostNotification(WMNotification *notification)
|
|||||||
}
|
}
|
||||||
|
|
||||||
WMReleaseNotification(notification);
|
WMReleaseNotification(notification);
|
||||||
|
|
||||||
|
W_FlushASAPNotificationQueue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
WMRemoveNotificationObserver(void *observer)
|
WMRemoveNotificationObserver(void *observer)
|
||||||
{
|
{
|
||||||
NotificationObserver *orec, *tmp, *rec;
|
NotificationObserver *orec, *tmp, *rec;
|
||||||
|
|
||||||
|
|
||||||
/* get the list of actions the observer is doing */
|
/* get the list of actions the observer is doing */
|
||||||
orec = WMHashGet(notificationCenter->observerTable, observer);
|
orec = WMHashGet(notificationCenter->observerTable, observer);
|
||||||
|
|
||||||
@@ -285,10 +287,15 @@ void
|
|||||||
WMRemoveNotificationObserverWithName(void *observer, char *name, void *object)
|
WMRemoveNotificationObserverWithName(void *observer, char *name, void *object)
|
||||||
{
|
{
|
||||||
NotificationObserver *orec, *tmp, *rec;
|
NotificationObserver *orec, *tmp, *rec;
|
||||||
|
NotificationObserver *newList = NULL;
|
||||||
|
|
||||||
/* get the list of actions the observer is doing */
|
/* get the list of actions the observer is doing */
|
||||||
orec = WMHashGet(notificationCenter->observerTable, observer);
|
orec = WMHashGet(notificationCenter->observerTable, observer);
|
||||||
|
|
||||||
|
WMHashRemove(notificationCenter->observerTable, observer);
|
||||||
|
|
||||||
|
/* rebuild the list of actions for the observer */
|
||||||
|
|
||||||
while (orec) {
|
while (orec) {
|
||||||
tmp = orec->nextAction;
|
tmp = orec->nextAction;
|
||||||
if (orec->name == name && orec->object == object) {
|
if (orec->name == name && orec->object == object) {
|
||||||
@@ -301,8 +308,8 @@ WMRemoveNotificationObserverWithName(void *observer, char *name, void *object)
|
|||||||
assert(rec->prev==NULL);
|
assert(rec->prev==NULL);
|
||||||
/* replace table entry */
|
/* replace table entry */
|
||||||
if (orec->next) {
|
if (orec->next) {
|
||||||
WMHashInsert(notificationCenter->objectTable, orec->object,
|
WMHashInsert(notificationCenter->objectTable,
|
||||||
orec->next);
|
orec->object, orec->next);
|
||||||
} else {
|
} else {
|
||||||
WMHashRemove(notificationCenter->objectTable,
|
WMHashRemove(notificationCenter->objectTable,
|
||||||
orec->object);
|
orec->object);
|
||||||
@@ -314,34 +321,42 @@ WMRemoveNotificationObserverWithName(void *observer, char *name, void *object)
|
|||||||
assert(rec->prev==NULL);
|
assert(rec->prev==NULL);
|
||||||
/* replace table entry */
|
/* replace table entry */
|
||||||
if (orec->next) {
|
if (orec->next) {
|
||||||
WMHashInsert(notificationCenter->nameTable, orec->name,
|
WMHashInsert(notificationCenter->nameTable,
|
||||||
orec->next);
|
orec->name, orec->next);
|
||||||
} else {
|
} else {
|
||||||
WMHashRemove(notificationCenter->nameTable, orec->name);
|
WMHashRemove(notificationCenter->nameTable,
|
||||||
|
orec->name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* update the action list for the observer */
|
|
||||||
rec = WMHashGet(notificationCenter->observerTable, observer);
|
|
||||||
|
|
||||||
if (rec == orec) {
|
|
||||||
if (orec->nextAction) {
|
|
||||||
WMHashInsert(notificationCenter->nameTable, observer,
|
|
||||||
orec->nextAction);
|
|
||||||
} else {
|
|
||||||
WMHashRemove(notificationCenter->nameTable, observer);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (orec->prev)
|
if (orec->prev)
|
||||||
orec->prev->next = orec->next;
|
orec->prev->next = orec->next;
|
||||||
if (orec->next)
|
if (orec->next)
|
||||||
orec->next->prev = orec->prev;
|
orec->next->prev = orec->prev;
|
||||||
free(orec);
|
free(orec);
|
||||||
|
} else {
|
||||||
|
/* append this action in the new action list */
|
||||||
|
orec->nextAction = NULL;
|
||||||
|
if (!newList) {
|
||||||
|
newList = orec;
|
||||||
|
} else {
|
||||||
|
NotificationObserver *p;
|
||||||
|
|
||||||
|
p = newList;
|
||||||
|
while (p->nextAction) {
|
||||||
|
p = p->nextAction;
|
||||||
|
}
|
||||||
|
p->nextAction = orec;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
orec = tmp;
|
orec = tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* reinsert the list to the table */
|
||||||
|
if (newList) {
|
||||||
|
WMHashInsert(notificationCenter->observerTable, observer, newList);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -363,18 +378,25 @@ WMPostNotificationName(char *name, void *object, void *clientData)
|
|||||||
|
|
||||||
|
|
||||||
typedef struct W_NotificationQueue {
|
typedef struct W_NotificationQueue {
|
||||||
NotificationCenter *center;
|
list_t *asapQueue;
|
||||||
void *asapQueue;
|
list_t *idleQueue;
|
||||||
void *idleQueue;
|
|
||||||
|
struct W_NotificationQueue *next;
|
||||||
} NotificationQueue;
|
} NotificationQueue;
|
||||||
|
|
||||||
|
|
||||||
|
static WMNotificationQueue *notificationQueueList = NULL;
|
||||||
|
|
||||||
/* default queue */
|
/* default queue */
|
||||||
static WMNotificationQueue *notificationQueue = NULL;
|
static WMNotificationQueue *notificationQueue = NULL;
|
||||||
|
|
||||||
|
|
||||||
WMNotificationQueue*
|
WMNotificationQueue*
|
||||||
WMGetDefaultNotificationQueue(void)
|
WMGetDefaultNotificationQueue(void)
|
||||||
{
|
{
|
||||||
|
if (!notificationQueue)
|
||||||
|
notificationQueue = WMCreateNotificationQueue();
|
||||||
|
|
||||||
return notificationQueue;
|
return notificationQueue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -382,20 +404,76 @@ WMGetDefaultNotificationQueue(void)
|
|||||||
WMNotificationQueue*
|
WMNotificationQueue*
|
||||||
WMCreateNotificationQueue(void)
|
WMCreateNotificationQueue(void)
|
||||||
{
|
{
|
||||||
return NULL;
|
NotificationQueue *queue;
|
||||||
|
|
||||||
|
queue = wmalloc(sizeof(NotificationQueue));
|
||||||
|
|
||||||
|
queue->asapQueue = NULL;
|
||||||
|
queue->idleQueue = NULL;
|
||||||
|
queue->next = notificationQueueList;
|
||||||
|
|
||||||
|
notificationQueueList = queue;
|
||||||
|
|
||||||
|
return queue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
WMDequeueNotificationMatching(WMNotificationQueue *queue, unsigned mask)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
WMEnqueueNotification(WMNotificationQueue *queue, WMNotification *notification,
|
WMEnqueueNotification(WMNotificationQueue *queue, WMNotification *notification,
|
||||||
WMPostingStyle postingStyle)
|
WMPostingStyle postingStyle)
|
||||||
{
|
{
|
||||||
|
WMEnqueueCoalesceNotification(queue, notification, postingStyle,
|
||||||
|
WNCOnName|WNCOnSender);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int
|
||||||
|
matchName(void *a, void *b)
|
||||||
|
{
|
||||||
|
WMNotification *n1 = (WMNotification*)a;
|
||||||
|
WMNotification *n2 = (WMNotification*)b;
|
||||||
|
|
||||||
|
return strcmp(n1->name, n2->name);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int
|
||||||
|
matchSender(void *a, void *b)
|
||||||
|
{
|
||||||
|
WMNotification *n1 = (WMNotification*)a;
|
||||||
|
WMNotification *n2 = (WMNotification*)b;
|
||||||
|
|
||||||
|
return (n1->object == n2->object);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
WMDequeueNotificationMatching(WMNotificationQueue *queue,
|
||||||
|
WMNotification *notification, unsigned mask)
|
||||||
|
{
|
||||||
|
void *n;
|
||||||
|
|
||||||
|
if (mask & WNCOnName) {
|
||||||
|
while ((n = lfind(notification->name, queue->asapQueue, matchName))) {
|
||||||
|
queue->asapQueue = lremove(queue->asapQueue, n);
|
||||||
|
WMReleaseNotification((WMNotification*)n);
|
||||||
|
}
|
||||||
|
while ((n = lfind(notification->name, queue->idleQueue, matchName))) {
|
||||||
|
queue->idleQueue = lremove(queue->idleQueue, n);
|
||||||
|
WMReleaseNotification((WMNotification*)n);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (mask & WNCOnSender) {
|
||||||
|
while ((n = lfind(notification->name, queue->asapQueue, matchSender))) {
|
||||||
|
queue->asapQueue = lremove(queue->asapQueue, n);
|
||||||
|
WMReleaseNotification((WMNotification*)n);
|
||||||
|
}
|
||||||
|
while ((n = lfind(notification->name, queue->idleQueue, matchSender))) {
|
||||||
|
queue->idleQueue = lremove(queue->idleQueue, n);
|
||||||
|
WMReleaseNotification((WMNotification*)n);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -405,10 +483,51 @@ WMEnqueueCoalesceNotification(WMNotificationQueue *queue,
|
|||||||
WMPostingStyle postingStyle,
|
WMPostingStyle postingStyle,
|
||||||
unsigned coalesceMask)
|
unsigned coalesceMask)
|
||||||
{
|
{
|
||||||
|
if (coalesceMask != WNCNone)
|
||||||
|
WMDequeueNotificationMatching(queue, notification, coalesceMask);
|
||||||
|
|
||||||
|
switch (postingStyle) {
|
||||||
|
case WMPostNow:
|
||||||
|
WMPostNotification(notification);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case WMPostASAP:
|
||||||
|
queue->asapQueue = lappend(queue->asapQueue,
|
||||||
|
lcons(notification, NULL));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case WMPostWhenIdle:
|
||||||
|
queue->idleQueue = lappend(queue->idleQueue,
|
||||||
|
lcons(notification, NULL));
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
W_FlushASAPNotificationQueue()
|
||||||
|
{
|
||||||
|
WMNotificationQueue *queue = notificationQueueList;
|
||||||
|
|
||||||
|
while (queue) {
|
||||||
|
while (queue->asapQueue) {
|
||||||
|
WMPostNotification((WMNotification*)lhead(queue->asapQueue));
|
||||||
|
queue->asapQueue = lremovehead(queue->asapQueue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
W_FlushIdleNotificationQueue()
|
||||||
|
{
|
||||||
|
WMNotificationQueue *queue = notificationQueueList;
|
||||||
|
|
||||||
|
while (queue) {
|
||||||
|
while (queue->idleQueue) {
|
||||||
|
WMPostNotification((WMNotification*)lhead(queue->idleQueue));
|
||||||
|
queue->idleQueue = lremovehead(queue->idleQueue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
91
WINGs/testnot.c
Normal file
91
WINGs/testnot.c
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
* test notifications
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "WUtil.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
|
||||||
|
char *notificationA = "notificationA";
|
||||||
|
char *notificationB = "notificationB";
|
||||||
|
char *notificationC = "notificationC";
|
||||||
|
|
||||||
|
void
|
||||||
|
observer1(void *data, WMNotification *notification)
|
||||||
|
{
|
||||||
|
printf("ObserverAction 1 got %s with object=%s, clientdata=%s\n",
|
||||||
|
WMGetNotificationName(notification),
|
||||||
|
(char*)WMGetNotificationObject(notification),
|
||||||
|
(char*)WMGetNotificationClientData(notification));
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
observer3(void *data, WMNotification *notification)
|
||||||
|
{
|
||||||
|
printf("ObserverAction 3 got %s with object=%s, clientdata=%s\n",
|
||||||
|
WMGetNotificationName(notification),
|
||||||
|
(char*)WMGetNotificationObject(notification),
|
||||||
|
(char*)WMGetNotificationClientData(notification));
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
observer2(void *data, WMNotification *notification)
|
||||||
|
{
|
||||||
|
printf("ObserverAction 2 got %s with object=%s, clientdata=%s\n",
|
||||||
|
WMGetNotificationName(notification),
|
||||||
|
(char*)WMGetNotificationObject(notification),
|
||||||
|
(char*)WMGetNotificationClientData(notification));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
char *obser1 = "obser1";
|
||||||
|
char *obser2 = "obser2";
|
||||||
|
char *obser3 = "obser3";
|
||||||
|
char *obj1 = "obj1";
|
||||||
|
char *obj2 = "obj2";
|
||||||
|
char *obj3 = "obj3";
|
||||||
|
char *cdata1 = "client data1";
|
||||||
|
char *cdata2 = "client data2";
|
||||||
|
char *cdata3 = "client data3";
|
||||||
|
|
||||||
|
WMInitializeApplication("test", &argc, argv);
|
||||||
|
|
||||||
|
WMAddNotificationObserver(observer1, obser1, notificationA, obj1);
|
||||||
|
|
||||||
|
WMAddNotificationObserver(observer1, obser1, notificationA, obj2);
|
||||||
|
|
||||||
|
WMAddNotificationObserver(observer1, obser1, notificationA, obj3);
|
||||||
|
|
||||||
|
puts("post1");
|
||||||
|
WMPostNotificationName(notificationA, obj3, cdata1);
|
||||||
|
puts("post2");
|
||||||
|
WMPostNotificationName(notificationA, obj2, cdata2);
|
||||||
|
puts("post3");
|
||||||
|
WMPostNotificationName(notificationA, obj1, cdata3);
|
||||||
|
|
||||||
|
puts("REMOVE1");
|
||||||
|
WMRemoveNotificationObserverWithName(obser1, notificationA, obj2);
|
||||||
|
|
||||||
|
puts("REMOVE2");
|
||||||
|
WMRemoveNotificationObserverWithName(obser1, notificationA, obj2);
|
||||||
|
|
||||||
|
puts("post1");
|
||||||
|
WMPostNotificationName(notificationA, obj3, cdata1);
|
||||||
|
puts("post2");
|
||||||
|
WMPostNotificationName(notificationA, obj2, cdata2);
|
||||||
|
puts("post3");
|
||||||
|
WMPostNotificationName(notificationA, obj1, cdata3);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -279,7 +279,7 @@ WMGetUDIntegerForKey(WMUserDefaults *database, char *defaultName)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int
|
float
|
||||||
WMGetUDFloatForKey(WMUserDefaults *database, char *defaultName)
|
WMGetUDFloatForKey(WMUserDefaults *database, char *defaultName)
|
||||||
{
|
{
|
||||||
proplist_t val;
|
proplist_t val;
|
||||||
@@ -288,16 +288,12 @@ WMGetUDFloatForKey(WMUserDefaults *database, char *defaultName)
|
|||||||
|
|
||||||
val = WMGetUDObjectForKey(database, defaultName);
|
val = WMGetUDObjectForKey(database, defaultName);
|
||||||
|
|
||||||
if (!val)
|
if (!val || !PLIsString(val))
|
||||||
return 0.0;
|
return 0.0;
|
||||||
|
|
||||||
if (!PLIsString(val))
|
if (!(str = PLGetString(val)))
|
||||||
return 0.0;
|
return 0.0;
|
||||||
|
|
||||||
str = PLGetString(val);
|
|
||||||
if (!str)
|
|
||||||
return 0.0;
|
|
||||||
|
|
||||||
if (sscanf(str, "%f", &value)!=1)
|
if (sscanf(str, "%f", &value)!=1)
|
||||||
return 0.0;
|
return 0.0;
|
||||||
|
|
||||||
|
|||||||
431
WINGs/wbrowser.c
431
WINGs/wbrowser.c
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#include "WINGsP.h"
|
#include "WINGsP.h"
|
||||||
|
#include <math.h> /* for : double rint (double) */
|
||||||
|
|
||||||
|
|
||||||
char *WMBrowserDidScrollNotification = "WMBrowserDidScrollNotification";
|
char *WMBrowserDidScrollNotification = "WMBrowserDidScrollNotification";
|
||||||
@@ -55,11 +56,17 @@ typedef struct W_Browser {
|
|||||||
#define COLUMN_SPACING 4
|
#define COLUMN_SPACING 4
|
||||||
#define TITLE_SPACING 2
|
#define TITLE_SPACING 2
|
||||||
|
|
||||||
#define DEFAULT_WIDTH 305
|
#define DEFAULT_WIDTH 305
|
||||||
#define DEFAULT_HEIGHT 200
|
#define DEFAULT_HEIGHT 200
|
||||||
#define DEFAULT_HAS_SCROLLER True
|
#define DEFAULT_HAS_SCROLLER True
|
||||||
|
#define DEFAULT_TITLE_HEIGHT 20
|
||||||
|
#define DEFAULT_IS_TITLED True
|
||||||
|
#define DEFAULT_MAX_VISIBLE_COLUMNS 2
|
||||||
|
#define DEFAULT_SEPARATOR "/"
|
||||||
|
|
||||||
|
#define MIN_VISIBLE_COLUMNS 1
|
||||||
|
#define MAX_VISIBLE_COLUMNS 32
|
||||||
|
|
||||||
#define DEFAULT_SEPARATOR "/"
|
|
||||||
|
|
||||||
#define COLUMN_IS_VISIBLE(b, c) ((c) >= (b)->firstVisibleColumn \
|
#define COLUMN_IS_VISIBLE(b, c) ((c) >= (b)->firstVisibleColumn \
|
||||||
&& (c) < (b)->firstVisibleColumn + (b)->maxVisibleColumns)
|
&& (c) < (b)->firstVisibleColumn + (b)->maxVisibleColumns)
|
||||||
@@ -70,13 +77,17 @@ static void destroyBrowser(WMBrowser *bPtr);
|
|||||||
|
|
||||||
static void setupScroller(WMBrowser *bPtr);
|
static void setupScroller(WMBrowser *bPtr);
|
||||||
|
|
||||||
static void scrollToColumn(WMBrowser *bPtr, int column);
|
static void scrollToColumn(WMBrowser *bPtr, int column, Bool updateScroller);
|
||||||
|
|
||||||
static void paintItem(WMList *lPtr, int index, Drawable d, char *text,
|
static void paintItem(WMList *lPtr, int index, Drawable d, char *text,
|
||||||
int state, WMRect *rect);
|
int state, WMRect *rect);
|
||||||
|
|
||||||
static void loadColumn(WMBrowser *bPtr, int column);
|
static void loadColumn(WMBrowser *bPtr, int column);
|
||||||
|
|
||||||
|
static void removeColumn(WMBrowser *bPtr, int column);
|
||||||
|
|
||||||
|
static char*
|
||||||
|
createTruncatedString(WMFont *font, char *text, int *textLen, int width);
|
||||||
|
|
||||||
static void resizeBrowser(WMWidget*, unsigned int, unsigned int);
|
static void resizeBrowser(WMWidget*, unsigned int, unsigned int);
|
||||||
|
|
||||||
@@ -94,6 +105,8 @@ WMCreateBrowser(WMWidget *parent)
|
|||||||
WMBrowser *bPtr;
|
WMBrowser *bPtr;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
wassertrv(parent, NULL);
|
||||||
|
|
||||||
bPtr = wmalloc(sizeof(WMBrowser));
|
bPtr = wmalloc(sizeof(WMBrowser));
|
||||||
memset(bPtr, 0, sizeof(WMBrowser));
|
memset(bPtr, 0, sizeof(WMBrowser));
|
||||||
|
|
||||||
@@ -112,9 +125,9 @@ WMCreateBrowser(WMWidget *parent)
|
|||||||
/* default configuration */
|
/* default configuration */
|
||||||
bPtr->flags.hasScroller = DEFAULT_HAS_SCROLLER;
|
bPtr->flags.hasScroller = DEFAULT_HAS_SCROLLER;
|
||||||
|
|
||||||
bPtr->titleHeight = 20;
|
bPtr->titleHeight = DEFAULT_TITLE_HEIGHT;
|
||||||
bPtr->flags.isTitled = 1;
|
bPtr->flags.isTitled = DEFAULT_IS_TITLED;
|
||||||
bPtr->maxVisibleColumns = 2;
|
bPtr->maxVisibleColumns = DEFAULT_MAX_VISIBLE_COLUMNS;
|
||||||
|
|
||||||
resizeBrowser(bPtr, DEFAULT_WIDTH, DEFAULT_HEIGHT);
|
resizeBrowser(bPtr, DEFAULT_WIDTH, DEFAULT_HEIGHT);
|
||||||
|
|
||||||
@@ -137,24 +150,58 @@ WMCreateBrowser(WMWidget *parent)
|
|||||||
void
|
void
|
||||||
WMSetBrowserMaxVisibleColumns(WMBrowser *bPtr, int columns)
|
WMSetBrowserMaxVisibleColumns(WMBrowser *bPtr, int columns)
|
||||||
{
|
{
|
||||||
if (columns > bPtr->maxVisibleColumns) {
|
int curMaxVisibleColumns;
|
||||||
|
int newFirstVisibleColumn = 0;
|
||||||
|
|
||||||
|
assert ((int) bPtr);
|
||||||
|
|
||||||
|
columns = (columns < MIN_VISIBLE_COLUMNS) ? MIN_VISIBLE_COLUMNS : columns;
|
||||||
|
columns = (columns > MAX_VISIBLE_COLUMNS) ? MAX_VISIBLE_COLUMNS : columns;
|
||||||
|
if (columns == bPtr->maxVisibleColumns) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
curMaxVisibleColumns = bPtr->maxVisibleColumns;
|
||||||
|
bPtr->maxVisibleColumns = columns;
|
||||||
|
/* browser not loaded */
|
||||||
|
if (!bPtr->flags.loaded) {
|
||||||
|
if ((columns > curMaxVisibleColumns) && (columns > bPtr->columnCount)) {
|
||||||
|
int i = columns - bPtr->columnCount;
|
||||||
|
bPtr->usedColumnCount = bPtr->columnCount;
|
||||||
|
while (i--) {
|
||||||
|
WMAddBrowserColumn(bPtr);
|
||||||
|
}
|
||||||
|
bPtr->usedColumnCount = 0;
|
||||||
|
}
|
||||||
|
/* browser loaded and columns > curMaxVisibleColumns */
|
||||||
|
} else if (columns > curMaxVisibleColumns) {
|
||||||
|
if (bPtr->usedColumnCount > columns) {
|
||||||
|
newFirstVisibleColumn = bPtr->usedColumnCount - columns;
|
||||||
|
}
|
||||||
|
if (newFirstVisibleColumn > bPtr->firstVisibleColumn) {
|
||||||
|
newFirstVisibleColumn = bPtr->firstVisibleColumn;
|
||||||
|
}
|
||||||
if (columns > bPtr->columnCount) {
|
if (columns > bPtr->columnCount) {
|
||||||
int i = columns - bPtr->columnCount;
|
int i = columns - bPtr->columnCount;
|
||||||
|
int curUsedColumnCount = bPtr->usedColumnCount;
|
||||||
|
bPtr->usedColumnCount = bPtr->columnCount;
|
||||||
while (i--) {
|
while (i--) {
|
||||||
WMAddBrowserColumn(bPtr);
|
WMAddBrowserColumn(bPtr);
|
||||||
}
|
}
|
||||||
|
bPtr->usedColumnCount = curUsedColumnCount;
|
||||||
|
}
|
||||||
|
/* browser loaded and columns < curMaxVisibleColumns */
|
||||||
|
} else {
|
||||||
|
newFirstVisibleColumn = bPtr->firstVisibleColumn;
|
||||||
|
if (newFirstVisibleColumn + columns >= bPtr->usedColumnCount) {
|
||||||
|
removeColumn(bPtr, newFirstVisibleColumn + columns);
|
||||||
}
|
}
|
||||||
|
|
||||||
resizeBrowser(bPtr, bPtr->view->size.width, bPtr->view->size.height);
|
|
||||||
|
|
||||||
} else if (columns < bPtr->maxVisibleColumns) {
|
|
||||||
|
|
||||||
resizeBrowser(bPtr, bPtr->view->size.width, bPtr->view->size.height);
|
|
||||||
}
|
}
|
||||||
|
resizeBrowser(bPtr, bPtr->view->size.width, bPtr->view->size.height);
|
||||||
bPtr->maxVisibleColumns = columns;
|
if (bPtr->flags.loaded) {
|
||||||
|
XClearArea(bPtr->view->screen->display, bPtr->view->window, 0, 0,
|
||||||
|
bPtr->view->size.width, bPtr->titleHeight, False);
|
||||||
|
scrollToColumn (bPtr, newFirstVisibleColumn, True);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -187,11 +234,27 @@ drawTitleOfColumn(WMBrowser *bPtr, int column)
|
|||||||
W_DrawRelief(scr, bPtr->view->window, x, 0,
|
W_DrawRelief(scr, bPtr->view->window, x, 0,
|
||||||
bPtr->columnSize.width, bPtr->titleHeight, WRSunken);
|
bPtr->columnSize.width, bPtr->titleHeight, WRSunken);
|
||||||
|
|
||||||
if (column < bPtr->usedColumnCount && bPtr->titles[column])
|
if (column < bPtr->usedColumnCount && bPtr->titles[column]) {
|
||||||
W_PaintText(bPtr->view, bPtr->view->window, scr->boldFont, x,
|
int titleLen = strlen(bPtr->titles[column]);
|
||||||
(bPtr->titleHeight-WMFontHeight(scr->boldFont))/2,
|
int widthC = bPtr->columnSize.width-8;
|
||||||
bPtr->columnSize.width, WACenter, W_GC(scr->white),
|
|
||||||
False, bPtr->titles[column], strlen(bPtr->titles[column]));
|
if (WMWidthOfString(scr->boldFont, bPtr->titles[column], titleLen)
|
||||||
|
> widthC) {
|
||||||
|
char *titleBuf = createTruncatedString(scr->boldFont,
|
||||||
|
bPtr->titles[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),
|
||||||
|
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),
|
||||||
|
False, bPtr->titles[column], titleLen);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -239,70 +302,50 @@ WMGetBrowserFirstVisibleColumn(WMBrowser *bPtr)
|
|||||||
static void
|
static void
|
||||||
removeColumn(WMBrowser *bPtr, int column)
|
removeColumn(WMBrowser *bPtr, int column)
|
||||||
{
|
{
|
||||||
int i;
|
int i, clearEnd, destroyEnd;
|
||||||
WMList **clist;
|
WMList **clist;
|
||||||
char **tlist;
|
char **tlist;
|
||||||
|
|
||||||
if (column >= bPtr->usedColumnCount)
|
assert ((int) bPtr);
|
||||||
|
|
||||||
|
column = (column < 0) ? 0 : column;
|
||||||
|
if (column >= bPtr->columnCount) {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (column < bPtr->maxVisibleColumns) {
|
|
||||||
int tmp;
|
|
||||||
#if 0
|
|
||||||
/* this code causes bugs */
|
|
||||||
int limit;
|
|
||||||
|
|
||||||
if(bPtr->usedColumnCount < bPtr->maxVisibleColumns)
|
|
||||||
limit = bPtr->usedColumnCount;
|
|
||||||
else
|
|
||||||
limit = bPtr->maxVisibleColumns;
|
|
||||||
|
|
||||||
for (i=column; i < limit; i++) {
|
|
||||||
if (bPtr->titles[i])
|
|
||||||
free(bPtr->titles[i]);
|
|
||||||
bPtr->titles[i] = NULL;
|
|
||||||
|
|
||||||
WMClearList(bPtr->columns[i]);
|
|
||||||
bPtr->usedColumnCount--;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
for (i=column; i < bPtr->maxVisibleColumns; i++) {
|
|
||||||
if (bPtr->titles[i])
|
|
||||||
free(bPtr->titles[i]);
|
|
||||||
bPtr->titles[i] = NULL;
|
|
||||||
|
|
||||||
WMClearList(bPtr->columns[i]);
|
|
||||||
bPtr->usedColumnCount--;
|
|
||||||
}
|
|
||||||
tmp = bPtr->columnCount;
|
|
||||||
for (i=bPtr->maxVisibleColumns; i < tmp; i++) {
|
|
||||||
if (bPtr->titles[i])
|
|
||||||
free(bPtr->titles[i]);
|
|
||||||
bPtr->titles[i] = NULL;
|
|
||||||
|
|
||||||
WMDestroyWidget(bPtr->columns[i]);
|
|
||||||
bPtr->columns[i] = NULL;
|
|
||||||
bPtr->columnCount--;
|
|
||||||
bPtr->usedColumnCount--;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
} else {
|
|
||||||
int tmp = bPtr->columnCount;
|
|
||||||
for (i=column; i < tmp; i++) {
|
|
||||||
if (bPtr->titles[i])
|
|
||||||
free(bPtr->titles[i]);
|
|
||||||
bPtr->titles[i] = NULL;
|
|
||||||
|
|
||||||
WMDestroyWidget(bPtr->columns[i]);
|
|
||||||
bPtr->columns[i] = NULL;
|
|
||||||
bPtr->columnCount--;
|
|
||||||
bPtr->usedColumnCount--;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
clist = wmalloc(sizeof(WMList*)*bPtr->columnCount);
|
if (column < bPtr->maxVisibleColumns) {
|
||||||
tlist = wmalloc(sizeof(char*)*bPtr->columnCount);
|
clearEnd = bPtr->maxVisibleColumns;
|
||||||
memcpy(clist, bPtr->columns, sizeof(WMList*)*bPtr->columnCount);
|
destroyEnd = bPtr->columnCount;
|
||||||
memcpy(tlist, bPtr->titles, sizeof(char*)*bPtr->columnCount);
|
bPtr->columnCount = bPtr->maxVisibleColumns;
|
||||||
|
} else {
|
||||||
|
clearEnd = column;
|
||||||
|
destroyEnd = bPtr->columnCount;
|
||||||
|
bPtr->columnCount = column;
|
||||||
|
}
|
||||||
|
if (column < bPtr->usedColumnCount) {
|
||||||
|
bPtr->usedColumnCount = column;
|
||||||
|
}
|
||||||
|
for (i=column; i < clearEnd; i++) {
|
||||||
|
if (bPtr->titles[i]) {
|
||||||
|
free(bPtr->titles[i]);
|
||||||
|
bPtr->titles[i] = NULL;
|
||||||
|
}
|
||||||
|
WMClearList(bPtr->columns[i]);
|
||||||
|
}
|
||||||
|
for (;i < destroyEnd; i++) {
|
||||||
|
if (bPtr->titles[i]) {
|
||||||
|
free(bPtr->titles[i]);
|
||||||
|
bPtr->titles[i] = NULL;
|
||||||
|
}
|
||||||
|
WMRemoveNotificationObserverWithName(bPtr,
|
||||||
|
WMListSelectionDidChangeNotification,
|
||||||
|
bPtr->columns[i]);
|
||||||
|
WMDestroyWidget(bPtr->columns[i]);
|
||||||
|
bPtr->columns[i] = NULL;
|
||||||
|
}
|
||||||
|
clist = wmalloc(sizeof(WMList*) * (bPtr->columnCount));
|
||||||
|
tlist = wmalloc(sizeof(char*) * (bPtr->columnCount));
|
||||||
|
memcpy(clist, bPtr->columns, sizeof(WMList*) * (bPtr->columnCount));
|
||||||
|
memcpy(tlist, bPtr->titles, sizeof(char*) * (bPtr->columnCount));
|
||||||
free(bPtr->titles);
|
free(bPtr->titles);
|
||||||
free(bPtr->columns);
|
free(bPtr->columns);
|
||||||
bPtr->titles = tlist;
|
bPtr->titles = tlist;
|
||||||
@@ -310,11 +353,10 @@ removeColumn(WMBrowser *bPtr, int column)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
WMListItem*
|
WMListItem*
|
||||||
WMGetBrowserSelectedItemInColumn(WMBrowser *bPtr, int column)
|
WMGetBrowserSelectedItemInColumn(WMBrowser *bPtr, int column)
|
||||||
{
|
{
|
||||||
if ((column < 0) || (column > bPtr->columnCount))
|
if ((column < 0) || (column >= bPtr->usedColumnCount))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
return WMGetListSelectedItem(bPtr->columns[column]);
|
return WMGetListSelectedItem(bPtr->columns[column]);
|
||||||
@@ -430,8 +472,8 @@ resizeBrowser(WMWidget *w, unsigned int width, unsigned int height)
|
|||||||
bPtr->columnSize.height = height;
|
bPtr->columnSize.height = height;
|
||||||
|
|
||||||
if (bPtr->flags.isTitled) {
|
if (bPtr->flags.isTitled) {
|
||||||
bPtr->columnSize.height -= TITLE_SPACING + bPtr->titleHeight;
|
|
||||||
colY = TITLE_SPACING + bPtr->titleHeight;
|
colY = TITLE_SPACING + bPtr->titleHeight;
|
||||||
|
bPtr->columnSize.height -= colY;
|
||||||
} else {
|
} else {
|
||||||
colY = 0;
|
colY = 0;
|
||||||
}
|
}
|
||||||
@@ -481,8 +523,19 @@ paintItem(WMList *lPtr, int index, Drawable d, char *text, int state,
|
|||||||
XClearArea(scr->display, d, x, y, width, height, False);
|
XClearArea(scr->display, d, x, y, width, height, False);
|
||||||
|
|
||||||
if (text) {
|
if (text) {
|
||||||
W_PaintText(view, d, scr->normalFont, x+4, y, width,
|
/* Avoid overlaping... */
|
||||||
WALeft, W_GC(scr->black), False, text, strlen(text));
|
int textLen = strlen(text);
|
||||||
|
int widthC = (state & WLDSIsBranch) ? width-20 : width-8;
|
||||||
|
if (WMWidthOfString(scr->normalFont, text, textLen) > widthC) {
|
||||||
|
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);
|
||||||
|
free(textBuf);
|
||||||
|
} else {
|
||||||
|
W_PaintText(view, d, scr->normalFont, x+4, y, widthC,
|
||||||
|
WALeft, W_GC(scr->black), False, text, textLen);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (state & WLDSIsBranch) {
|
if (state & WLDSIsBranch) {
|
||||||
@@ -511,7 +564,7 @@ scrollCallback(WMWidget *scroller, void *self)
|
|||||||
switch (WMGetScrollerHitPart(sPtr)) {
|
switch (WMGetScrollerHitPart(sPtr)) {
|
||||||
case WSDecrementLine:
|
case WSDecrementLine:
|
||||||
if (bPtr->firstVisibleColumn > 0) {
|
if (bPtr->firstVisibleColumn > 0) {
|
||||||
scrollToColumn(bPtr, bPtr->firstVisibleColumn-1);
|
scrollToColumn(bPtr, bPtr->firstVisibleColumn-1, True);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -519,44 +572,45 @@ scrollCallback(WMWidget *scroller, void *self)
|
|||||||
if (bPtr->firstVisibleColumn > 0) {
|
if (bPtr->firstVisibleColumn > 0) {
|
||||||
newFirst = bPtr->firstVisibleColumn - bPtr->maxVisibleColumns;
|
newFirst = bPtr->firstVisibleColumn - bPtr->maxVisibleColumns;
|
||||||
|
|
||||||
scrollToColumn(bPtr, newFirst);
|
scrollToColumn(bPtr, newFirst, True);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
case WSIncrementLine:
|
case WSIncrementLine:
|
||||||
if (LAST_VISIBLE_COLUMN < bPtr->columnCount) {
|
if (LAST_VISIBLE_COLUMN < bPtr->usedColumnCount) {
|
||||||
scrollToColumn(bPtr, bPtr->firstVisibleColumn+1);
|
scrollToColumn(bPtr, bPtr->firstVisibleColumn+1, True);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WSIncrementPage:
|
case WSIncrementPage:
|
||||||
if (LAST_VISIBLE_COLUMN < bPtr->columnCount) {
|
if (LAST_VISIBLE_COLUMN < bPtr->usedColumnCount) {
|
||||||
newFirst = bPtr->firstVisibleColumn + bPtr->maxVisibleColumns;
|
newFirst = bPtr->firstVisibleColumn + bPtr->maxVisibleColumns;
|
||||||
|
|
||||||
if (newFirst+bPtr->maxVisibleColumns >= bPtr->columnCount)
|
if (newFirst+bPtr->maxVisibleColumns >= bPtr->columnCount)
|
||||||
newFirst = bPtr->columnCount - bPtr->maxVisibleColumns;
|
newFirst = bPtr->columnCount - bPtr->maxVisibleColumns;
|
||||||
|
|
||||||
scrollToColumn(bPtr, newFirst);
|
scrollToColumn(bPtr, newFirst, True);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WSKnob:
|
case WSKnob:
|
||||||
{
|
{
|
||||||
float floatValue;
|
double floatValue;
|
||||||
float value = bPtr->columnCount - bPtr->maxVisibleColumns;
|
double value = bPtr->columnCount - bPtr->maxVisibleColumns;
|
||||||
|
|
||||||
floatValue = WMGetScrollerValue(bPtr->scroller);
|
floatValue = WMGetScrollerValue(bPtr->scroller);
|
||||||
|
|
||||||
floatValue = (floatValue*value)/value;
|
floatValue = (floatValue*value)/value;
|
||||||
|
|
||||||
newFirst = floatValue*(float)(bPtr->columnCount - bPtr->maxVisibleColumns);
|
newFirst = rint(floatValue*(float)(bPtr->columnCount - bPtr->maxVisibleColumns));
|
||||||
|
|
||||||
if (bPtr->firstVisibleColumn != newFirst)
|
if (bPtr->firstVisibleColumn != newFirst)
|
||||||
scrollToColumn(bPtr, newFirst);
|
scrollToColumn(bPtr, newFirst, False);
|
||||||
else
|
/* else
|
||||||
WMSetScrollerParameters(bPtr->scroller, floatValue,
|
WMSetScrollerParameters(bPtr->scroller, floatValue,
|
||||||
bPtr->maxVisibleColumns/(float)bPtr->columnCount);
|
bPtr->maxVisibleColumns/(float)bPtr->columnCount);
|
||||||
|
*/
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -597,6 +651,14 @@ WMSetBrowserAction(WMBrowser *bPtr, WMAction *action, void *clientData)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
WMSetBrowserDoubleAction(WMBrowser *bPtr, WMAction *action, void *clientData)
|
||||||
|
{
|
||||||
|
bPtr->doubleAction = action;
|
||||||
|
bPtr->doubleClientData = clientData;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
WMSetBrowserHasScroller(WMBrowser *bPtr, int hasScroller)
|
WMSetBrowserHasScroller(WMBrowser *bPtr, int hasScroller)
|
||||||
{
|
{
|
||||||
@@ -605,30 +667,34 @@ WMSetBrowserHasScroller(WMBrowser *bPtr, int hasScroller)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Bool
|
char*
|
||||||
WMSetBrowserPath(WMBrowser *bPtr, char *path)
|
WMSetBrowserPath(WMBrowser *bPtr, char *path)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
char *str = wstrdup(path);
|
char *str = wstrdup(path);
|
||||||
char *tmp;
|
char *tmp, *retPtr = NULL;
|
||||||
int item;
|
int item;
|
||||||
Bool ok = True;
|
|
||||||
WMListItem *listItem;
|
WMListItem *listItem;
|
||||||
|
|
||||||
|
/* WMLoadBrowserColumnZero must be call first */
|
||||||
|
if (!bPtr->flags.loaded) {
|
||||||
|
return False;
|
||||||
|
}
|
||||||
|
|
||||||
removeColumn(bPtr, 1);
|
removeColumn(bPtr, 1);
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
tmp = strtok(str, bPtr->pathSeparator);
|
tmp = strtok(str, bPtr->pathSeparator);
|
||||||
while (tmp) {
|
while (tmp) {
|
||||||
/* select it in the column */
|
/* select it in the column */
|
||||||
item = WMFindRowOfListItemWithTitle(bPtr->columns[i], tmp);
|
item = WMFindRowOfListItemWithTitle(bPtr->columns[i], tmp);
|
||||||
if (item<0) {
|
if (item<0) {
|
||||||
ok = False;
|
retPtr = &path[(int)(tmp - str)];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
WMSelectListItem(bPtr->columns[i], item);
|
WMSelectListItem(bPtr->columns[i], item);
|
||||||
WMSetListPosition(bPtr->columns[i], item);
|
WMSetListPosition(bPtr->columns[i], item);
|
||||||
|
|
||||||
listItem = WMGetListItem(bPtr->columns[i], item);
|
listItem = WMGetListItem(bPtr->columns[i], item);
|
||||||
if (!listItem || !listItem->isBranch) {
|
if (!listItem || !listItem->isBranch) {
|
||||||
break;
|
break;
|
||||||
@@ -645,11 +711,25 @@ WMSetBrowserPath(WMBrowser *bPtr, char *path)
|
|||||||
}
|
}
|
||||||
free(str);
|
free(str);
|
||||||
|
|
||||||
bPtr->selectedColumn = bPtr->usedColumnCount - 1;
|
for (i = bPtr->usedColumnCount - 1;
|
||||||
|
(i > -1) && !WMGetListSelectedItem(bPtr->columns[i]);
|
||||||
|
i--);
|
||||||
|
|
||||||
scrollToColumn(bPtr, bPtr->columnCount-bPtr->maxVisibleColumns);
|
bPtr->selectedColumn = i;
|
||||||
|
|
||||||
|
if (bPtr->columnCount < bPtr->maxVisibleColumns) {
|
||||||
|
int i = bPtr->maxVisibleColumns - bPtr->columnCount;
|
||||||
|
int curUsedColumnCount = bPtr->usedColumnCount;
|
||||||
|
bPtr->usedColumnCount = bPtr->columnCount;
|
||||||
|
while (i--) {
|
||||||
|
WMAddBrowserColumn(bPtr);
|
||||||
|
}
|
||||||
|
bPtr->usedColumnCount = curUsedColumnCount;
|
||||||
|
}
|
||||||
|
|
||||||
return ok;
|
scrollToColumn(bPtr, bPtr->columnCount - bPtr->maxVisibleColumns, True);
|
||||||
|
|
||||||
|
return retPtr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -669,7 +749,11 @@ WMGetBrowserPathToColumn(WMBrowser *bPtr, int column)
|
|||||||
|
|
||||||
if (column >= bPtr->usedColumnCount)
|
if (column >= bPtr->usedColumnCount)
|
||||||
column = bPtr->usedColumnCount-1;
|
column = bPtr->usedColumnCount-1;
|
||||||
|
|
||||||
|
if (column < 0) {
|
||||||
|
return wstrdup(bPtr->pathSeparator);
|
||||||
|
}
|
||||||
|
|
||||||
/* calculate size of buffer */
|
/* calculate size of buffer */
|
||||||
size = 0;
|
size = 0;
|
||||||
for (i = 0; i <= column; i++) {
|
for (i = 0; i <= column; i++) {
|
||||||
@@ -749,7 +833,7 @@ handleEvents(XEvent *event, void *data)
|
|||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
scrollToColumn(WMBrowser *bPtr, int column)
|
scrollToColumn(WMBrowser *bPtr, int column, Bool updateScroller)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int x;
|
int x;
|
||||||
@@ -764,7 +848,7 @@ scrollToColumn(WMBrowser *bPtr, int column)
|
|||||||
|
|
||||||
x = 0;
|
x = 0;
|
||||||
bPtr->firstVisibleColumn = column;
|
bPtr->firstVisibleColumn = column;
|
||||||
for (i = 0; i < bPtr->usedColumnCount; i++) {
|
for (i = 0; i < bPtr->columnCount; i++) {
|
||||||
if (COLUMN_IS_VISIBLE(bPtr, i)) {
|
if (COLUMN_IS_VISIBLE(bPtr, i)) {
|
||||||
WMMoveWidget(bPtr->columns[i], x,
|
WMMoveWidget(bPtr->columns[i], x,
|
||||||
WMWidgetView(bPtr->columns[i])->pos.y);
|
WMWidgetView(bPtr->columns[i])->pos.y);
|
||||||
@@ -778,15 +862,17 @@ scrollToColumn(WMBrowser *bPtr, int column)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* update the scroller */
|
/* update the scroller */
|
||||||
if (bPtr->columnCount > bPtr->maxVisibleColumns) {
|
if (updateScroller) {
|
||||||
float value, proportion;
|
if (bPtr->columnCount > bPtr->maxVisibleColumns) {
|
||||||
|
float value, proportion;
|
||||||
|
|
||||||
value = bPtr->firstVisibleColumn
|
value = bPtr->firstVisibleColumn
|
||||||
/(float)(bPtr->columnCount-bPtr->maxVisibleColumns);
|
/(float)(bPtr->columnCount-bPtr->maxVisibleColumns);
|
||||||
proportion = bPtr->maxVisibleColumns/(float)bPtr->columnCount;
|
proportion = bPtr->maxVisibleColumns/(float)bPtr->columnCount;
|
||||||
WMSetScrollerParameters(bPtr->scroller, value, proportion);
|
WMSetScrollerParameters(bPtr->scroller, value, proportion);
|
||||||
} else {
|
} else {
|
||||||
WMSetScrollerParameters(bPtr->scroller, 0, 1);
|
WMSetScrollerParameters(bPtr->scroller, 0, 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bPtr->view->flags.mapped)
|
if (bPtr->view->flags.mapped)
|
||||||
@@ -803,10 +889,11 @@ listCallback(void *self, void *clientData)
|
|||||||
WMBrowser *bPtr = (WMBrowser*)clientData;
|
WMBrowser *bPtr = (WMBrowser*)clientData;
|
||||||
WMList *lPtr = (WMList*)self;
|
WMList *lPtr = (WMList*)self;
|
||||||
WMListItem *item;
|
WMListItem *item;
|
||||||
|
static WMListItem *oldItem = NULL;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
item = WMGetListSelectedItem(lPtr);
|
item = WMGetListSelectedItem(lPtr);
|
||||||
if (!item)
|
if (!item || oldItem == item)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for (i=0; i<bPtr->columnCount; i++) {
|
for (i=0; i<bPtr->columnCount; i++) {
|
||||||
@@ -815,8 +902,6 @@ listCallback(void *self, void *clientData)
|
|||||||
}
|
}
|
||||||
assert(i<bPtr->columnCount);
|
assert(i<bPtr->columnCount);
|
||||||
|
|
||||||
bPtr->selectedColumn = i;
|
|
||||||
|
|
||||||
/* columns at right must be cleared */
|
/* columns at right must be cleared */
|
||||||
removeColumn(bPtr, i+1);
|
removeColumn(bPtr, i+1);
|
||||||
/* open directory */
|
/* open directory */
|
||||||
@@ -828,11 +913,30 @@ listCallback(void *self, void *clientData)
|
|||||||
i = 0;
|
i = 0;
|
||||||
else
|
else
|
||||||
i = bPtr->usedColumnCount-bPtr->maxVisibleColumns;
|
i = bPtr->usedColumnCount-bPtr->maxVisibleColumns;
|
||||||
scrollToColumn(bPtr, i);
|
scrollToColumn(bPtr, i, True);
|
||||||
|
|
||||||
/* call callback for click */
|
/* call callback for click */
|
||||||
if (bPtr->action)
|
if (bPtr->action)
|
||||||
(*bPtr->action)(bPtr, bPtr->clientData);
|
(*bPtr->action)(bPtr, bPtr->clientData);
|
||||||
|
|
||||||
|
oldItem = item;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
listDoubleCallback(void *self, void *clientData)
|
||||||
|
{
|
||||||
|
WMBrowser *bPtr = (WMBrowser*)clientData;
|
||||||
|
WMList *lPtr = (WMList*)self;
|
||||||
|
WMListItem *item;
|
||||||
|
|
||||||
|
item = WMGetListSelectedItem(lPtr);
|
||||||
|
if (!item)
|
||||||
|
return;
|
||||||
|
|
||||||
|
/* call callback for double click */
|
||||||
|
if (bPtr->doubleAction)
|
||||||
|
(*bPtr->doubleAction)(bPtr, bPtr->doubleClientData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -846,7 +950,7 @@ WMLoadBrowserColumnZero(WMBrowser *bPtr)
|
|||||||
loadColumn(bPtr, 0);
|
loadColumn(bPtr, 0);
|
||||||
|
|
||||||
/* make column 0 visible */
|
/* make column 0 visible */
|
||||||
scrollToColumn(bPtr, 0);
|
scrollToColumn(bPtr, 0, True);
|
||||||
|
|
||||||
bPtr->flags.loaded = 1;
|
bPtr->flags.loaded = 1;
|
||||||
}
|
}
|
||||||
@@ -857,25 +961,50 @@ void
|
|||||||
WMRemoveBrowserItem(WMBrowser *bPtr, int column, int row)
|
WMRemoveBrowserItem(WMBrowser *bPtr, int column, int row)
|
||||||
{
|
{
|
||||||
WMList *list;
|
WMList *list;
|
||||||
|
|
||||||
if (column < 0 || column >= bPtr->usedColumnCount)
|
if (column < 0 || column >= bPtr->usedColumnCount)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
list = WMGetBrowserListInColumn(bPtr, column);
|
list = WMGetBrowserListInColumn(bPtr, column);
|
||||||
|
|
||||||
if (row < 0 || row >= WMGetListNumberOfRows(list))
|
if (row < 0 || row >= WMGetListNumberOfRows(list))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
removeColumn(bPtr, column+1);
|
removeColumn(bPtr, column+1);
|
||||||
if (bPtr->usedColumnCount < bPtr->maxVisibleColumns)
|
if (bPtr->usedColumnCount < bPtr->maxVisibleColumns)
|
||||||
scrollToColumn(bPtr, 0);
|
scrollToColumn(bPtr, 0, True);
|
||||||
else
|
else
|
||||||
scrollToColumn(bPtr, bPtr->usedColumnCount-bPtr->maxVisibleColumns);
|
scrollToColumn(bPtr, bPtr->usedColumnCount-bPtr->maxVisibleColumns,
|
||||||
|
True);
|
||||||
|
|
||||||
WMRemoveListItem(list, row);
|
WMRemoveListItem(list, row);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
listSelectionObserver(void *observerData, WMNotification *notification)
|
||||||
|
{
|
||||||
|
WMBrowser *bPtr = (WMBrowser*)observerData;
|
||||||
|
int column, item = (int)WMGetNotificationClientData(notification);
|
||||||
|
WMList *lPtr = (WMList*)WMGetNotificationObject(notification);
|
||||||
|
|
||||||
|
for (column=0; column<bPtr->usedColumnCount; column++)
|
||||||
|
if (bPtr->columns[column] == lPtr)
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* this can happen when a list is being cleared with WMClearList
|
||||||
|
* after the column was removed */
|
||||||
|
if (column >= bPtr->usedColumnCount) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item < 0)
|
||||||
|
column--;
|
||||||
|
|
||||||
|
bPtr->selectedColumn = column;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
WMAddBrowserColumn(WMBrowser *bPtr)
|
WMAddBrowserColumn(WMBrowser *bPtr)
|
||||||
{
|
{
|
||||||
@@ -915,7 +1044,11 @@ WMAddBrowserColumn(WMBrowser *bPtr)
|
|||||||
|
|
||||||
list = WMCreateList(bPtr);
|
list = WMCreateList(bPtr);
|
||||||
WMSetListAction(list, listCallback, bPtr);
|
WMSetListAction(list, listCallback, bPtr);
|
||||||
|
WMSetListDoubleAction(list, listDoubleCallback, bPtr);
|
||||||
WMSetListUserDrawProc(list, paintItem);
|
WMSetListUserDrawProc(list, paintItem);
|
||||||
|
WMAddNotificationObserver(listSelectionObserver, bPtr,
|
||||||
|
WMListSelectionDidChangeNotification, list);
|
||||||
|
|
||||||
bPtr->columns[index] = list;
|
bPtr->columns[index] = list;
|
||||||
|
|
||||||
WMResizeWidget(list, bPtr->columnSize.width, bPtr->columnSize.height);
|
WMResizeWidget(list, bPtr->columnSize.width, bPtr->columnSize.height);
|
||||||
@@ -951,7 +1084,37 @@ destroyBrowser(WMBrowser *bPtr)
|
|||||||
|
|
||||||
free(bPtr->pathSeparator);
|
free(bPtr->pathSeparator);
|
||||||
|
|
||||||
|
WMRemoveNotificationObserver(bPtr);
|
||||||
|
|
||||||
free(bPtr);
|
free(bPtr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static char*
|
||||||
|
createTruncatedString(WMFont *font, char *text, int *textLen, int width)
|
||||||
|
{
|
||||||
|
int dLen = WMWidthOfString(font, ".", 1);
|
||||||
|
char *textBuf = (char*)wmalloc((*textLen)+4);
|
||||||
|
|
||||||
|
if (width >= 3*dLen) {
|
||||||
|
int dddLen = 3*dLen;
|
||||||
|
int tmpTextLen = *textLen;
|
||||||
|
|
||||||
|
strcpy(textBuf, text);
|
||||||
|
while (tmpTextLen
|
||||||
|
&& (WMWidthOfString(font, textBuf, tmpTextLen)+dddLen > width))
|
||||||
|
tmpTextLen--;
|
||||||
|
strcpy(textBuf+tmpTextLen, "...");
|
||||||
|
*textLen = tmpTextLen+3;
|
||||||
|
} else if (width >= 2*dLen) {
|
||||||
|
strcpy(textBuf, "..");
|
||||||
|
*textLen = 2;
|
||||||
|
} else if (width >= dLen) {
|
||||||
|
strcpy(textBuf, ".");
|
||||||
|
*textLen = 1;
|
||||||
|
} else {
|
||||||
|
*textBuf = '\0';
|
||||||
|
*textLen = 0;
|
||||||
|
}
|
||||||
|
return textBuf;
|
||||||
|
}
|
||||||
|
|||||||
5164
WINGs/wcolorpanel.c
5164
WINGs/wcolorpanel.c
File diff suppressed because it is too large
Load Diff
@@ -328,8 +328,10 @@ checkIdleHandlers()
|
|||||||
{
|
{
|
||||||
IdleHandler *handler, *tmp;
|
IdleHandler *handler, *tmp;
|
||||||
|
|
||||||
if (!idleHandler)
|
if (!idleHandler) {
|
||||||
return;
|
W_FlushIdleNotificationQueue();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
handler = idleHandler;
|
handler = idleHandler;
|
||||||
|
|
||||||
@@ -344,6 +346,7 @@ checkIdleHandlers()
|
|||||||
|
|
||||||
handler = tmp;
|
handler = tmp;
|
||||||
}
|
}
|
||||||
|
W_FlushIdleNotificationQueue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -353,7 +356,7 @@ checkTimerHandlers()
|
|||||||
{
|
{
|
||||||
TimerHandler *handler;
|
TimerHandler *handler;
|
||||||
struct timeval now;
|
struct timeval now;
|
||||||
|
|
||||||
rightNow(&now);
|
rightNow(&now);
|
||||||
|
|
||||||
while (timerHandler && IS_AFTER(now, timerHandler->when)) {
|
while (timerHandler && IS_AFTER(now, timerHandler->when)) {
|
||||||
@@ -363,6 +366,8 @@ checkTimerHandlers()
|
|||||||
(*handler->callback)(handler->clientData);
|
(*handler->callback)(handler->clientData);
|
||||||
free(handler);
|
free(handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
W_FlushASAPNotificationQueue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -797,7 +802,9 @@ W_WaitForEvent(Display *dpy, unsigned long xeventmask)
|
|||||||
|
|
||||||
retval = fds[0].revents & (POLLIN|POLLRDNORM|POLLRDBAND|POLLPRI);
|
retval = fds[0].revents & (POLLIN|POLLRDNORM|POLLRDBAND|POLLPRI);
|
||||||
free(fds);
|
free(fds);
|
||||||
|
|
||||||
|
W_FlushASAPNotificationQueue();
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
#else /* not HAVE_POLL */
|
#else /* not HAVE_POLL */
|
||||||
#ifdef HAVE_SELECT
|
#ifdef HAVE_SELECT
|
||||||
@@ -882,7 +889,9 @@ W_WaitForEvent(Display *dpy, unsigned long xeventmask)
|
|||||||
handler = handler->next;
|
handler = handler->next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
W_FlushASAPNotificationQueue();
|
||||||
|
|
||||||
return FD_ISSET(ConnectionNumber(dpy), &rset);
|
return FD_ISSET(ConnectionNumber(dpy), &rset);
|
||||||
#else /* not HAVE_SELECT, not HAVE_POLL */
|
#else /* not HAVE_SELECT, not HAVE_POLL */
|
||||||
Neither select nor poll. You lose.
|
Neither select nor poll. You lose.
|
||||||
@@ -890,6 +899,7 @@ Neither select nor poll. You lose.
|
|||||||
#endif /* HAVE_POLL */
|
#endif /* HAVE_POLL */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
WMNextEvent(Display *dpy, XEvent *event)
|
WMNextEvent(Display *dpy, XEvent *event)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "WINGsP.h"
|
#include "WINGsP.h"
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
@@ -47,15 +44,24 @@ typedef struct W_FilePanel {
|
|||||||
unsigned int showAllFiles:1;
|
unsigned int showAllFiles:1;
|
||||||
unsigned int canFreeFileTypes:1;
|
unsigned int canFreeFileTypes:1;
|
||||||
unsigned int fileMustExist:1;
|
unsigned int fileMustExist:1;
|
||||||
|
unsigned int panelType:1;
|
||||||
|
|
||||||
|
/**/
|
||||||
|
unsigned int ignoreTextChangeNotification:1;
|
||||||
} flags;
|
} flags;
|
||||||
} W_FilePanel;
|
} W_FilePanel;
|
||||||
|
|
||||||
|
|
||||||
|
/* Type of panel */
|
||||||
|
#define WP_OPEN 0
|
||||||
|
#define WP_SAVE 1
|
||||||
|
|
||||||
#define PWIDTH 320
|
#define PWIDTH 320
|
||||||
#define PHEIGHT 360
|
#define PHEIGHT 360
|
||||||
|
|
||||||
static void listDirectoryOnColumn(WMFilePanel *panel, int column, char *path);
|
static void listDirectoryOnColumn(WMFilePanel *panel, int column, char *path);
|
||||||
static void browserClick();
|
static void browserClick();
|
||||||
|
static void browserDClick();
|
||||||
|
|
||||||
static void fillColumn(WMBrowser *bPtr, int column);
|
static void fillColumn(WMBrowser *bPtr, int column);
|
||||||
|
|
||||||
@@ -65,6 +71,7 @@ static void buttonClick();
|
|||||||
|
|
||||||
static char *getCurrentFileName(WMFilePanel *panel);
|
static char *getCurrentFileName(WMFilePanel *panel);
|
||||||
|
|
||||||
|
static void handleEvents(XEvent *event, void *data);
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -94,14 +101,24 @@ static void
|
|||||||
textChangedObserver(void *observerData, WMNotification *notification)
|
textChangedObserver(void *observerData, WMNotification *notification)
|
||||||
{
|
{
|
||||||
W_FilePanel *panel = (W_FilePanel*)observerData;
|
W_FilePanel *panel = (W_FilePanel*)observerData;
|
||||||
char *text, *text1;
|
char *text;
|
||||||
WMList *list;
|
WMList *list;
|
||||||
int col = WMGetBrowserNumberOfColumns(panel->browser) - 1;
|
int col = WMGetBrowserNumberOfColumns(panel->browser) - 1;
|
||||||
int i, j, textEvent = (int)WMGetNotificationClientData(notification);
|
int i, j, textEvent = (int)WMGetNotificationClientData(notification);
|
||||||
|
static int running = 0;
|
||||||
|
|
||||||
|
if (running)
|
||||||
|
return;
|
||||||
|
|
||||||
|
running = 1;
|
||||||
|
|
||||||
|
if (panel->flags.ignoreTextChangeNotification)
|
||||||
|
return;
|
||||||
|
|
||||||
list = WMGetBrowserListInColumn(panel->browser, col);
|
list = WMGetBrowserListInColumn(panel->browser, col);
|
||||||
if (!list)
|
if (!list)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
text = WMGetTextFieldText(panel->fileField);
|
text = WMGetTextFieldText(panel->fileField);
|
||||||
|
|
||||||
if (panel->flags.autoCompletion && textEvent!=WMDeleteTextEvent)
|
if (panel->flags.autoCompletion && textEvent!=WMDeleteTextEvent)
|
||||||
@@ -110,45 +127,28 @@ textChangedObserver(void *observerData, WMNotification *notification)
|
|||||||
i = closestListItem(list, text, True);
|
i = closestListItem(list, text, True);
|
||||||
|
|
||||||
WMSelectListItem(list, i);
|
WMSelectListItem(list, i);
|
||||||
if (i>=0) {
|
if (i>=0 && panel->flags.autoCompletion) {
|
||||||
WMListItem *item = WMGetListItem(list, i);
|
WMListItem *item = WMGetListItem(list, i);
|
||||||
int textLen = strlen(text), itemTextLen = strlen(item->text);
|
int textLen = strlen(text), itemTextLen = strlen(item->text);
|
||||||
|
int visibleItems = WMWidgetHeight(list)/WMGetListItemHeight(list);
|
||||||
WMSetListPosition(list, i);
|
|
||||||
|
if (textEvent!=WMSetTextEvent || textLen<itemTextLen)
|
||||||
if (panel->flags.autoCompletion) {
|
WMSetListPosition(list, i - visibleItems/2);
|
||||||
/* Be careful with the '<' condition below. Changing it can drop
|
|
||||||
* you into an endless loop. We call here, inside a function
|
if (textEvent!=WMDeleteTextEvent && textLen<itemTextLen) {
|
||||||
* called from a notification observer, to a function that
|
WMRange range;
|
||||||
* generates notification events. So make sure we do not call it
|
|
||||||
* recursively for ever.
|
WMInsertTextFieldText(panel->fileField, &item->text[textLen],
|
||||||
* '<' means we only update text field if it is really not yet
|
textLen);
|
||||||
* complete. -Dan
|
WMSetTextFieldCursorPosition(panel->fileField, itemTextLen);
|
||||||
*/
|
range.position = textLen;
|
||||||
if (textLen < itemTextLen && textEvent!=WMDeleteTextEvent) {
|
range.count = itemTextLen - textLen;
|
||||||
WMRange range;
|
WMSelectTextFieldRange(panel->fileField, range);
|
||||||
|
}
|
||||||
WMInsertTextFieldText(panel->fileField, &item->text[textLen],
|
|
||||||
textLen);
|
|
||||||
WMSetTextFieldCursorPosition(panel->fileField, itemTextLen);
|
|
||||||
range.position = textLen;
|
|
||||||
range.count = itemTextLen - textLen;
|
|
||||||
WMSelectTextFieldRange(panel->fileField, range);
|
|
||||||
}
|
|
||||||
|
|
||||||
text1 = WMGetTextFieldText(panel->fileField);
|
|
||||||
j = closestListItem(list, text1, True);
|
|
||||||
if (i != j) {
|
|
||||||
WMSelectListItem(list, j);
|
|
||||||
if (j>=0) {
|
|
||||||
WMSetListPosition(list, j);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
free(text1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
free(text);
|
free(text);
|
||||||
|
running = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -178,6 +178,11 @@ makeFilePanel(WMScreen *scrPtr, char *name, char *title)
|
|||||||
WMResizeWidget(fPtr->win, PWIDTH, PHEIGHT);
|
WMResizeWidget(fPtr->win, PWIDTH, PHEIGHT);
|
||||||
WMSetWindowTitle(fPtr->win, "");
|
WMSetWindowTitle(fPtr->win, "");
|
||||||
|
|
||||||
|
WMCreateEventHandler(WMWidgetView(fPtr->win), StructureNotifyMask,
|
||||||
|
handleEvents, fPtr);
|
||||||
|
WMSetWindowMinSize(fPtr->win, PWIDTH, PHEIGHT);
|
||||||
|
|
||||||
|
|
||||||
fPtr->iconLabel = WMCreateLabel(fPtr->win);
|
fPtr->iconLabel = WMCreateLabel(fPtr->win);
|
||||||
WMResizeWidget(fPtr->iconLabel, 64, 64);
|
WMResizeWidget(fPtr->iconLabel, 64, 64);
|
||||||
WMMoveWidget(fPtr->iconLabel, 0, 0);
|
WMMoveWidget(fPtr->iconLabel, 0, 0);
|
||||||
@@ -200,6 +205,7 @@ makeFilePanel(WMScreen *scrPtr, char *name, char *title)
|
|||||||
fPtr->browser = WMCreateBrowser(fPtr->win);
|
fPtr->browser = WMCreateBrowser(fPtr->win);
|
||||||
WMSetBrowserFillColumnProc(fPtr->browser, fillColumn);
|
WMSetBrowserFillColumnProc(fPtr->browser, fillColumn);
|
||||||
WMSetBrowserAction(fPtr->browser, browserClick, fPtr);
|
WMSetBrowserAction(fPtr->browser, browserClick, fPtr);
|
||||||
|
WMSetBrowserDoubleAction(fPtr->browser, browserDClick, fPtr);
|
||||||
WMMoveWidget(fPtr->browser, 7, 72);
|
WMMoveWidget(fPtr->browser, 7, 72);
|
||||||
WMHangData(fPtr->browser, fPtr);
|
WMHangData(fPtr->browser, fPtr);
|
||||||
|
|
||||||
@@ -238,12 +244,15 @@ makeFilePanel(WMScreen *scrPtr, char *name, char *title)
|
|||||||
WMResizeWidget(fPtr->homeButton, 28, 28);
|
WMResizeWidget(fPtr->homeButton, 28, 28);
|
||||||
WMSetButtonImagePosition(fPtr->homeButton, WIPImageOnly);
|
WMSetButtonImagePosition(fPtr->homeButton, WIPImageOnly);
|
||||||
WMSetButtonImage(fPtr->homeButton, scrPtr->homeIcon);
|
WMSetButtonImage(fPtr->homeButton, scrPtr->homeIcon);
|
||||||
WMSetButtonAltImage(fPtr->homeButton, scrPtr->homeAltIcon);
|
WMSetButtonAltImage(fPtr->homeButton, scrPtr->altHomeIcon);
|
||||||
WMSetButtonAction(fPtr->homeButton, goHome, fPtr);
|
WMSetButtonAction(fPtr->homeButton, goHome, fPtr);
|
||||||
|
|
||||||
WMRealizeWidget(fPtr->win);
|
WMRealizeWidget(fPtr->win);
|
||||||
WMMapSubwidgets(fPtr->win);
|
WMMapSubwidgets(fPtr->win);
|
||||||
|
|
||||||
|
WMSetFocusToWidget(fPtr->fileField);
|
||||||
|
WMSetTextFieldCursorPosition(fPtr->fileField, 0);
|
||||||
|
|
||||||
WMLoadBrowserColumnZero(fPtr->browser);
|
WMLoadBrowserColumnZero(fPtr->browser);
|
||||||
|
|
||||||
fPtr->flags.canChooseFiles = 1;
|
fPtr->flags.canChooseFiles = 1;
|
||||||
@@ -264,6 +273,7 @@ WMGetOpenPanel(WMScreen *scrPtr)
|
|||||||
|
|
||||||
panel = makeFilePanel(scrPtr, "openFilePanel", "Open");
|
panel = makeFilePanel(scrPtr, "openFilePanel", "Open");
|
||||||
panel->flags.fileMustExist = 1;
|
panel->flags.fileMustExist = 1;
|
||||||
|
panel->flags.panelType = WP_OPEN;
|
||||||
|
|
||||||
scrPtr->sharedOpenPanel = panel;
|
scrPtr->sharedOpenPanel = panel;
|
||||||
|
|
||||||
@@ -281,6 +291,7 @@ WMGetSavePanel(WMScreen *scrPtr)
|
|||||||
|
|
||||||
panel = makeFilePanel(scrPtr, "saveFilePanel", "Save");
|
panel = makeFilePanel(scrPtr, "saveFilePanel", "Save");
|
||||||
panel->flags.fileMustExist = 0;
|
panel->flags.fileMustExist = 0;
|
||||||
|
panel->flags.panelType = WP_SAVE;
|
||||||
|
|
||||||
scrPtr->sharedSavePanel = panel;
|
scrPtr->sharedSavePanel = panel;
|
||||||
|
|
||||||
@@ -305,20 +316,40 @@ WMFreeFilePanel(WMFilePanel *panel)
|
|||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
WMRunModalSavePanelForDirectory(WMFilePanel *panel, WMWindow *owner,
|
WMRunModalFilePanelForDirectory(WMFilePanel *panel, WMWindow *owner,
|
||||||
char *path, char *name)
|
char *path, char *name, char **fileTypes)
|
||||||
{
|
{
|
||||||
WMScreen *scr = WMWidgetScreen(panel->win);
|
WMScreen *scr = WMWidgetScreen(panel->win);
|
||||||
XEvent event;
|
XEvent event;
|
||||||
|
|
||||||
WMChangePanelOwner(panel->win, owner);
|
WMChangePanelOwner(panel->win, owner);
|
||||||
|
|
||||||
|
if (name && !owner) {
|
||||||
|
WMSetWindowTitle(panel->win, name);
|
||||||
|
}
|
||||||
|
|
||||||
WMSetFilePanelDirectory(panel, path);
|
WMSetFilePanelDirectory(panel, path);
|
||||||
|
|
||||||
panel->flags.done = 0;
|
panel->flags.done = 0;
|
||||||
panel->fileTypes = NULL;
|
switch(panel->flags.panelType) {
|
||||||
|
case WP_OPEN:
|
||||||
|
if (fileTypes)
|
||||||
|
panel->flags.filtered = 1;
|
||||||
|
panel->fileTypes = fileTypes;
|
||||||
|
if (name == NULL)
|
||||||
|
name = "Open";
|
||||||
|
break;
|
||||||
|
case WP_SAVE:
|
||||||
|
panel->fileTypes = NULL;
|
||||||
|
panel->flags.filtered = 0;
|
||||||
|
if (name == NULL)
|
||||||
|
name = "Save";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
panel->flags.filtered = 0;
|
WMSetLabelText(panel->titleLabel, name);
|
||||||
|
|
||||||
WMMapWidget(panel->win);
|
WMMapWidget(panel->win);
|
||||||
|
|
||||||
@@ -337,35 +368,6 @@ WMRunModalSavePanelForDirectory(WMFilePanel *panel, WMWindow *owner,
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
WMRunModalOpenPanelForDirectory(WMFilePanel *panel, WMWindow *owner,
|
|
||||||
char *path, char *name, char **fileTypes)
|
|
||||||
{
|
|
||||||
WMScreen *scr = WMWidgetScreen(panel->win);
|
|
||||||
XEvent event;
|
|
||||||
|
|
||||||
WMChangePanelOwner(panel->win, owner);
|
|
||||||
|
|
||||||
WMSetFilePanelDirectory(panel, path);
|
|
||||||
|
|
||||||
panel->flags.done = 0;
|
|
||||||
|
|
||||||
if (fileTypes)
|
|
||||||
panel->flags.filtered = 1;
|
|
||||||
panel->fileTypes = fileTypes;
|
|
||||||
|
|
||||||
WMMapWidget(panel->win);
|
|
||||||
|
|
||||||
while (!panel->flags.done) {
|
|
||||||
WMNextEvent(scr->display, &event);
|
|
||||||
WMHandleEvent(&event);
|
|
||||||
}
|
|
||||||
|
|
||||||
WMCloseWindow(panel->win);
|
|
||||||
|
|
||||||
return (panel->flags.canceled ? False : True);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
WMSetFilePanelDirectory(WMFilePanel *panel, char *path)
|
WMSetFilePanelDirectory(WMFilePanel *panel, char *path)
|
||||||
@@ -373,18 +375,22 @@ WMSetFilePanelDirectory(WMFilePanel *panel, char *path)
|
|||||||
WMList *list;
|
WMList *list;
|
||||||
WMListItem *item;
|
WMListItem *item;
|
||||||
int col;
|
int col;
|
||||||
|
char *rest;
|
||||||
WMSetBrowserPath(panel->browser, path);
|
|
||||||
col = WMGetBrowserNumberOfColumns(panel->browser) - 1;
|
rest = WMSetBrowserPath(panel->browser, path);
|
||||||
|
if (strcmp(path, "/")==0)
|
||||||
|
rest = NULL;
|
||||||
|
|
||||||
|
col = WMGetBrowserSelectedColumn(panel->browser);
|
||||||
list = WMGetBrowserListInColumn(panel->browser, col);
|
list = WMGetBrowserListInColumn(panel->browser, col);
|
||||||
if (list && (item = WMGetListSelectedItem(list))) {
|
if (list && (item = WMGetListSelectedItem(list))) {
|
||||||
if (item->isBranch) {
|
if (item->isBranch) {
|
||||||
WMSetTextFieldText(panel->fileField, NULL);
|
WMSetTextFieldText(panel->fileField, rest);
|
||||||
} else {
|
} else {
|
||||||
WMSetTextFieldText(panel->fileField, item->text);
|
WMSetTextFieldText(panel->fileField, item->text);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
WMSetTextFieldText(panel->fileField, path);
|
WMSetTextFieldText(panel->fileField, rest);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -425,7 +431,7 @@ WMSetFilePanelAccessoryView(WMFilePanel *panel, WMView *view)
|
|||||||
|
|
||||||
v = WMWidgetView(panel->win);
|
v = WMWidgetView(panel->win);
|
||||||
|
|
||||||
W_ReparentView(view, v);
|
W_ReparentView(view, v, 0, 0);
|
||||||
|
|
||||||
W_MoveView(view, (v->size.width - v->size.width)/2, 300);
|
W_MoveView(view, (v->size.width - v->size.width)/2, 300);
|
||||||
}
|
}
|
||||||
@@ -541,18 +547,27 @@ fillColumn(WMBrowser *bPtr, int column)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
browserDClick(WMBrowser *bPtr, WMFilePanel *panel)
|
||||||
|
{
|
||||||
|
WMPerformButtonClick(panel->okButton);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
browserClick(WMBrowser *bPtr, WMFilePanel *panel)
|
browserClick(WMBrowser *bPtr, WMFilePanel *panel)
|
||||||
{
|
{
|
||||||
int col = WMGetBrowserSelectedColumn(bPtr);
|
int col = WMGetBrowserSelectedColumn(bPtr);
|
||||||
WMListItem *item = WMGetBrowserSelectedItemInColumn(bPtr, col);
|
WMListItem *item = WMGetBrowserSelectedItemInColumn(bPtr, col);
|
||||||
|
|
||||||
|
panel->flags.ignoreTextChangeNotification = 1;
|
||||||
|
|
||||||
if (!item || item->isBranch)
|
if (!item || item->isBranch)
|
||||||
WMSetTextFieldText(panel->fileField, NULL);
|
WMSetTextFieldText(panel->fileField, NULL);
|
||||||
else {
|
else {
|
||||||
WMSetTextFieldText(panel->fileField, item->text);
|
WMSetTextFieldText(panel->fileField, item->text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
panel->flags.ignoreTextChangeNotification = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -570,6 +585,39 @@ goHome(WMButton *bPtr, WMFilePanel *panel)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
handleEvents(XEvent *event, void *data)
|
||||||
|
{
|
||||||
|
W_FilePanel *pPtr = (W_FilePanel*)data;
|
||||||
|
W_View *view = WMWidgetView(pPtr->win);
|
||||||
|
|
||||||
|
if (event->type == ConfigureNotify) {
|
||||||
|
if (event->xconfigure.width != view->size.width
|
||||||
|
|| event->xconfigure.height != view->size.height) {
|
||||||
|
unsigned int newWidth = event->xconfigure.width;
|
||||||
|
unsigned int newHeight = event->xconfigure.height;
|
||||||
|
int newColumnCount;
|
||||||
|
|
||||||
|
W_ResizeView(view, newWidth, newHeight);
|
||||||
|
WMResizeWidget(pPtr->line, newWidth, 2);
|
||||||
|
WMResizeWidget(pPtr->browser, newWidth-14,
|
||||||
|
newHeight-(PHEIGHT-200));
|
||||||
|
WMResizeWidget(pPtr->fileField, newWidth-60-10, 24);
|
||||||
|
WMMoveWidget(pPtr->nameLabel, 7, newHeight-(PHEIGHT-282));
|
||||||
|
WMMoveWidget(pPtr->fileField, 60, newHeight-(PHEIGHT-278));
|
||||||
|
WMMoveWidget(pPtr->okButton, newWidth-(PWIDTH-230),
|
||||||
|
newHeight-(PHEIGHT-325));
|
||||||
|
WMMoveWidget(pPtr->cancelButton, newWidth-(PWIDTH-140),
|
||||||
|
newHeight-(PHEIGHT-325));
|
||||||
|
WMMoveWidget(pPtr->homeButton, 55, newHeight-(PHEIGHT-325));
|
||||||
|
|
||||||
|
newColumnCount = (newWidth - 14) / 140;
|
||||||
|
WMSetBrowserMaxVisibleColumns(pPtr->browser, newColumnCount);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static char*
|
static char*
|
||||||
getCurrentFileName(WMFilePanel *panel)
|
getCurrentFileName(WMFilePanel *panel)
|
||||||
{
|
{
|
||||||
@@ -604,23 +652,30 @@ static Bool
|
|||||||
validOpenFile(WMFilePanel *panel)
|
validOpenFile(WMFilePanel *panel)
|
||||||
{
|
{
|
||||||
WMListItem *item;
|
WMListItem *item;
|
||||||
int col;
|
int col, haveFile = 0;
|
||||||
|
char *file = WMGetTextFieldText(panel->fileField);
|
||||||
|
|
||||||
/*col = WMGetBrowserSelectedColumn(panel->browser);*/
|
if (file[0] != '\0')
|
||||||
col = WMGetBrowserNumberOfColumns(panel->browser) - 1;
|
haveFile = 1;
|
||||||
|
free(file);
|
||||||
|
|
||||||
|
col = WMGetBrowserSelectedColumn(panel->browser);
|
||||||
item = WMGetBrowserSelectedItemInColumn(panel->browser, col);
|
item = WMGetBrowserSelectedItemInColumn(panel->browser, col);
|
||||||
if (item) {
|
if (item) {
|
||||||
if (item->isBranch && !panel->flags.canChooseDirectories)
|
if (item->isBranch && !panel->flags.canChooseDirectories && !haveFile)
|
||||||
return False;
|
return False;
|
||||||
else if (!item->isBranch && !panel->flags.canChooseFiles)
|
else if (!item->isBranch && !panel->flags.canChooseFiles)
|
||||||
return False;
|
return False;
|
||||||
else
|
else
|
||||||
return True;
|
return True;
|
||||||
|
} else {
|
||||||
|
/* we compute for / here */
|
||||||
|
if (!panel->flags.canChooseDirectories && !haveFile)
|
||||||
|
return False;
|
||||||
|
else
|
||||||
|
return True;
|
||||||
}
|
}
|
||||||
if (!panel->flags.canChooseDirectories)
|
return True;
|
||||||
return False;
|
|
||||||
else
|
|
||||||
return True;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -628,11 +683,13 @@ validOpenFile(WMFilePanel *panel)
|
|||||||
static void
|
static void
|
||||||
buttonClick(WMButton *bPtr, WMFilePanel *panel)
|
buttonClick(WMButton *bPtr, WMFilePanel *panel)
|
||||||
{
|
{
|
||||||
|
WMRange range;
|
||||||
|
|
||||||
if (bPtr == panel->okButton) {
|
if (bPtr == panel->okButton) {
|
||||||
|
if (!validOpenFile(panel))
|
||||||
|
return;
|
||||||
if (panel->flags.fileMustExist) {
|
if (panel->flags.fileMustExist) {
|
||||||
char *file;
|
char *file;
|
||||||
if (!validOpenFile(panel))
|
|
||||||
return;
|
|
||||||
|
|
||||||
file = getCurrentFileName(panel);
|
file = getCurrentFileName(panel);
|
||||||
if (access(file, F_OK)!=0) {
|
if (access(file, F_OK)!=0) {
|
||||||
@@ -648,6 +705,8 @@ buttonClick(WMButton *bPtr, WMFilePanel *panel)
|
|||||||
} else
|
} else
|
||||||
panel->flags.canceled = 1;
|
panel->flags.canceled = 1;
|
||||||
|
|
||||||
|
range.count = range.position = 0;
|
||||||
|
WMSelectTextFieldRange(panel->fileField, range);
|
||||||
panel->flags.done = 1;
|
panel->flags.done = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -140,6 +140,9 @@ WMSystemFontOfSize(WMScreen *scrPtr, int size)
|
|||||||
if (!font) {
|
if (!font) {
|
||||||
wwarning("could not load font set %s. Trying fixed.", fontSpec);
|
wwarning("could not load font set %s. Trying fixed.", fontSpec);
|
||||||
font = WMCreateFont(scrPtr, "fixed");
|
font = WMCreateFont(scrPtr, "fixed");
|
||||||
|
if (!font) {
|
||||||
|
font = WMCreateFont(scrPtr, "-*-fixed-medium-r-normal-*-14-*-*-*-*-*-*-*");
|
||||||
|
}
|
||||||
if (!font) {
|
if (!font) {
|
||||||
wwarning("could not load fixed font!");
|
wwarning("could not load fixed font!");
|
||||||
free(fontSpec);
|
free(fontSpec);
|
||||||
@@ -165,6 +168,9 @@ WMBoldSystemFontOfSize(WMScreen *scrPtr, int size)
|
|||||||
if (!font) {
|
if (!font) {
|
||||||
wwarning("could not load font set %s. Trying fixed.", fontSpec);
|
wwarning("could not load font set %s. Trying fixed.", fontSpec);
|
||||||
font = WMCreateFont(scrPtr, "fixed");
|
font = WMCreateFont(scrPtr, "fixed");
|
||||||
|
if (!font) {
|
||||||
|
font = WMCreateFont(scrPtr, "-*-fixed-medium-r-normal-*-14-*-*-*-*-*-*-*");
|
||||||
|
}
|
||||||
if (!font) {
|
if (!font) {
|
||||||
wwarning("could not load fixed font!");
|
wwarning("could not load fixed font!");
|
||||||
free(fontSpec);
|
free(fontSpec);
|
||||||
|
|||||||
236
WINGs/widgets.c
236
WINGs/widgets.c
@@ -421,196 +421,96 @@ makePixmap(W_Screen *sPtr, char **data, int width, int height, int masked)
|
|||||||
sPtr->depth);
|
sPtr->depth);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef USE_TIFF
|
|
||||||
#define WINGS_IMAGES_FILE RESOURCE_PATH"/Images.tiff"
|
#define T_WINGS_IMAGES_FILE RESOURCE_PATH"/Images.tiff"
|
||||||
#define DEFAULT_OBJECT_ICON_FILE RESOURCE_PATH"/defaultIcon.tiff"
|
#define T_DEFAULT_OBJECT_ICON_FILE RESOURCE_PATH"/defaultIcon.tiff"
|
||||||
#else
|
|
||||||
#define WINGS_IMAGES_FILE RESOURCE_PATH"/Images.xpm"
|
#define X_WINGS_IMAGES_FILE RESOURCE_PATH"/Images.xpm"
|
||||||
#define DEFAULT_OBJECT_ICON_FILE RESOURCE_PATH"/defaultIcon.xpm"
|
#define X_DEFAULT_OBJECT_ICON_FILE RESOURCE_PATH"/defaultIcon.xpm"
|
||||||
#endif
|
|
||||||
|
|
||||||
static Bool
|
static Bool
|
||||||
loadPixmaps(WMScreen *scr)
|
loadPixmaps(WMScreen *scr)
|
||||||
{
|
{
|
||||||
RImage *image, *tmp;
|
RImage *image, *tmp;
|
||||||
Pixmap pixmap;
|
|
||||||
RColor gray;
|
RColor gray;
|
||||||
|
RColor white;
|
||||||
image = RLoadImage(scr->rcontext, WINGS_IMAGES_FILE, 0);
|
|
||||||
if (!image) {
|
|
||||||
wwarning("WINGs: could not load widget images file: %s",
|
|
||||||
RMessageForError(RErrorCode));
|
|
||||||
return False;
|
|
||||||
}
|
|
||||||
/* make it have a gray background */
|
|
||||||
gray.red = 0xae;
|
gray.red = 0xae;
|
||||||
gray.green = 0xaa;
|
gray.green = 0xaa;
|
||||||
gray.blue = 0xae;
|
gray.blue = 0xae;
|
||||||
RCombineImageWithColor(image, &gray);
|
|
||||||
tmp = RGetSubImage(image, 0, 0, 24, 24);
|
|
||||||
if (!RConvertImage(scr->rcontext, tmp, &pixmap)) {
|
|
||||||
scr->homeIcon = NULL;
|
|
||||||
} else {
|
|
||||||
scr->homeIcon = WMCreatePixmapFromXPixmaps(scr, pixmap, None, 24, 24,
|
|
||||||
scr->depth);
|
|
||||||
}
|
|
||||||
RDestroyImage(tmp);
|
|
||||||
/* Magnifying Glass Icon for ColorPanel */
|
|
||||||
tmp = RGetSubImage(image, 24, 0, 40, 32);
|
|
||||||
if (!RConvertImage(scr->rcontext, tmp, &pixmap)) {
|
|
||||||
scr->magnifyIcon = NULL;
|
|
||||||
} else {
|
|
||||||
scr->magnifyIcon = WMCreatePixmapFromXPixmaps(scr, pixmap, None, 40, 32, scr->depth);
|
|
||||||
}
|
|
||||||
RDestroyImage(tmp);
|
|
||||||
/* ColorWheel Icon for ColorPanel */
|
|
||||||
tmp = RGetSubImage(image, 0, 25, 24, 24);
|
|
||||||
if (!RConvertImage(scr->rcontext, tmp, &pixmap)) {
|
|
||||||
scr->wheelIcon = NULL;
|
|
||||||
} else {
|
|
||||||
scr->wheelIcon = WMCreatePixmapFromXPixmaps(scr, pixmap, None, 24, 24, scr->depth);
|
|
||||||
}
|
|
||||||
RDestroyImage(tmp);
|
|
||||||
/* GrayScale Icon for ColorPanel */
|
|
||||||
tmp = RGetSubImage(image, 65, 0, 40, 24);
|
|
||||||
if (!RConvertImage(scr->rcontext, tmp, &pixmap)) {
|
|
||||||
scr->grayIcon = NULL;
|
|
||||||
} else {
|
|
||||||
scr->grayIcon = WMCreatePixmapFromXPixmaps(scr, pixmap, None, 40, 24, scr->depth);
|
|
||||||
}
|
|
||||||
RDestroyImage(tmp);
|
|
||||||
/* RGB Icon for ColorPanel */
|
|
||||||
tmp = RGetSubImage(image, 25, 33, 40, 24);
|
|
||||||
if (!RConvertImage(scr->rcontext, tmp, &pixmap)) {
|
|
||||||
scr->rgbIcon = NULL;
|
|
||||||
} else {
|
|
||||||
scr->rgbIcon = WMCreatePixmapFromXPixmaps(scr, pixmap, None, 40, 24, scr->depth);
|
|
||||||
}
|
|
||||||
RDestroyImage(tmp);
|
|
||||||
/* CMYK Icon for ColorPanel */
|
|
||||||
tmp = RGetSubImage(image, 65, 25, 40, 24);
|
|
||||||
if (!RConvertImage(scr->rcontext, tmp, &pixmap)) {
|
|
||||||
scr->cmykIcon = NULL;
|
|
||||||
} else {
|
|
||||||
scr->cmykIcon = WMCreatePixmapFromXPixmaps(scr, pixmap, None, 40, 24, scr->depth);
|
|
||||||
}
|
|
||||||
RDestroyImage(tmp);
|
|
||||||
/* HSB Icon for ColorPanel */
|
|
||||||
tmp = RGetSubImage(image, 0, 57, 40, 24);
|
|
||||||
if (!RConvertImage(scr->rcontext, tmp, &pixmap)) {
|
|
||||||
scr->hsbIcon = NULL;
|
|
||||||
} else {
|
|
||||||
scr->hsbIcon = WMCreatePixmapFromXPixmaps(scr, pixmap, None, 40, 24, scr->depth);
|
|
||||||
}
|
|
||||||
RDestroyImage(tmp);
|
|
||||||
/* CustomColorPalette Icon for ColorPanel */
|
|
||||||
tmp = RGetSubImage(image, 81, 57, 40, 24);
|
|
||||||
if (!RConvertImage(scr->rcontext, tmp, &pixmap)) {
|
|
||||||
scr->customPaletteIcon = NULL;
|
|
||||||
} else {
|
|
||||||
scr->customPaletteIcon = WMCreatePixmapFromXPixmaps(scr, pixmap, None, 40, 24, scr->depth);
|
|
||||||
}
|
|
||||||
RDestroyImage(tmp);
|
|
||||||
/* ColorList Icon for ColorPanel */
|
|
||||||
tmp = RGetSubImage(image, 41, 57, 40, 24);
|
|
||||||
if (!RConvertImage(scr->rcontext, tmp, &pixmap)) {
|
|
||||||
scr->colorListIcon = NULL;
|
|
||||||
} else {
|
|
||||||
scr->colorListIcon = WMCreatePixmapFromXPixmaps(scr, pixmap, None, 40, 24, scr->depth);
|
|
||||||
}
|
|
||||||
RDestroyImage(tmp);
|
|
||||||
|
|
||||||
RDestroyImage(image);
|
white.red = 0xff;
|
||||||
|
white.green = 0xff;
|
||||||
|
white.blue = 0xff;
|
||||||
|
|
||||||
image = RLoadImage(scr->rcontext, WINGS_IMAGES_FILE, 0);
|
image = RLoadImage(scr->rcontext, T_WINGS_IMAGES_FILE, 0);
|
||||||
|
if (!image)
|
||||||
|
image = RLoadImage(scr->rcontext, X_WINGS_IMAGES_FILE, 0);
|
||||||
if (!image) {
|
if (!image) {
|
||||||
wwarning("WINGs: could not load widget images file: %s",
|
wwarning("WINGs: could not load widget images file: %s",
|
||||||
RMessageForError(RErrorCode));
|
RMessageForError(RErrorCode));
|
||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
/* make it have a white background */
|
/* home icon */
|
||||||
gray.red = 0xff;
|
/* make it have a gray background */
|
||||||
gray.green = 0xff;
|
|
||||||
gray.blue = 0xff;
|
|
||||||
RCombineImageWithColor(image, &gray);
|
|
||||||
tmp = RGetSubImage(image, 0, 0, 24, 24);
|
tmp = RGetSubImage(image, 0, 0, 24, 24);
|
||||||
if (!RConvertImage(scr->rcontext, tmp, &pixmap)) {
|
RCombineImageWithColor(tmp, &gray);
|
||||||
scr->homeAltIcon = NULL;
|
scr->homeIcon = WMCreatePixmapFromRImage(scr, tmp, 128);
|
||||||
} else {
|
RDestroyImage(tmp);
|
||||||
scr->homeAltIcon = WMCreatePixmapFromXPixmaps(scr, pixmap, None, 24, 24,
|
/* make it have a white background */
|
||||||
scr->depth);
|
tmp = RGetSubImage(image, 0, 0, 24, 24);
|
||||||
}
|
RCombineImageWithColor(tmp, &white);
|
||||||
|
scr->altHomeIcon = WMCreatePixmapFromRImage(scr, tmp, 128);
|
||||||
RDestroyImage(tmp);
|
RDestroyImage(tmp);
|
||||||
/* Magnifying Glass Icon for ColorPanel */
|
|
||||||
tmp = RGetSubImage(image, 25, 0, 40, 32);
|
|
||||||
if (!RConvertImage(scr->rcontext, tmp, &pixmap)) {
|
|
||||||
scr->magnifyAltIcon = NULL;
|
|
||||||
} else {
|
|
||||||
scr->magnifyAltIcon = WMCreatePixmapFromXPixmaps(scr, pixmap, None, 40, 32, scr->depth);
|
|
||||||
}
|
|
||||||
RDestroyImage(tmp);
|
|
||||||
/* ColorWheel Icon for ColorPanel */
|
|
||||||
tmp = RGetSubImage(image, 0, 25, 24, 24);
|
|
||||||
if (!RConvertImage(scr->rcontext, tmp, &pixmap)) {
|
|
||||||
scr->wheelAltIcon = NULL;
|
|
||||||
} else {
|
|
||||||
scr->wheelAltIcon = WMCreatePixmapFromXPixmaps(scr, pixmap, None, 24, 24, scr->depth);
|
|
||||||
}
|
|
||||||
RDestroyImage(tmp);
|
|
||||||
/* GrayScale Icon for ColorPanel */
|
|
||||||
tmp = RGetSubImage(image, 65, 0, 40, 24);
|
|
||||||
if (!RConvertImage(scr->rcontext, tmp, &pixmap)) {
|
|
||||||
scr->grayAltIcon = NULL;
|
|
||||||
} else {
|
|
||||||
scr->grayAltIcon = WMCreatePixmapFromXPixmaps(scr, pixmap, None, 40, 24, scr->depth);
|
|
||||||
}
|
|
||||||
RDestroyImage(tmp);
|
|
||||||
/* RGB Icon for ColorPanel */
|
|
||||||
tmp = RGetSubImage(image, 25, 33, 40, 24);
|
|
||||||
if (!RConvertImage(scr->rcontext, tmp, &pixmap)) {
|
|
||||||
scr->rgbAltIcon = NULL;
|
|
||||||
} else {
|
|
||||||
scr->rgbAltIcon = WMCreatePixmapFromXPixmaps(scr, pixmap, None, 40, 24, scr->depth);
|
|
||||||
}
|
|
||||||
RDestroyImage(tmp);
|
|
||||||
/* CMYK Icon for ColorPanel */
|
|
||||||
tmp = RGetSubImage(image, 65, 25, 40, 24);
|
|
||||||
if (!RConvertImage(scr->rcontext, tmp, &pixmap)) {
|
|
||||||
scr->cmykAltIcon = NULL;
|
|
||||||
} else {
|
|
||||||
scr->cmykAltIcon = WMCreatePixmapFromXPixmaps(scr, pixmap, None, 40, 24, scr->depth);
|
|
||||||
}
|
|
||||||
RDestroyImage(tmp);
|
|
||||||
/* HSB Icon for ColorPanel */
|
|
||||||
tmp = RGetSubImage(image, 0, 57, 40, 24);
|
|
||||||
if (!RConvertImage(scr->rcontext, tmp, &pixmap)) {
|
|
||||||
scr->hsbAltIcon = NULL;
|
|
||||||
} else {
|
|
||||||
scr->hsbAltIcon = WMCreatePixmapFromXPixmaps(scr, pixmap, None, 40, 24, scr->depth);
|
|
||||||
}
|
|
||||||
RDestroyImage(tmp);
|
|
||||||
/* CustomColorPalette Icon for ColorPanel */
|
|
||||||
tmp = RGetSubImage(image, 81, 57, 40, 24);
|
|
||||||
if (!RConvertImage(scr->rcontext, tmp, &pixmap)) {
|
|
||||||
scr->customPaletteAltIcon = NULL;
|
|
||||||
} else {
|
|
||||||
scr->customPaletteAltIcon = WMCreatePixmapFromXPixmaps(scr, pixmap, None, 40, 24, scr->depth);
|
|
||||||
}
|
|
||||||
RDestroyImage(tmp);
|
|
||||||
/* ColorList Icon for ColorPanel */
|
|
||||||
tmp = RGetSubImage(image, 41, 57, 40, 24);
|
|
||||||
if (!RConvertImage(scr->rcontext, tmp, &pixmap)) {
|
|
||||||
scr->colorListAltIcon = NULL;
|
|
||||||
} else {
|
|
||||||
scr->colorListAltIcon = WMCreatePixmapFromXPixmaps(scr, pixmap, None, 40, 24, scr->depth);
|
|
||||||
}
|
|
||||||
RDestroyImage(tmp);
|
|
||||||
|
|
||||||
RDestroyImage(image);
|
/* Magnifying Glass Icon for ColorPanel */
|
||||||
|
tmp = RGetSubImage(image, 24, 0, 40, 32);
|
||||||
|
RCombineImageWithColor(tmp, &gray);
|
||||||
|
scr->magnifyIcon = WMCreatePixmapFromRImage(scr, tmp, 128);
|
||||||
|
RDestroyImage(tmp);
|
||||||
|
tmp = RGetSubImage(image, 24, 0, 40, 32);
|
||||||
|
RCombineImageWithColor(tmp, &white);
|
||||||
|
scr->altMagnifyIcon = WMCreatePixmapFromRImage(scr, tmp, 128);
|
||||||
|
RDestroyImage(tmp);
|
||||||
|
/* ColorWheel Icon for ColorPanel */
|
||||||
|
tmp = RGetSubImage(image, 0, 25, 24, 24);
|
||||||
|
scr->wheelIcon = WMCreatePixmapFromRImage(scr, tmp, 128);
|
||||||
|
RDestroyImage(tmp);
|
||||||
|
/* GrayScale Icon for ColorPanel */
|
||||||
|
tmp = RGetSubImage(image, 65, 0, 40, 24);
|
||||||
|
scr->grayIcon = WMCreatePixmapFromRImage(scr, tmp, 128);
|
||||||
|
RDestroyImage(tmp);
|
||||||
|
/* RGB Icon for ColorPanel */
|
||||||
|
tmp = RGetSubImage(image, 25, 33, 40, 24);
|
||||||
|
scr->rgbIcon = WMCreatePixmapFromRImage(scr, tmp, 128);
|
||||||
|
RDestroyImage(tmp);
|
||||||
|
/* CMYK Icon for ColorPanel */
|
||||||
|
tmp = RGetSubImage(image, 65, 25, 40, 24);
|
||||||
|
scr->cmykIcon = WMCreatePixmapFromRImage(scr, tmp, 128);
|
||||||
|
RDestroyImage(tmp);
|
||||||
|
/* HSB Icon for ColorPanel */
|
||||||
|
tmp = RGetSubImage(image, 0, 57, 40, 24);
|
||||||
|
scr->hsbIcon = WMCreatePixmapFromRImage(scr, tmp, 128);
|
||||||
|
RDestroyImage(tmp);
|
||||||
|
/* CustomColorPalette Icon for ColorPanel */
|
||||||
|
tmp = RGetSubImage(image, 81, 57, 40, 24);
|
||||||
|
scr->customPaletteIcon = WMCreatePixmapFromRImage(scr, tmp, 128);
|
||||||
|
RDestroyImage(tmp);
|
||||||
|
/* ColorList Icon for ColorPanel */
|
||||||
|
tmp = RGetSubImage(image, 41, 57, 40, 24);
|
||||||
|
scr->colorListIcon = WMCreatePixmapFromRImage(scr, tmp, 128);
|
||||||
|
RDestroyImage(tmp);
|
||||||
|
|
||||||
|
RDestroyImage(image);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
scr->defaultObjectIcon =
|
scr->defaultObjectIcon =
|
||||||
WMCreatePixmapFromFile(scr, DEFAULT_OBJECT_ICON_FILE);
|
WMCreatePixmapFromFile(scr, T_DEFAULT_OBJECT_ICON_FILE);
|
||||||
|
if (!scr->defaultObjectIcon) {
|
||||||
|
scr->defaultObjectIcon =
|
||||||
|
WMCreatePixmapFromFile(scr, X_DEFAULT_OBJECT_ICON_FILE);
|
||||||
|
}
|
||||||
if (!scr->defaultObjectIcon) {
|
if (!scr->defaultObjectIcon) {
|
||||||
wwarning("WINGs: could not load default icon file");
|
wwarning("WINGs: could not load default icon file");
|
||||||
return False;
|
return False;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
#include "WINGsP.h"
|
#include "WINGsP.h"
|
||||||
|
|
||||||
char *WMListDidScrollNotification = "WMListDidScrollNotification";
|
char *WMListDidScrollNotification = "WMListDidScrollNotification";
|
||||||
|
char *WMListSelectionDidChangeNotification = "WMListSelectionDidChangeNotification";
|
||||||
|
|
||||||
typedef struct W_List {
|
typedef struct W_List {
|
||||||
W_Class widgetClass;
|
W_Class widgetClass;
|
||||||
@@ -227,16 +227,19 @@ WMRemoveListItem(WMList *lPtr, int row)
|
|||||||
WMListItem *llist;
|
WMListItem *llist;
|
||||||
WMListItem *tmp;
|
WMListItem *tmp;
|
||||||
int topItem = lPtr->topItem;
|
int topItem = lPtr->topItem;
|
||||||
|
int selNotify = 0;
|
||||||
|
|
||||||
CHECK_CLASS(lPtr, WC_List);
|
CHECK_CLASS(lPtr, WC_List);
|
||||||
|
|
||||||
if (row < 0 || row >= lPtr->itemCount)
|
if (row < 0 || row >= lPtr->itemCount)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (lPtr->selectedItem == row)
|
if (lPtr->selectedItem == row) {
|
||||||
lPtr->selectedItem = -1;
|
lPtr->selectedItem = -1;
|
||||||
else if (lPtr->selectedItem > row)
|
selNotify = 1;
|
||||||
lPtr->selectedItem--;
|
} else if (lPtr->selectedItem > row) {
|
||||||
|
lPtr->selectedItem--;
|
||||||
|
}
|
||||||
|
|
||||||
if (row <= lPtr->topItem+lPtr->fullFitLines+lPtr->flags.dontFitAll)
|
if (row <= lPtr->topItem+lPtr->fullFitLines+lPtr->flags.dontFitAll)
|
||||||
lPtr->topItem--;
|
lPtr->topItem--;
|
||||||
@@ -271,6 +274,9 @@ WMRemoveListItem(WMList *lPtr, int row)
|
|||||||
}
|
}
|
||||||
if (lPtr->topItem != topItem)
|
if (lPtr->topItem != topItem)
|
||||||
WMPostNotificationName(WMListDidScrollNotification, lPtr, NULL);
|
WMPostNotificationName(WMListDidScrollNotification, lPtr, NULL);
|
||||||
|
if (selNotify)
|
||||||
|
WMPostNotificationName(WMListSelectionDidChangeNotification, lPtr,
|
||||||
|
(void*)((int)lPtr->selectedItem));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -312,7 +318,8 @@ void
|
|||||||
WMClearList(WMList *lPtr)
|
WMClearList(WMList *lPtr)
|
||||||
{
|
{
|
||||||
WMListItem *item, *tmp;
|
WMListItem *item, *tmp;
|
||||||
|
int oldSelected = lPtr->selectedItem;
|
||||||
|
|
||||||
item = lPtr->items;
|
item = lPtr->items;
|
||||||
while (item) {
|
while (item) {
|
||||||
free(item->text);
|
free(item->text);
|
||||||
@@ -332,6 +339,9 @@ WMClearList(WMList *lPtr)
|
|||||||
if (lPtr->view->flags.realized) {
|
if (lPtr->view->flags.realized) {
|
||||||
updateScroller(lPtr);
|
updateScroller(lPtr);
|
||||||
}
|
}
|
||||||
|
if (oldSelected != -1)
|
||||||
|
WMPostNotificationName(WMListSelectionDidChangeNotification, lPtr,
|
||||||
|
(void*)-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -654,11 +664,19 @@ void
|
|||||||
WMSelectListItem(WMList *lPtr, int row)
|
WMSelectListItem(WMList *lPtr, int row)
|
||||||
{
|
{
|
||||||
WMListItem *itemPtr;
|
WMListItem *itemPtr;
|
||||||
int i;
|
int i, notify = 0;
|
||||||
|
|
||||||
if (row >= lPtr->itemCount)
|
if (row >= lPtr->itemCount)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
/* the check below must be changed when the multiple selection is
|
||||||
|
* implemented. -Dan
|
||||||
|
*/
|
||||||
|
if (!lPtr->flags.allowMultipleSelection && row == lPtr->selectedItem)
|
||||||
|
notify = 0;
|
||||||
|
else
|
||||||
|
notify = 1;
|
||||||
|
|
||||||
if (!lPtr->flags.allowMultipleSelection) {
|
if (!lPtr->flags.allowMultipleSelection) {
|
||||||
/* unselect previous selected item */
|
/* unselect previous selected item */
|
||||||
if (lPtr->selectedItem >= 0) {
|
if (lPtr->selectedItem >= 0) {
|
||||||
@@ -676,8 +694,12 @@ WMSelectListItem(WMList *lPtr, int row)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (row < 0) {
|
if (row < 0) {
|
||||||
if (!lPtr->flags.allowMultipleSelection)
|
if (!lPtr->flags.allowMultipleSelection) {
|
||||||
lPtr->selectedItem = -1;
|
lPtr->selectedItem = -1;
|
||||||
|
if (notify)
|
||||||
|
WMPostNotificationName(WMListSelectionDidChangeNotification,
|
||||||
|
lPtr, (void*)((int)lPtr->selectedItem));
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -700,6 +722,9 @@ WMSelectListItem(WMList *lPtr, int row)
|
|||||||
WRSunken);
|
WRSunken);
|
||||||
}
|
}
|
||||||
lPtr->selectedItem = row;
|
lPtr->selectedItem = row;
|
||||||
|
if (notify)
|
||||||
|
WMPostNotificationName(WMListSelectionDidChangeNotification, lPtr,
|
||||||
|
(void*)((int)lPtr->selectedItem));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -732,7 +757,6 @@ handleActionEvents(XEvent *event, void *data)
|
|||||||
tmp = getItemIndexAt(lPtr, event->xbutton.y);
|
tmp = getItemIndexAt(lPtr, event->xbutton.y);
|
||||||
|
|
||||||
if (tmp == lPtr->selectedItem && tmp >= 0) {
|
if (tmp == lPtr->selectedItem && tmp >= 0) {
|
||||||
|
|
||||||
if (lPtr->action)
|
if (lPtr->action)
|
||||||
(*lPtr->action)(lPtr, lPtr->clientData);
|
(*lPtr->action)(lPtr, lPtr->clientData);
|
||||||
}
|
}
|
||||||
@@ -751,16 +775,16 @@ handleActionEvents(XEvent *event, void *data)
|
|||||||
case ButtonPress:
|
case ButtonPress:
|
||||||
if (event->xbutton.x > WMWidgetWidth(lPtr->vScroller)) {
|
if (event->xbutton.x > WMWidgetWidth(lPtr->vScroller)) {
|
||||||
tmp = getItemIndexAt(lPtr, event->xbutton.y);
|
tmp = getItemIndexAt(lPtr, event->xbutton.y);
|
||||||
|
|
||||||
lPtr->flags.buttonPressed = 1;
|
lPtr->flags.buttonPressed = 1;
|
||||||
|
|
||||||
if (tmp >= 0) {
|
if (tmp >= 0) {
|
||||||
WMSelectListItem(lPtr, tmp);
|
|
||||||
if (tmp == lPtr->selectedItem && WMIsDoubleClick(event)) {
|
if (tmp == lPtr->selectedItem && WMIsDoubleClick(event)) {
|
||||||
|
WMSelectListItem(lPtr, tmp);
|
||||||
if (lPtr->doubleAction)
|
if (lPtr->doubleAction)
|
||||||
(*lPtr->doubleAction)(lPtr, lPtr->doubleClientData);
|
(*lPtr->doubleAction)(lPtr, lPtr->doubleClientData);
|
||||||
|
} else {
|
||||||
|
WMSelectListItem(lPtr, tmp);
|
||||||
}
|
}
|
||||||
lPtr->selectedItem = tmp;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -770,7 +794,6 @@ handleActionEvents(XEvent *event, void *data)
|
|||||||
tmp = getItemIndexAt(lPtr, event->xmotion.y);
|
tmp = getItemIndexAt(lPtr, event->xmotion.y);
|
||||||
if (tmp>=0 && tmp != lPtr->selectedItem) {
|
if (tmp>=0 && tmp != lPtr->selectedItem) {
|
||||||
WMSelectListItem(lPtr, tmp);
|
WMSelectListItem(lPtr, tmp);
|
||||||
lPtr->selectedItem = tmp;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -1,7 +1,16 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Author: Len Trigg <trigg@cs.waikato.ac.nz>
|
* Author: Len Trigg <trigg@cs.waikato.ac.nz>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
Update: Franck Wolff <frawolff@club-internet.fr>
|
||||||
|
-----------------------------------------------------------------------
|
||||||
|
List of updated functions :
|
||||||
|
- main :
|
||||||
|
add -s option for a save panel...
|
||||||
|
-----------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "WINGs.h"
|
#include "WINGs.h"
|
||||||
@@ -29,6 +38,7 @@ void usage(void)
|
|||||||
"\t%s [-options]\n"
|
"\t%s [-options]\n"
|
||||||
"\n"
|
"\n"
|
||||||
"options:\n"
|
"options:\n"
|
||||||
|
" -s\t\tSave panel (default open panel)\n"
|
||||||
" -i <str>\tInitial directory (default /)\n"
|
" -i <str>\tInitial directory (default /)\n"
|
||||||
" -t <str>\tQuery window title (default none)\n"
|
" -t <str>\tQuery window title (default none)\n"
|
||||||
"\n"
|
"\n"
|
||||||
@@ -42,16 +52,21 @@ void usage(void)
|
|||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define OPEN_PANEL_TYPE 0
|
||||||
|
#define SAVE_PANEL_TYPE 1
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
Display *dpy = XOpenDisplay("");
|
Display *dpy = XOpenDisplay("");
|
||||||
WMScreen *scr;
|
WMScreen *scr;
|
||||||
WMPixmap *pixmap;
|
WMPixmap *pixmap;
|
||||||
WMOpenPanel *panel;
|
WMOpenPanel *oPanel;
|
||||||
|
WMSavePanel *sPanel;
|
||||||
/* RImage *image;*/
|
/* RImage *image;*/
|
||||||
char *title = NULL;
|
char *title = NULL;
|
||||||
char *initial = "/";
|
char *initial = "/";
|
||||||
int ch;
|
int ch;
|
||||||
|
int panelType = OPEN_PANEL_TYPE;
|
||||||
extern char *optarg;
|
extern char *optarg;
|
||||||
extern int optind;
|
extern int optind;
|
||||||
|
|
||||||
@@ -63,9 +78,12 @@ int main(int argc, char **argv)
|
|||||||
puts("could not open display");
|
puts("could not open display");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
while((ch = getopt(argc, argv, "i:ht:")) != -1)
|
while((ch = getopt(argc, argv, "si:ht:")) != -1)
|
||||||
switch(ch)
|
switch(ch)
|
||||||
{
|
{
|
||||||
|
case 's':
|
||||||
|
panelType = SAVE_PANEL_TYPE;
|
||||||
|
break;
|
||||||
case 'i':
|
case 'i':
|
||||||
initial = optarg;
|
initial = optarg;
|
||||||
break;
|
break;
|
||||||
@@ -76,24 +94,30 @@ int main(int argc, char **argv)
|
|||||||
usage();
|
usage();
|
||||||
}
|
}
|
||||||
|
|
||||||
for(; optind <argc; optind++)
|
for(; optind <argc; optind++)
|
||||||
usage();
|
usage();
|
||||||
|
|
||||||
scr = WMCreateSimpleApplicationScreen(dpy);
|
scr = WMCreateSimpleApplicationScreen(dpy);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
pixmap = WMCreatePixmapFromXPMData(scr, GNUSTEP_XPM);
|
pixmap = WMCreatePixmapFromXPMData(scr, GNUSTEP_XPM);
|
||||||
WMSetApplicationIconImage(scr, pixmap); WMReleasePixmap(pixmap);
|
WMSetApplicationIconImage(scr, pixmap);
|
||||||
panel = WMGetOpenPanel(scr);
|
WMReleasePixmap(pixmap);
|
||||||
|
if (panelType == SAVE_PANEL_TYPE) {
|
||||||
/*WMSetFilePanelAutoCompletion(panel, False);*/
|
sPanel = WMGetSavePanel(scr);
|
||||||
|
if (WMRunModalFilePanelForDirectory(sPanel, NULL, initial,
|
||||||
/* The 3rd argument for this function is the initial name of the file,
|
/*title*/ NULL, NULL) == True)
|
||||||
* not the name of the window, although it's not implemented yet */
|
printf("%s\n", WMGetFilePanelFileName(sPanel));
|
||||||
if (WMRunModalOpenPanelForDirectory(panel, NULL, initial, /*title*/ NULL, NULL) == True)
|
else
|
||||||
printf("%s\n", WMGetFilePanelFileName(panel));
|
printf("\n");
|
||||||
else
|
} else {
|
||||||
printf("\n");
|
oPanel = WMGetOpenPanel(scr);
|
||||||
return 0;
|
if (WMRunModalFilePanelForDirectory(oPanel, NULL, initial,
|
||||||
|
/*title*/ NULL, NULL) == True)
|
||||||
|
printf("%s\n", WMGetFilePanelFileName(oPanel));
|
||||||
|
else
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -338,11 +338,19 @@ WMSetPopUpButtonPullsDown(WMPopUpButton *bPtr, Bool flag)
|
|||||||
{
|
{
|
||||||
bPtr->flags.pullsDown = flag;
|
bPtr->flags.pullsDown = flag;
|
||||||
if (!flag) {
|
if (!flag) {
|
||||||
bPtr->selectedItem = bPtr->items;
|
/* This code causes bugs. It should not select any item,
|
||||||
|
* since it was not asked to. -Dan
|
||||||
|
bPtr->selectedItem = bPtr->items;
|
||||||
if (bPtr->selectedItem)
|
if (bPtr->selectedItem)
|
||||||
bPtr->selectedItemIndex = 0;
|
bPtr->selectedItemIndex = 0;
|
||||||
else
|
else
|
||||||
bPtr->selectedItemIndex = -1;
|
bPtr->selectedItemIndex = -1;
|
||||||
|
*/
|
||||||
|
bPtr->selectedItem = NULL;
|
||||||
|
/* the drawing routine, still draws things wrong if we put
|
||||||
|
* the index to -1 (i.e. not selected).
|
||||||
|
* Find out why. -Dan */
|
||||||
|
bPtr->selectedItemIndex = 0;
|
||||||
} else
|
} else
|
||||||
bPtr->selectedItemIndex = -1;
|
bPtr->selectedItemIndex = -1;
|
||||||
|
|
||||||
|
|||||||
@@ -398,7 +398,7 @@ WMSetScrollViewContentView(WMScrollView *sPtr, WMView *view)
|
|||||||
|
|
||||||
sPtr->contentView = view;
|
sPtr->contentView = view;
|
||||||
|
|
||||||
W_ReparentView(sPtr->contentView, sPtr->viewport);
|
W_ReparentView(sPtr->contentView, sPtr->viewport, 0, 0);
|
||||||
|
|
||||||
if (sPtr->flags.hasHScroller) {
|
if (sPtr->flags.hasHScroller) {
|
||||||
float prop;
|
float prop;
|
||||||
|
|||||||
@@ -533,6 +533,8 @@ destroySlider(Slider *sPtr)
|
|||||||
if (sPtr->backPixmap)
|
if (sPtr->backPixmap)
|
||||||
WMReleasePixmap(sPtr->backPixmap);
|
WMReleasePixmap(sPtr->backPixmap);
|
||||||
|
|
||||||
|
WMRemoveNotificationObserver(sPtr);
|
||||||
|
|
||||||
free(sPtr);
|
free(sPtr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ WMAddSplitViewSubview(WMSplitView *sPtr, WMView *subview)
|
|||||||
W_UnmapView(subview);
|
W_UnmapView(subview);
|
||||||
}
|
}
|
||||||
|
|
||||||
W_ReparentView(subview, sPtr->view);
|
W_ReparentView(subview, sPtr->view, 0, 0);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
if (sPtr->resizeSubviewsProc && subviewCount(sPtr)>1) {
|
if (sPtr->resizeSubviewsProc && subviewCount(sPtr)>1) {
|
||||||
|
|||||||
@@ -46,10 +46,10 @@ testOpenFilePanel(WMScreen *scr)
|
|||||||
/* get the shared Open File panel */
|
/* get the shared Open File panel */
|
||||||
panel = WMGetOpenPanel(scr);
|
panel = WMGetOpenPanel(scr);
|
||||||
|
|
||||||
WMRunModalOpenPanelForDirectory(panel, NULL, "/usr/local", NULL, NULL);
|
WMRunModalFilePanelForDirectory(panel, NULL, "/usr/local", NULL, NULL);
|
||||||
|
|
||||||
/* free the panel to save some memory. Not needed otherwise. */
|
/* free the panel to save some memory. Not needed otherwise. */
|
||||||
WMFreeFilePanel(panel);
|
WMFreeFilePanel(WMGetOpenPanel(scr));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -22,8 +22,10 @@ typedef struct W_TextField {
|
|||||||
W_Class widgetClass;
|
W_Class widgetClass;
|
||||||
W_View *view;
|
W_View *view;
|
||||||
|
|
||||||
|
#if 0
|
||||||
struct W_TextField *nextField; /* next textfield in the chain */
|
struct W_TextField *nextField; /* next textfield in the chain */
|
||||||
struct W_TextField *prevField;
|
struct W_TextField *prevField;
|
||||||
|
#endif
|
||||||
|
|
||||||
char *text;
|
char *text;
|
||||||
int textLen; /* size of text */
|
int textLen; /* size of text */
|
||||||
@@ -39,6 +41,8 @@ typedef struct W_TextField {
|
|||||||
WMRange selection;
|
WMRange selection;
|
||||||
WMRange prevselection;
|
WMRange prevselection;
|
||||||
|
|
||||||
|
WMFont *font;
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
WMHandlerID timerID; /* for cursor blinking */
|
WMHandlerID timerID; /* for cursor blinking */
|
||||||
#endif
|
#endif
|
||||||
@@ -46,13 +50,15 @@ typedef struct W_TextField {
|
|||||||
WMAlignment alignment:2;
|
WMAlignment alignment:2;
|
||||||
|
|
||||||
unsigned int bordered:1;
|
unsigned int bordered:1;
|
||||||
|
|
||||||
|
unsigned int beveled:1;
|
||||||
|
|
||||||
unsigned int enabled:1;
|
unsigned int enabled:1;
|
||||||
|
|
||||||
unsigned int focused:1;
|
unsigned int focused:1;
|
||||||
|
|
||||||
unsigned int cursorOn:1;
|
unsigned int cursorOn:1;
|
||||||
|
|
||||||
unsigned int secure:1; /* password entry style */
|
unsigned int secure:1; /* password entry style */
|
||||||
|
|
||||||
/**/
|
/**/
|
||||||
@@ -97,11 +103,11 @@ struct W_ViewProcedureTable _TextFieldViewProcedures = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#define TEXT_WIDTH(tPtr, start) (WMWidthOfString((tPtr)->view->screen->normalFont, \
|
#define TEXT_WIDTH(tPtr, start) (WMWidthOfString((tPtr)->font, \
|
||||||
&((tPtr)->text[(start)]), (tPtr)->textLen - (start) + 1))
|
&((tPtr)->text[(start)]), (tPtr)->textLen - (start) + 1))
|
||||||
|
|
||||||
#define TEXT_WIDTH2(tPtr, start, end) (WMWidthOfString((tPtr)->view->screen->normalFont, \
|
#define TEXT_WIDTH2(tPtr, start, end) (WMWidthOfString((tPtr)->font, \
|
||||||
&((tPtr)->text[(start)]), (end) - (start) + 1))
|
&((tPtr)->text[(start)]), (end) - (start) + 1))
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -163,7 +169,6 @@ WMCreateTextField(WMWidget *parent)
|
|||||||
{
|
{
|
||||||
TextField *tPtr;
|
TextField *tPtr;
|
||||||
|
|
||||||
|
|
||||||
tPtr = wmalloc(sizeof(TextField));
|
tPtr = wmalloc(sizeof(TextField));
|
||||||
memset(tPtr, 0, sizeof(TextField));
|
memset(tPtr, 0, sizeof(TextField));
|
||||||
|
|
||||||
@@ -185,24 +190,28 @@ WMCreateTextField(WMWidget *parent)
|
|||||||
tPtr->text[0] = 0;
|
tPtr->text[0] = 0;
|
||||||
tPtr->textLen = 0;
|
tPtr->textLen = 0;
|
||||||
tPtr->bufferSize = MIN_TEXT_BUFFER;
|
tPtr->bufferSize = MIN_TEXT_BUFFER;
|
||||||
|
|
||||||
tPtr->flags.enabled = 1;
|
tPtr->flags.enabled = 1;
|
||||||
|
|
||||||
WMCreateEventHandler(tPtr->view, ExposureMask|StructureNotifyMask
|
WMCreateEventHandler(tPtr->view, ExposureMask|StructureNotifyMask
|
||||||
|FocusChangeMask, handleEvents, tPtr);
|
|FocusChangeMask, handleEvents, tPtr);
|
||||||
|
|
||||||
W_ResizeView(tPtr->view, DEFAULT_WIDTH, DEFAULT_HEIGHT);
|
W_ResizeView(tPtr->view, DEFAULT_WIDTH, DEFAULT_HEIGHT);
|
||||||
WMSetTextFieldBordered(tPtr, DEFAULT_BORDERED);
|
|
||||||
|
tPtr->font = WMRetainFont(tPtr->view->screen->normalFont);
|
||||||
|
|
||||||
|
tPtr->flags.bordered = DEFAULT_BORDERED;
|
||||||
|
tPtr->flags.beveled = True;
|
||||||
tPtr->flags.alignment = DEFAULT_ALIGNMENT;
|
tPtr->flags.alignment = DEFAULT_ALIGNMENT;
|
||||||
tPtr->offsetWidth = (tPtr->view->size.height
|
tPtr->offsetWidth =
|
||||||
- WMFontHeight(tPtr->view->screen->normalFont))/2;
|
WMAX((tPtr->view->size.height - WMFontHeight(tPtr->font))/2, 1);
|
||||||
|
|
||||||
WMCreateEventHandler(tPtr->view, EnterWindowMask|LeaveWindowMask
|
WMCreateEventHandler(tPtr->view, EnterWindowMask|LeaveWindowMask
|
||||||
|ButtonPressMask|KeyPressMask|Button1MotionMask,
|
|ButtonPressMask|KeyPressMask|Button1MotionMask,
|
||||||
handleTextFieldActionEvents, tPtr);
|
handleTextFieldActionEvents, tPtr);
|
||||||
|
|
||||||
tPtr->flags.cursorOn = 1;
|
tPtr->flags.cursorOn = 1;
|
||||||
|
|
||||||
return tPtr;
|
return tPtr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -311,10 +320,6 @@ WMGetTextFieldText(WMTextField *tPtr)
|
|||||||
void
|
void
|
||||||
WMSetTextFieldText(WMTextField *tPtr, char *text)
|
WMSetTextFieldText(WMTextField *tPtr, char *text)
|
||||||
{
|
{
|
||||||
/* We do not set text if it's the same. This will also help
|
|
||||||
* to avoid some infinite loops if this function is called from
|
|
||||||
* a function called by a notification observer. -Dan
|
|
||||||
*/
|
|
||||||
if ((text && strcmp(tPtr->text, text) == 0) ||
|
if ((text && strcmp(tPtr->text, text) == 0) ||
|
||||||
(!text && tPtr->textLen == 0))
|
(!text && tPtr->textLen == 0))
|
||||||
return;
|
return;
|
||||||
@@ -347,6 +352,14 @@ WMSetTextFieldText(WMTextField *tPtr, char *text)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
WMSetTextFieldFont(WMTextField *tPtr, WMFont *font)
|
||||||
|
{
|
||||||
|
/* TODO: update font change after field is mapped */
|
||||||
|
WMReleaseFont(tPtr->font);
|
||||||
|
tPtr->font = WMRetainFont(font);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
WMSetTextFieldAlignment(WMTextField *tPtr, WMAlignment alignment)
|
WMSetTextFieldAlignment(WMTextField *tPtr, WMAlignment alignment)
|
||||||
{
|
{
|
||||||
@@ -373,6 +386,17 @@ WMSetTextFieldBordered(WMTextField *tPtr, Bool bordered)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
WMSetTextFieldBeveled(WMTextField *tPtr, Bool flag)
|
||||||
|
{
|
||||||
|
tPtr->flags.beveled = flag;
|
||||||
|
|
||||||
|
if (tPtr->view->flags.realized) {
|
||||||
|
paintTextField(tPtr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
WMSetTextFieldSecure(WMTextField *tPtr, Bool flag)
|
WMSetTextFieldSecure(WMTextField *tPtr, Bool flag)
|
||||||
@@ -385,6 +409,13 @@ WMSetTextFieldSecure(WMTextField *tPtr, Bool flag)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Bool
|
||||||
|
WMGetTextFieldEnabled(WMTextField *tPtr)
|
||||||
|
{
|
||||||
|
return tPtr->flags.enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
WMSetTextFieldEnabled(WMTextField *tPtr, Bool flag)
|
WMSetTextFieldEnabled(WMTextField *tPtr, Bool flag)
|
||||||
{
|
{
|
||||||
@@ -438,15 +469,61 @@ WMSetTextFieldCursorPosition(WMTextField *tPtr, unsigned int position)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
WMSetTextFieldNextTextField(WMTextField *tPtr, WMTextField *next)
|
||||||
|
{
|
||||||
|
CHECK_CLASS(tPtr, WC_TextField);
|
||||||
|
if (next == NULL) {
|
||||||
|
if (tPtr->view->nextFocusChain)
|
||||||
|
tPtr->view->nextFocusChain->prevFocusChain = NULL;
|
||||||
|
tPtr->view->nextFocusChain = NULL;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
CHECK_CLASS(next, WC_TextField);
|
||||||
|
|
||||||
|
if (tPtr->view->nextFocusChain)
|
||||||
|
tPtr->view->nextFocusChain->prevFocusChain = NULL;
|
||||||
|
if (next->view->prevFocusChain)
|
||||||
|
next->view->prevFocusChain->nextFocusChain = NULL;
|
||||||
|
|
||||||
|
tPtr->view->nextFocusChain = next->view;
|
||||||
|
next->view->prevFocusChain = tPtr->view;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
WMSetTextFieldPrevTextField(WMTextField *tPtr, WMTextField *prev)
|
||||||
|
{
|
||||||
|
CHECK_CLASS(tPtr, WC_TextField);
|
||||||
|
if (prev == NULL) {
|
||||||
|
if (tPtr->view->prevFocusChain)
|
||||||
|
tPtr->view->prevFocusChain->nextFocusChain = NULL;
|
||||||
|
tPtr->view->prevFocusChain = NULL;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
CHECK_CLASS(prev, WC_TextField);
|
||||||
|
|
||||||
|
if (tPtr->view->prevFocusChain)
|
||||||
|
tPtr->view->prevFocusChain->nextFocusChain = NULL;
|
||||||
|
if (prev->view->nextFocusChain)
|
||||||
|
prev->view->nextFocusChain->prevFocusChain = NULL;
|
||||||
|
|
||||||
|
tPtr->view->prevFocusChain = prev->view;
|
||||||
|
prev->view->nextFocusChain = tPtr->view;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
resizeTextField(WMTextField *tPtr, unsigned int width, unsigned int height)
|
resizeTextField(WMTextField *tPtr, unsigned int width, unsigned int height)
|
||||||
{
|
{
|
||||||
W_ResizeView(tPtr->view, width, height);
|
W_ResizeView(tPtr->view, width, height);
|
||||||
|
|
||||||
tPtr->offsetWidth = (tPtr->view->size.height
|
tPtr->offsetWidth =
|
||||||
- WMFontHeight(tPtr->view->screen->normalFont))/2;
|
WMAX((tPtr->view->size.height - WMFontHeight(tPtr->font))/2, 1);
|
||||||
|
|
||||||
tPtr->usableWidth = tPtr->view->size.width - 2*tPtr->offsetWidth;
|
tPtr->usableWidth = tPtr->view->size.width - 2*tPtr->offsetWidth + 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -457,27 +534,24 @@ paintCursor(TextField *tPtr)
|
|||||||
WMScreen *screen = tPtr->view->screen;
|
WMScreen *screen = tPtr->view->screen;
|
||||||
int textWidth;
|
int textWidth;
|
||||||
|
|
||||||
cx = WMWidthOfString(screen->normalFont,
|
cx = WMWidthOfString(tPtr->font, &(tPtr->text[tPtr->viewPosition]),
|
||||||
&(tPtr->text[tPtr->viewPosition]),
|
|
||||||
tPtr->cursorPosition-tPtr->viewPosition);
|
tPtr->cursorPosition-tPtr->viewPosition);
|
||||||
|
|
||||||
switch (tPtr->flags.alignment) {
|
switch (tPtr->flags.alignment) {
|
||||||
case WARight:
|
case WARight:
|
||||||
textWidth = WMWidthOfString(screen->normalFont, tPtr->text,
|
textWidth = WMWidthOfString(tPtr->font, tPtr->text, tPtr->textLen);
|
||||||
tPtr->textLen);
|
|
||||||
if (textWidth < tPtr->usableWidth)
|
if (textWidth < tPtr->usableWidth)
|
||||||
cx += tPtr->offsetWidth + tPtr->usableWidth - textWidth;
|
cx += tPtr->offsetWidth + tPtr->usableWidth - textWidth + 1;
|
||||||
else
|
else
|
||||||
cx += tPtr->offsetWidth;
|
cx += tPtr->offsetWidth + 1;
|
||||||
break;
|
break;
|
||||||
case WALeft:
|
case WALeft:
|
||||||
cx += tPtr->offsetWidth;
|
cx += tPtr->offsetWidth + 1;
|
||||||
break;
|
break;
|
||||||
case WAJustified:
|
case WAJustified:
|
||||||
/* not supported */
|
/* not supported */
|
||||||
case WACenter:
|
case WACenter:
|
||||||
textWidth = WMWidthOfString(screen->normalFont, tPtr->text,
|
textWidth = WMWidthOfString(tPtr->font, tPtr->text, tPtr->textLen);
|
||||||
tPtr->textLen);
|
|
||||||
if (textWidth < tPtr->usableWidth)
|
if (textWidth < tPtr->usableWidth)
|
||||||
cx += tPtr->offsetWidth + (tPtr->usableWidth-textWidth)/2;
|
cx += tPtr->offsetWidth + (tPtr->usableWidth-textWidth)/2;
|
||||||
else
|
else
|
||||||
@@ -497,7 +571,7 @@ paintCursor(TextField *tPtr)
|
|||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
drawRelief(WMView *view)
|
drawRelief(WMView *view, Bool beveled)
|
||||||
{
|
{
|
||||||
WMScreen *scr = view->screen;
|
WMScreen *scr = view->screen;
|
||||||
Display *dpy = scr->display;
|
Display *dpy = scr->display;
|
||||||
@@ -507,8 +581,14 @@ drawRelief(WMView *view)
|
|||||||
int width = view->size.width;
|
int width = view->size.width;
|
||||||
int height = view->size.height;
|
int height = view->size.height;
|
||||||
|
|
||||||
wgc = W_GC(scr->white);
|
|
||||||
dgc = W_GC(scr->darkGray);
|
dgc = W_GC(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);
|
lgc = W_GC(scr->gray);
|
||||||
|
|
||||||
/* top left */
|
/* top left */
|
||||||
@@ -550,16 +630,15 @@ paintTextField(TextField *tPtr)
|
|||||||
totalWidth = tPtr->view->size.width - 2*bd;
|
totalWidth = tPtr->view->size.width - 2*bd;
|
||||||
|
|
||||||
if (tPtr->textLen > 0) {
|
if (tPtr->textLen > 0) {
|
||||||
tw = WMWidthOfString(screen->normalFont,
|
tw = WMWidthOfString(tPtr->font, &(tPtr->text[tPtr->viewPosition]),
|
||||||
&(tPtr->text[tPtr->viewPosition]),
|
|
||||||
tPtr->textLen - tPtr->viewPosition);
|
tPtr->textLen - tPtr->viewPosition);
|
||||||
|
|
||||||
th = WMFontHeight(screen->normalFont);
|
th = WMFontHeight(tPtr->font);
|
||||||
|
|
||||||
ty = tPtr->offsetWidth;
|
ty = tPtr->offsetWidth;
|
||||||
switch (tPtr->flags.alignment) {
|
switch (tPtr->flags.alignment) {
|
||||||
case WALeft:
|
case WALeft:
|
||||||
tx = tPtr->offsetWidth;
|
tx = tPtr->offsetWidth + 1;
|
||||||
if (tw < tPtr->usableWidth)
|
if (tw < tPtr->usableWidth)
|
||||||
XClearArea(screen->display, view->window, bd+tw, bd,
|
XClearArea(screen->display, view->window, bd+tw, bd,
|
||||||
totalWidth-tw, view->size.height-2*bd,
|
totalWidth-tw, view->size.height-2*bd,
|
||||||
@@ -575,7 +654,7 @@ paintTextField(TextField *tPtr)
|
|||||||
|
|
||||||
default:
|
default:
|
||||||
case WARight:
|
case WARight:
|
||||||
tx = tPtr->offsetWidth + tPtr->usableWidth - tw;
|
tx = tPtr->offsetWidth + tPtr->usableWidth - tw - 1;
|
||||||
if (tw < tPtr->usableWidth)
|
if (tw < tPtr->usableWidth)
|
||||||
XClearArea(screen->display, view->window, bd, bd,
|
XClearArea(screen->display, view->window, bd, bd,
|
||||||
totalWidth-tw, view->size.height-2*bd, False);
|
totalWidth-tw, view->size.height-2*bd, False);
|
||||||
@@ -587,7 +666,7 @@ paintTextField(TextField *tPtr)
|
|||||||
WMSetColorInGC(screen->darkGray, screen->textFieldGC);
|
WMSetColorInGC(screen->darkGray, screen->textFieldGC);
|
||||||
|
|
||||||
WMDrawImageString(screen, view->window, screen->textFieldGC,
|
WMDrawImageString(screen, view->window, screen->textFieldGC,
|
||||||
screen->normalFont, tx, ty,
|
tPtr->font, tx, ty,
|
||||||
&(tPtr->text[tPtr->viewPosition]),
|
&(tPtr->text[tPtr->viewPosition]),
|
||||||
tPtr->textLen - tPtr->viewPosition);
|
tPtr->textLen - tPtr->viewPosition);
|
||||||
|
|
||||||
@@ -598,7 +677,7 @@ paintTextField(TextField *tPtr)
|
|||||||
? tPtr->selection.position + tPtr->selection.count
|
? tPtr->selection.position + tPtr->selection.count
|
||||||
: tPtr->selection.position;
|
: tPtr->selection.position;
|
||||||
|
|
||||||
rx = tx + WMWidthOfString(screen->normalFont,
|
rx = tx + WMWidthOfString(tPtr->font,
|
||||||
&(tPtr->text[tPtr->viewPosition]),
|
&(tPtr->text[tPtr->viewPosition]),
|
||||||
count);
|
count);
|
||||||
|
|
||||||
@@ -606,8 +685,7 @@ paintTextField(TextField *tPtr)
|
|||||||
screen->gray->color.pixel);
|
screen->gray->color.pixel);
|
||||||
|
|
||||||
WMDrawImageString(screen, view->window, screen->textFieldGC,
|
WMDrawImageString(screen, view->window, screen->textFieldGC,
|
||||||
screen->normalFont, rx, ty,
|
tPtr->font, rx, ty, &(tPtr->text[count]),
|
||||||
&(tPtr->text[count]),
|
|
||||||
abs(tPtr->selection.count));
|
abs(tPtr->selection.count));
|
||||||
|
|
||||||
XSetBackground(screen->display, screen->textFieldGC,
|
XSetBackground(screen->display, screen->textFieldGC,
|
||||||
@@ -630,7 +708,7 @@ paintTextField(TextField *tPtr)
|
|||||||
|
|
||||||
/* draw relief */
|
/* draw relief */
|
||||||
if (tPtr->flags.bordered) {
|
if (tPtr->flags.bordered) {
|
||||||
drawRelief(view);
|
drawRelief(view, tPtr->flags.beveled);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -715,7 +793,6 @@ handleTextFieldKeyPress(TextField *tPtr, XEvent *event)
|
|||||||
KeySym ksym;
|
KeySym ksym;
|
||||||
int count, refresh = 0;
|
int count, refresh = 0;
|
||||||
int control_pressed = 0;
|
int control_pressed = 0;
|
||||||
WMScreen *scr = tPtr->view->screen;
|
|
||||||
|
|
||||||
if (((XKeyEvent *) event)->state & WM_EMACSKEYMASK) {
|
if (((XKeyEvent *) event)->state & WM_EMACSKEYMASK) {
|
||||||
control_pressed = 1;
|
control_pressed = 1;
|
||||||
@@ -733,9 +810,9 @@ handleTextFieldKeyPress(TextField *tPtr, XEvent *event)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Be careful in any case in this switch statement, never to call
|
/* Be careful in any case in this switch statement, never to call
|
||||||
* to more than 2 functions at the same time, that can generate text
|
* to more than a function that can generate text change notifications.
|
||||||
* change notifications. Only one text change notification should be sent
|
* Only one text change notification should be sent in any case.
|
||||||
* in any case. Else hazardous things can happen.
|
* Else hazardous things can happen.
|
||||||
* Maybe we need a better solution than the function wrapper to inform
|
* Maybe we need a better solution than the function wrapper to inform
|
||||||
* functions that change text in text fields, if they need to send a
|
* functions that change text in text fields, if they need to send a
|
||||||
* change notification or not. -Dan
|
* change notification or not. -Dan
|
||||||
@@ -811,7 +888,7 @@ handleTextFieldKeyPress(TextField *tPtr, XEvent *event)
|
|||||||
} else {
|
} else {
|
||||||
tPtr->cursorPosition++;
|
tPtr->cursorPosition++;
|
||||||
}
|
}
|
||||||
while (WMWidthOfString(scr->normalFont,
|
while (WMWidthOfString(tPtr->font,
|
||||||
&(tPtr->text[tPtr->viewPosition]),
|
&(tPtr->text[tPtr->viewPosition]),
|
||||||
tPtr->cursorPosition-tPtr->viewPosition)
|
tPtr->cursorPosition-tPtr->viewPosition)
|
||||||
> tPtr->usableWidth) {
|
> tPtr->usableWidth) {
|
||||||
@@ -851,7 +928,7 @@ handleTextFieldKeyPress(TextField *tPtr, XEvent *event)
|
|||||||
paintCursor(tPtr);
|
paintCursor(tPtr);
|
||||||
tPtr->cursorPosition = tPtr->textLen;
|
tPtr->cursorPosition = tPtr->textLen;
|
||||||
tPtr->viewPosition = 0;
|
tPtr->viewPosition = 0;
|
||||||
while (WMWidthOfString(scr->normalFont,
|
while (WMWidthOfString(tPtr->font,
|
||||||
&(tPtr->text[tPtr->viewPosition]),
|
&(tPtr->text[tPtr->viewPosition]),
|
||||||
tPtr->textLen-tPtr->viewPosition)
|
tPtr->textLen-tPtr->viewPosition)
|
||||||
> tPtr->usableWidth) {
|
> tPtr->usableWidth) {
|
||||||
@@ -870,6 +947,7 @@ handleTextFieldKeyPress(TextField *tPtr, XEvent *event)
|
|||||||
case XK_BackSpace:
|
case XK_BackSpace:
|
||||||
if (tPtr->cursorPosition > 0) {
|
if (tPtr->cursorPosition > 0) {
|
||||||
WMRange range;
|
WMRange range;
|
||||||
|
|
||||||
if (tPtr->prevselection.count) {
|
if (tPtr->prevselection.count) {
|
||||||
range.position = tPtr->prevselection.count < 0
|
range.position = tPtr->prevselection.count < 0
|
||||||
? tPtr->prevselection.position + tPtr->prevselection.count
|
? tPtr->prevselection.position + tPtr->prevselection.count
|
||||||
@@ -892,6 +970,7 @@ handleTextFieldKeyPress(TextField *tPtr, XEvent *event)
|
|||||||
case XK_Delete:
|
case XK_Delete:
|
||||||
if (tPtr->cursorPosition < tPtr->textLen || tPtr->prevselection.count) {
|
if (tPtr->cursorPosition < tPtr->textLen || tPtr->prevselection.count) {
|
||||||
WMRange range;
|
WMRange range;
|
||||||
|
|
||||||
if (tPtr->prevselection.count) {
|
if (tPtr->prevselection.count) {
|
||||||
range.position = tPtr->prevselection.count < 0
|
range.position = tPtr->prevselection.count < 0
|
||||||
? tPtr->prevselection.position + tPtr->prevselection.count
|
? tPtr->prevselection.position + tPtr->prevselection.count
|
||||||
@@ -910,6 +989,7 @@ handleTextFieldKeyPress(TextField *tPtr, XEvent *event)
|
|||||||
default:
|
default:
|
||||||
if (count > 0 && !iscntrl(buffer[0])) {
|
if (count > 0 && !iscntrl(buffer[0])) {
|
||||||
WMRange range;
|
WMRange range;
|
||||||
|
|
||||||
if (tPtr->prevselection.count) {
|
if (tPtr->prevselection.count) {
|
||||||
range.position = tPtr->prevselection.count < 0
|
range.position = tPtr->prevselection.count < 0
|
||||||
? tPtr->prevselection.position + tPtr->prevselection.count
|
? tPtr->prevselection.position + tPtr->prevselection.count
|
||||||
@@ -944,7 +1024,6 @@ handleTextFieldKeyPress(TextField *tPtr, XEvent *event)
|
|||||||
static int
|
static int
|
||||||
pointToCursorPosition(TextField *tPtr, int x)
|
pointToCursorPosition(TextField *tPtr, int x)
|
||||||
{
|
{
|
||||||
WMFont *font = tPtr->view->screen->normalFont;
|
|
||||||
int a, b, mid;
|
int a, b, mid;
|
||||||
int tw;
|
int tw;
|
||||||
|
|
||||||
@@ -953,13 +1032,13 @@ pointToCursorPosition(TextField *tPtr, int x)
|
|||||||
|
|
||||||
a = tPtr->viewPosition;
|
a = tPtr->viewPosition;
|
||||||
b = tPtr->viewPosition + tPtr->textLen;
|
b = tPtr->viewPosition + tPtr->textLen;
|
||||||
if (WMWidthOfString(font, &(tPtr->text[tPtr->viewPosition]),
|
if (WMWidthOfString(tPtr->font, &(tPtr->text[tPtr->viewPosition]),
|
||||||
tPtr->textLen-tPtr->viewPosition) < x)
|
tPtr->textLen-tPtr->viewPosition) < x)
|
||||||
return tPtr->textLen;
|
return tPtr->textLen;
|
||||||
|
|
||||||
while (a < b && b-a>1) {
|
while (a < b && b-a>1) {
|
||||||
mid = (a+b)/2;
|
mid = (a+b)/2;
|
||||||
tw = WMWidthOfString(font, &(tPtr->text[tPtr->viewPosition]),
|
tw = WMWidthOfString(tPtr->font, &(tPtr->text[tPtr->viewPosition]),
|
||||||
mid - tPtr->viewPosition);
|
mid - tPtr->viewPosition);
|
||||||
if (tw > x)
|
if (tw > x)
|
||||||
b = mid;
|
b = mid;
|
||||||
@@ -981,7 +1060,7 @@ handleTextFieldActionEvents(XEvent *event, void *data)
|
|||||||
|
|
||||||
switch (event->type) {
|
switch (event->type) {
|
||||||
case KeyPress:
|
case KeyPress:
|
||||||
if (tPtr->flags.enabled)
|
if (tPtr->flags.enabled && tPtr->flags.focused)
|
||||||
handleTextFieldKeyPress(tPtr, event);
|
handleTextFieldKeyPress(tPtr, event);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -1045,7 +1124,9 @@ destroyTextField(TextField *tPtr)
|
|||||||
if (tPtr->timerID)
|
if (tPtr->timerID)
|
||||||
WMDeleteTimerHandler(tPtr->timerID);
|
WMDeleteTimerHandler(tPtr->timerID);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
WMReleaseFont(tPtr->font);
|
||||||
|
|
||||||
if (tPtr->text)
|
if (tPtr->text)
|
||||||
free(tPtr->text);
|
free(tPtr->text);
|
||||||
|
|
||||||
|
|||||||
@@ -102,6 +102,32 @@ 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
|
static void
|
||||||
handleEvents(XEvent *event, void *data)
|
handleEvents(XEvent *event, void *data)
|
||||||
@@ -109,17 +135,29 @@ handleEvents(XEvent *event, void *data)
|
|||||||
W_View *view = (W_View*)data;
|
W_View *view = (W_View*)data;
|
||||||
|
|
||||||
if (event->type == ConfigureNotify) {
|
if (event->type == ConfigureNotify) {
|
||||||
|
|
||||||
if (event->xconfigure.width != view->size.width
|
if (event->xconfigure.width != view->size.width
|
||||||
|| event->xconfigure.height != view->size.height) {
|
|| event->xconfigure.height != view->size.height) {
|
||||||
|
|
||||||
|
view->size.width = event->xconfigure.width;
|
||||||
|
view->size.height = event->xconfigure.height;
|
||||||
|
|
||||||
if (view->flags.notifySizeChanged) {
|
if (view->flags.notifySizeChanged) {
|
||||||
view->size.width = event->xconfigure.width;
|
|
||||||
view->size.height = event->xconfigure.height;
|
|
||||||
WMPostNotificationName(WMViewSizeDidChangeNotification,
|
WMPostNotificationName(WMViewSizeDidChangeNotification,
|
||||||
view, NULL);
|
view, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (event->xconfigure.x != view->pos.x
|
||||||
|
|| event->xconfigure.y != view->pos.y) {
|
||||||
|
|
||||||
|
if (event->xconfigure.send_event) {
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -265,34 +303,26 @@ W_CheckInternalMessage(W_Screen *scr, XClientMessageEvent *cev, int event)
|
|||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
W_ReparentView(W_View *view, W_View *newParent)
|
W_ReparentView(W_View *view, W_View *newParent, int x, int y)
|
||||||
{
|
{
|
||||||
int wasMapped;
|
|
||||||
Display *dpy = view->screen->display;
|
Display *dpy = view->screen->display;
|
||||||
|
|
||||||
assert(!view->flags.topLevel);
|
assert(!view->flags.topLevel);
|
||||||
|
|
||||||
wasMapped = view->flags.mapped;
|
|
||||||
if (wasMapped)
|
|
||||||
W_UnmapView(view);
|
|
||||||
|
|
||||||
unparentView(view);
|
unparentView(view);
|
||||||
adoptChildView(newParent, view);
|
adoptChildView(newParent, view);
|
||||||
|
|
||||||
if (view->flags.realized) {
|
if (view->flags.realized) {
|
||||||
if (newParent->flags.realized) {
|
if (newParent->flags.realized) {
|
||||||
XReparentWindow(dpy, view->window, newParent->window, 0, 0);
|
XReparentWindow(dpy, view->window, newParent->window, x, y);
|
||||||
} else {
|
} else {
|
||||||
wwarning("trying to reparent realized view to unrealized parent");
|
wwarning("trying to reparent realized view to unrealized parent");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
view->pos.x = 0;
|
view->pos.x = x;
|
||||||
view->pos.y = 0;
|
view->pos.y = y;
|
||||||
|
|
||||||
if (wasMapped)
|
|
||||||
W_MapView(view);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -382,6 +412,11 @@ destroyView(W_View *view)
|
|||||||
return;
|
return;
|
||||||
view->flags.alreadyDead = 1;
|
view->flags.alreadyDead = 1;
|
||||||
|
|
||||||
|
if (view->nextFocusChain)
|
||||||
|
view->nextFocusChain->prevFocusChain = view->prevFocusChain;
|
||||||
|
if (view->prevFocusChain)
|
||||||
|
view->prevFocusChain->nextFocusChain = view->nextFocusChain;
|
||||||
|
|
||||||
/* Do not leave focus in a inexisting control */
|
/* Do not leave focus in a inexisting control */
|
||||||
if (W_FocusedViewOfToplevel(W_TopLevelOfView(view))==view)
|
if (W_FocusedViewOfToplevel(W_TopLevelOfView(view))==view)
|
||||||
W_SetFocusOfTopLevel(W_TopLevelOfView(view), NULL);
|
W_SetFocusOfTopLevel(W_TopLevelOfView(view), NULL);
|
||||||
|
|||||||
@@ -69,6 +69,8 @@ showData(_Panel *panel)
|
|||||||
char buffer[32];
|
char buffer[32];
|
||||||
|
|
||||||
str = GetStringForKey("FocusMode");
|
str = GetStringForKey("FocusMode");
|
||||||
|
if (!str)
|
||||||
|
str = "manual";
|
||||||
if (strcasecmp(str, "manual")==0 || strcasecmp(str, "clicktofocus")==0)
|
if (strcasecmp(str, "manual")==0 || strcasecmp(str, "clicktofocus")==0)
|
||||||
WMSetPopUpButtonSelectedItem(panel->kfocP, 0);
|
WMSetPopUpButtonSelectedItem(panel->kfocP, 0);
|
||||||
else if (strcasecmp(str, "auto")==0 || strcasecmp(str, "focusfollowsmouse")==0)
|
else if (strcasecmp(str, "auto")==0 || strcasecmp(str, "focusfollowsmouse")==0)
|
||||||
@@ -84,12 +86,14 @@ showData(_Panel *panel)
|
|||||||
|
|
||||||
/**/
|
/**/
|
||||||
str = GetStringForKey("ColormapMode");
|
str = GetStringForKey("ColormapMode");
|
||||||
|
if (!str)
|
||||||
|
str = "auto";
|
||||||
if (strcasecmp(str, "manual")==0 || strcasecmp(str, "clicktofocus")==0) {
|
if (strcasecmp(str, "manual")==0 || strcasecmp(str, "clicktofocus")==0) {
|
||||||
WMPerformButtonClick(panel->manB);
|
WMPerformButtonClick(panel->manB);
|
||||||
} else if (strcasecmp(str, "auto")==0 || strcasecmp(str, "focusfollowsmouse")==0) {
|
} else if (strcasecmp(str, "auto")==0 || strcasecmp(str, "focusfollowsmouse")==0) {
|
||||||
WMPerformButtonClick(panel->autB);
|
WMPerformButtonClick(panel->autB);
|
||||||
} else {
|
} else {
|
||||||
wwarning(_("bad option value %s for option ColormapMode. Using default Manual"),
|
wwarning(_("bad option value %s for option ColormapMode. Using default Auto"),
|
||||||
str);
|
str);
|
||||||
WMPerformButtonClick(panel->manB);
|
WMPerformButtonClick(panel->manB);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -145,6 +145,8 @@ showData(_Panel *panel)
|
|||||||
WMSetPopUpButtonSelectedItem(panel->sizeP, i);
|
WMSetPopUpButtonSelectedItem(panel->sizeP, i);
|
||||||
|
|
||||||
str = GetStringForKey("IconificationStyle");
|
str = GetStringForKey("IconificationStyle");
|
||||||
|
if (!str)
|
||||||
|
str = "zoom";
|
||||||
if (strcasecmp(str, "none")==0)
|
if (strcasecmp(str, "none")==0)
|
||||||
WMPerformButtonClick(panel->animB[3]);
|
WMPerformButtonClick(panel->animB[3]);
|
||||||
else if (strcasecmp(str, "twist")==0)
|
else if (strcasecmp(str, "twist")==0)
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
SUBDIRS = xpm tiff po
|
SUBDIRS = xpm tiff po
|
||||||
|
|
||||||
nlsdir = @NLSDIR@
|
|
||||||
|
|
||||||
AUTOMAKE_OPTIONS = no-dependencies
|
AUTOMAKE_OPTIONS = no-dependencies
|
||||||
|
|
||||||
wpexecbindir = @wprefsdir@
|
wpexecbindir = @wprefsdir@
|
||||||
@@ -28,6 +26,7 @@ WPrefs_SOURCES = \
|
|||||||
Menu.c \
|
Menu.c \
|
||||||
MenuPreferences.c \
|
MenuPreferences.c \
|
||||||
MouseSettings.c \
|
MouseSettings.c \
|
||||||
|
NoMenuAlert.c \
|
||||||
Paths.c \
|
Paths.c \
|
||||||
Preferences.c \
|
Preferences.c \
|
||||||
Text.c \
|
Text.c \
|
||||||
@@ -39,26 +38,25 @@ WPrefs_SOURCES = \
|
|||||||
Workspace.c \
|
Workspace.c \
|
||||||
double.c \
|
double.c \
|
||||||
double.h \
|
double.h \
|
||||||
|
editmenu.c \
|
||||||
|
editmenu.h \
|
||||||
MenuGuru.c \
|
MenuGuru.c \
|
||||||
xmodifier.c
|
xmodifier.c
|
||||||
|
|
||||||
CPPFLAGS = \
|
CPPFLAGS = @CPPFLAGS@ -DLOCALEDIR=\"$(NLSDIR)\"
|
||||||
@CPPFLAGS@
|
|
||||||
|
|
||||||
|
|
||||||
INCLUDES = \
|
INCLUDES = \
|
||||||
-I$(top_srcdir)/wrlib \
|
-I$(top_srcdir)/wrlib \
|
||||||
-I$(top_srcdir)/WINGs \
|
-I$(top_srcdir)/WINGs @HEADER_SEARCH_PATH@
|
||||||
@XCFLAGS@
|
|
||||||
|
|
||||||
WPrefs_DEPENDENCIES = $(top_builddir)/WINGs/libWINGs.a
|
WPrefs_DEPENDENCIES = $(top_builddir)/WINGs/libWINGs.a
|
||||||
|
|
||||||
WPrefs_LDADD = \
|
WPrefs_LDADD = \
|
||||||
$(top_builddir)/WINGs/libWINGs.a\
|
$(top_builddir)/WINGs/libWINGs.a\
|
||||||
$(top_builddir)/wrlib/libwraster.la \
|
$(top_builddir)/wrlib/libwraster.la \
|
||||||
|
@LIBRARY_SEARCH_PATH@ \
|
||||||
@LIBPL@ \
|
@LIBPL@ \
|
||||||
@GFXLFLAGS@ \
|
|
||||||
@XLFLAGS@ \
|
|
||||||
@GFXLIBS@ \
|
@GFXLIBS@ \
|
||||||
@XLIBS@ \
|
@XLIBS@ \
|
||||||
@X_EXTRA_LIBS@ \
|
@X_EXTRA_LIBS@ \
|
||||||
|
|||||||
@@ -62,13 +62,13 @@ host_triplet = @host@
|
|||||||
CC = @CC@
|
CC = @CC@
|
||||||
CPP_PATH = @CPP_PATH@
|
CPP_PATH = @CPP_PATH@
|
||||||
DFLAGS = @DFLAGS@
|
DFLAGS = @DFLAGS@
|
||||||
GFXFLAGS = @GFXFLAGS@
|
|
||||||
GFXLFLAGS = @GFXLFLAGS@
|
|
||||||
GFXLIBS = @GFXLIBS@
|
GFXLIBS = @GFXLIBS@
|
||||||
|
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
|
||||||
ICONEXT = @ICONEXT@
|
ICONEXT = @ICONEXT@
|
||||||
INTLIBS = @INTLIBS@
|
INTLIBS = @INTLIBS@
|
||||||
LD = @LD@
|
LD = @LD@
|
||||||
LIBPL = @LIBPL@
|
LIBPL = @LIBPL@
|
||||||
|
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LITE = @LITE@
|
LITE = @LITE@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
@@ -89,8 +89,6 @@ wprefsdir = @wprefsdir@
|
|||||||
|
|
||||||
SUBDIRS = xpm tiff po
|
SUBDIRS = xpm tiff po
|
||||||
|
|
||||||
nlsdir = @NLSDIR@
|
|
||||||
|
|
||||||
AUTOMAKE_OPTIONS = no-dependencies
|
AUTOMAKE_OPTIONS = no-dependencies
|
||||||
|
|
||||||
wpexecbindir = @wprefsdir@
|
wpexecbindir = @wprefsdir@
|
||||||
@@ -103,18 +101,17 @@ wpdata_DATA = WPrefs.tiff WPrefs.xpm
|
|||||||
|
|
||||||
EXTRA_DIST = $(wpdata_DATA) TexturePanel.icons
|
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 Paths.c Preferences.c Text.c TextureAndColor.c TexturePanel.c TexturePanel.h Themes.c WindowHandling.c Workspace.c double.c double.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 TextureAndColor.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@
|
CPPFLAGS = @CPPFLAGS@ -DLOCALEDIR=\"$(NLSDIR)\"
|
||||||
|
|
||||||
|
INCLUDES = -I$(top_srcdir)/wrlib -I$(top_srcdir)/WINGs @HEADER_SEARCH_PATH@
|
||||||
INCLUDES = -I$(top_srcdir)/wrlib -I$(top_srcdir)/WINGs @XCFLAGS@
|
|
||||||
|
|
||||||
|
|
||||||
WPrefs_DEPENDENCIES = $(top_builddir)/WINGs/libWINGs.a
|
WPrefs_DEPENDENCIES = $(top_builddir)/WINGs/libWINGs.a
|
||||||
|
|
||||||
WPrefs_LDADD = $(top_builddir)/WINGs/libWINGs.a $(top_builddir)/wrlib/libwraster.la @LIBPL@ @GFXLFLAGS@ @XLFLAGS@ @GFXLIBS@ @XLIBS@ @X_EXTRA_LIBS@ @INTLIBS@ -lm
|
WPrefs_LDADD = $(top_builddir)/WINGs/libWINGs.a $(top_builddir)/wrlib/libwraster.la @LIBRARY_SEARCH_PATH@ @LIBPL@ @GFXLIBS@ @XLIBS@ @X_EXTRA_LIBS@ @INTLIBS@ -lm
|
||||||
|
|
||||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||||
CONFIG_HEADER = ../src/config.h
|
CONFIG_HEADER = ../src/config.h
|
||||||
@@ -130,9 +127,9 @@ X_LIBS = @X_LIBS@
|
|||||||
X_PRE_LIBS = @X_PRE_LIBS@
|
X_PRE_LIBS = @X_PRE_LIBS@
|
||||||
WPrefs_OBJECTS = main.o WPrefs.o Appearance.o Configurations.o Expert.o \
|
WPrefs_OBJECTS = main.o WPrefs.o Appearance.o Configurations.o Expert.o \
|
||||||
Focus.o Icons.o KeyboardSettings.o KeyboardShortcuts.o Menu.o \
|
Focus.o Icons.o KeyboardSettings.o KeyboardShortcuts.o Menu.o \
|
||||||
MenuPreferences.o MouseSettings.o Paths.o Preferences.o Text.o \
|
MenuPreferences.o MouseSettings.o NoMenuAlert.o Paths.o Preferences.o \
|
||||||
TextureAndColor.o TexturePanel.o Themes.o WindowHandling.o Workspace.o \
|
Text.o TextureAndColor.o TexturePanel.o Themes.o WindowHandling.o \
|
||||||
double.o MenuGuru.o xmodifier.o
|
Workspace.o double.o editmenu.o MenuGuru.o xmodifier.o
|
||||||
WPrefs_LDFLAGS =
|
WPrefs_LDFLAGS =
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@
|
||||||
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ typedef struct _Panel {
|
|||||||
|
|
||||||
extern char *OpenMenuGuru(WMWindow *mainWindow);
|
extern char *OpenMenuGuru(WMWindow *mainWindow);
|
||||||
|
|
||||||
|
extern Bool AskMenuCopy(WMWindow *wwin);
|
||||||
|
|
||||||
|
|
||||||
/* must match the indexes of the commands popup */
|
/* must match the indexes of the commands popup */
|
||||||
@@ -631,16 +631,21 @@ fillBrowserColumn(WMBrowser *bPtr, int column)
|
|||||||
|
|
||||||
if (column > 0) {
|
if (column > 0) {
|
||||||
menuList = getItemOfSelectedEntry(panel->browser);
|
menuList = getItemOfSelectedEntry(panel->browser);
|
||||||
|
|
||||||
|
WMHangData(WMGetBrowserListInColumn(bPtr, column), menuList);
|
||||||
|
|
||||||
if (column > WMGetBrowserFirstVisibleColumn(bPtr))
|
if (column > WMGetBrowserFirstVisibleColumn(bPtr))
|
||||||
WMSetTextFieldText(panel->tit2T, getItemTitle(menuList));
|
WMSetTextFieldText(panel->tit2T, getItemTitle(menuList));
|
||||||
else
|
else
|
||||||
WMSetTextFieldText(panel->tit1T, getItemTitle(menuList));
|
WMSetTextFieldText(panel->tit1T, getItemTitle(menuList));
|
||||||
} else {
|
} else {
|
||||||
menuList = panel->menu;
|
menuList = panel->menu;
|
||||||
|
|
||||||
|
WMHangData(WMGetBrowserListInColumn(bPtr, column), menuList);
|
||||||
|
|
||||||
WMSetTextFieldText(panel->tit1T, getItemTitle(panel->menu));
|
WMSetTextFieldText(panel->tit1T, getItemTitle(panel->menu));
|
||||||
}
|
}
|
||||||
|
|
||||||
WMHangData(WMGetBrowserListInColumn(bPtr, column), menuList);
|
|
||||||
for (i=1; i<PLGetNumberOfElements(menuList); i++) {
|
for (i=1; i<PLGetNumberOfElements(menuList); i++) {
|
||||||
menuItem = PLGetArrayElement(menuList, i);
|
menuItem = PLGetArrayElement(menuList, i);
|
||||||
WMInsertBrowserItem(bPtr, column, -1, getItemTitle(menuItem),
|
WMInsertBrowserItem(bPtr, column, -1, getItemTitle(menuItem),
|
||||||
@@ -1298,19 +1303,24 @@ getDefaultMenu(_Panel *panel, int *hasWSMenu)
|
|||||||
wwarning("%s:could not read property list menu", menuPath);
|
wwarning("%s:could not read property list menu", menuPath);
|
||||||
}
|
}
|
||||||
if (!menu) {
|
if (!menu) {
|
||||||
|
char buffer[512];
|
||||||
|
|
||||||
|
sprintf(buffer, _("Could not open default menu from '%s'"),
|
||||||
|
menuPath);
|
||||||
WMRunAlertPanel(WMWidgetScreen(panel->win), panel->win,
|
WMRunAlertPanel(WMWidgetScreen(panel->win), panel->win,
|
||||||
_("Error"), _("Could not copy default plmenu file "
|
_("Error"), buffer, _("OK"), NULL, NULL);
|
||||||
"from ~/GNUstep/Library/WindowMaker"),
|
|
||||||
_("OK"), NULL, NULL);
|
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
free(gspath);
|
free(gspath);
|
||||||
free(menuPath);
|
free(menuPath);
|
||||||
|
|
||||||
pmenu = preProcessMenu(menu, hasWSMenu);
|
if (menu) {
|
||||||
PLRelease(menu);
|
pmenu = preProcessMenu(menu, hasWSMenu);
|
||||||
|
PLRelease(menu);
|
||||||
|
} else {
|
||||||
|
pmenu = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
return pmenu;
|
return pmenu;
|
||||||
}
|
}
|
||||||
@@ -1322,8 +1332,7 @@ showData(_Panel *panel)
|
|||||||
char *gspath;
|
char *gspath;
|
||||||
char *menuPath;
|
char *menuPath;
|
||||||
proplist_t menu, pmenu, plPath;
|
proplist_t menu, pmenu, plPath;
|
||||||
char buffer[512];
|
int hasWSMenu = 0;
|
||||||
int hasWSMenu=0;
|
|
||||||
|
|
||||||
gspath = wusergnusteppath();
|
gspath = wusergnusteppath();
|
||||||
|
|
||||||
@@ -1336,22 +1345,13 @@ showData(_Panel *panel)
|
|||||||
pmenu = NULL;
|
pmenu = NULL;
|
||||||
|
|
||||||
if (!menu || !PLIsArray(menu)) {
|
if (!menu || !PLIsArray(menu)) {
|
||||||
sprintf(buffer, _("The format of the menu in ~/G/D/WMRootMenu is "
|
if (AskMenuCopy(panel->win)) {
|
||||||
"not recognized by WPrefs. It might be in a format different "
|
|
||||||
"than the one supported by WPrefs or contain a syntax error. "
|
|
||||||
"Do you want to continue using the current menu to edit "
|
|
||||||
"it by hand later or replace it with a default menu in the new "
|
|
||||||
"format?"));
|
|
||||||
if (WMRunAlertPanel(WMWidgetScreen(panel->win), panel->win,
|
|
||||||
_("Warning"), buffer, _("Keep current menu"),
|
|
||||||
_("Install default menu"), NULL)!=WAPRDefault) {
|
|
||||||
panel->dontSave = 0;
|
panel->dontSave = 0;
|
||||||
|
|
||||||
pmenu = getDefaultMenu(panel, &hasWSMenu);
|
pmenu = getDefaultMenu(panel, &hasWSMenu);
|
||||||
} else {
|
} else {
|
||||||
WMRunAlertPanel(WMWidgetScreen(panel->win), panel->win,
|
WMSetPopUpButtonEnabled(panel->cmd1P, False);
|
||||||
_("Warning"), _("Any changes made in this section will not be saved"),
|
WMSetPopUpButtonEnabled(panel->cmd2P, False);
|
||||||
_("OK"), NULL, NULL);
|
|
||||||
panel->dontSave = 1;
|
panel->dontSave = 1;
|
||||||
}
|
}
|
||||||
if (!pmenu) {
|
if (!pmenu) {
|
||||||
|
|||||||
@@ -253,6 +253,8 @@ showData(_Panel *panel)
|
|||||||
Display *dpy = WMScreenDisplay(WMWidgetScreen(panel->win));
|
Display *dpy = WMScreenDisplay(WMWidgetScreen(panel->win));
|
||||||
|
|
||||||
str = GetStringForKey("SelectWindowsMouseButton");
|
str = GetStringForKey("SelectWindowsMouseButton");
|
||||||
|
if (!str)
|
||||||
|
str = "left";
|
||||||
i = getbutton(str);
|
i = getbutton(str);
|
||||||
if (i==-1) {
|
if (i==-1) {
|
||||||
a = 0;
|
a = 0;
|
||||||
@@ -264,6 +266,8 @@ showData(_Panel *panel)
|
|||||||
}
|
}
|
||||||
|
|
||||||
str = GetStringForKey("WindowListMouseButton");
|
str = GetStringForKey("WindowListMouseButton");
|
||||||
|
if (!str)
|
||||||
|
str = "middle";
|
||||||
i = getbutton(str);
|
i = getbutton(str);
|
||||||
if (i==-1) {
|
if (i==-1) {
|
||||||
b = 0;
|
b = 0;
|
||||||
@@ -275,6 +279,8 @@ showData(_Panel *panel)
|
|||||||
}
|
}
|
||||||
|
|
||||||
str = GetStringForKey("ApplicationMenuMouseButton");
|
str = GetStringForKey("ApplicationMenuMouseButton");
|
||||||
|
if (!str)
|
||||||
|
str = "right";
|
||||||
i = getbutton(str);
|
i = getbutton(str);
|
||||||
if (i==-1) {
|
if (i==-1) {
|
||||||
c = 0;
|
c = 0;
|
||||||
@@ -319,9 +325,10 @@ showData(_Panel *panel)
|
|||||||
|
|
||||||
/**/
|
/**/
|
||||||
str = GetStringForKey("ModifierKey");
|
str = GetStringForKey("ModifierKey");
|
||||||
|
if (!str)
|
||||||
|
str = "mod1";
|
||||||
a = ModifierFromKey(dpy, str);
|
a = ModifierFromKey(dpy, str);
|
||||||
|
|
||||||
if (a != -1) {
|
if (a != -1) {
|
||||||
str = modifierNames[a];
|
str = modifierNames[a];
|
||||||
|
|
||||||
@@ -334,7 +341,7 @@ showData(_Panel *panel)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (a < 1) {
|
if (a < 1) {
|
||||||
sscanf(WMGetPopUpButtonItem(panel->grabP, 0), "%s", buffer);
|
sscanf(WMGetPopUpButtonItem(panel->grabP, 0), "%s", buffer);
|
||||||
WMSetPopUpButtonSelectedItem(panel->grabP, 0);
|
WMSetPopUpButtonSelectedItem(panel->grabP, 0);
|
||||||
@@ -528,8 +535,8 @@ createPanel(Panel *p)
|
|||||||
free(path);
|
free(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
buf1 = wmalloc(strlen(SPEED_IMAGE)+1);
|
buf1 = wmalloc(strlen(SPEED_IMAGE)+2);
|
||||||
buf2 = wmalloc(strlen(SPEED_IMAGE_S)+1);
|
buf2 = wmalloc(strlen(SPEED_IMAGE_S)+2);
|
||||||
|
|
||||||
for (i = 0; i < 5; i++) {
|
for (i = 0; i < 5; i++) {
|
||||||
panel->speedB[i] = WMCreateCustomButton(panel->speedF,
|
panel->speedB[i] = WMCreateCustomButton(panel->speedF,
|
||||||
@@ -601,8 +608,8 @@ createPanel(Panel *p)
|
|||||||
WMMoveWidget(panel->ddelaF, 15, 125);
|
WMMoveWidget(panel->ddelaF, 15, 125);
|
||||||
WMSetFrameTitle(panel->ddelaF, _("Double-Click Delay"));
|
WMSetFrameTitle(panel->ddelaF, _("Double-Click Delay"));
|
||||||
|
|
||||||
buf1 = wmalloc(strlen(DELAY_ICON)+1);
|
buf1 = wmalloc(strlen(DELAY_ICON)+2);
|
||||||
buf2 = wmalloc(strlen(DELAY_ICON_S)+1);
|
buf2 = wmalloc(strlen(DELAY_ICON_S)+2);
|
||||||
|
|
||||||
for (i = 0; i < 5; i++) {
|
for (i = 0; i < 5; i++) {
|
||||||
panel->ddelaB[i] = WMCreateCustomButton(panel->ddelaF,
|
panel->ddelaB[i] = WMCreateCustomButton(panel->ddelaF,
|
||||||
@@ -855,18 +862,22 @@ storeData(_Panel *panel)
|
|||||||
int i;
|
int i;
|
||||||
char *tmp, *p;
|
char *tmp, *p;
|
||||||
static char *button[3] = {"left", "middle", "right"};
|
static char *button[3] = {"left", "middle", "right"};
|
||||||
|
WMUserDefaults *udb = WMGetStandardUserDefaults();
|
||||||
|
|
||||||
|
if (!WMGetUDBoolForKey(udb, "NoXSetStuff")) {
|
||||||
|
tmp = WMGetTextFieldText(panel->threT);
|
||||||
|
if (strlen(tmp)==0) {
|
||||||
|
free(tmp);
|
||||||
|
tmp = wstrdup("4");
|
||||||
|
}
|
||||||
|
|
||||||
|
sprintf(buffer, XSET" m %i/%i %s\n", (int)(panel->acceleration*10),
|
||||||
|
10, tmp);
|
||||||
|
storeCommandInScript(XSET" m", buffer);
|
||||||
|
|
||||||
tmp = WMGetTextFieldText(panel->threT);
|
|
||||||
if (strlen(tmp)==0) {
|
|
||||||
free(tmp);
|
free(tmp);
|
||||||
tmp = wstrdup("0");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sprintf(buffer, XSET" m %i/%i %s\n", (int)(panel->acceleration*10),10, tmp);
|
|
||||||
storeCommandInScript(XSET" m", buffer);
|
|
||||||
|
|
||||||
free(tmp);
|
|
||||||
|
|
||||||
for (i=0; i<5; i++) {
|
for (i=0; i<5; i++) {
|
||||||
if (WMGetButtonSelected(panel->ddelaB[i]))
|
if (WMGetButtonSelected(panel->ddelaB[i]))
|
||||||
break;
|
break;
|
||||||
@@ -874,7 +885,7 @@ storeData(_Panel *panel)
|
|||||||
SetIntegerForKey(DELAY(i), "DoubleClickTime");
|
SetIntegerForKey(DELAY(i), "DoubleClickTime");
|
||||||
|
|
||||||
SetBoolForKey(WMGetButtonSelected(panel->disaB), "DisableWSMouseActions");
|
SetBoolForKey(WMGetButtonSelected(panel->disaB), "DisableWSMouseActions");
|
||||||
|
|
||||||
for (i=0; i<3; i++) {
|
for (i=0; i<3; i++) {
|
||||||
if (WMGetButtonSelected(panel->amb[i]))
|
if (WMGetButtonSelected(panel->amb[i]))
|
||||||
break;
|
break;
|
||||||
|
|||||||
127
WPrefs.app/NoMenuAlert.c
Normal file
127
WPrefs.app/NoMenuAlert.c
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
/* NoMenuAlert.c - warn user that menu can't be edited with WPrefs
|
||||||
|
*
|
||||||
|
* WPrefs - Window Maker Preferences Program
|
||||||
|
*
|
||||||
|
* Copyright (c) 1999 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"
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct NoMenuPanel {
|
||||||
|
WMWindow *wwin;
|
||||||
|
|
||||||
|
WMLabel *text;
|
||||||
|
|
||||||
|
WMButton *copyBtn;
|
||||||
|
WMButton *keepBtn;
|
||||||
|
|
||||||
|
int finished;
|
||||||
|
int copy;
|
||||||
|
} NoMenuPanel;
|
||||||
|
|
||||||
|
|
||||||
|
#define MESSAGE_TEXT \
|
||||||
|
" The menu that is being used now could not be opened. "\
|
||||||
|
"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 "\
|
||||||
|
"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."
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
closeCallback(WMWidget *self, void *data)
|
||||||
|
{
|
||||||
|
NoMenuPanel *panel = (NoMenuPanel*)data;
|
||||||
|
|
||||||
|
panel->finished = True;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
buttonCallback(WMWidget *self, void *data)
|
||||||
|
{
|
||||||
|
NoMenuPanel *panel = (NoMenuPanel*)data;
|
||||||
|
|
||||||
|
panel->finished = True;
|
||||||
|
if (self == panel->keepBtn)
|
||||||
|
panel->copy = False;
|
||||||
|
else
|
||||||
|
panel->copy = True;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Bool
|
||||||
|
AskMenuCopy(WMWindow *wwin)
|
||||||
|
{
|
||||||
|
NoMenuPanel panel;
|
||||||
|
char buffer[1024];
|
||||||
|
|
||||||
|
panel.wwin = WMCreatePanelForWindow(wwin, "noMenuAlert");
|
||||||
|
WMResizeWidget(panel.wwin, 430, 260);
|
||||||
|
WMSetWindowTitle(panel.wwin, "Warning");
|
||||||
|
WMSetWindowCloseAction(panel.wwin, closeCallback, &panel);
|
||||||
|
|
||||||
|
panel.text = WMCreateLabel(panel.wwin);
|
||||||
|
WMResizeWidget(panel.text, 370, 200);
|
||||||
|
WMMoveWidget(panel.text, 30, 20);
|
||||||
|
|
||||||
|
sprintf(buffer, _(MESSAGE_TEXT), "shit/ewq/ewq/rweq");
|
||||||
|
WMSetLabelText(panel.text, buffer);
|
||||||
|
|
||||||
|
panel.copyBtn = WMCreateCommandButton(panel.wwin);
|
||||||
|
WMResizeWidget(panel.copyBtn, 180, 24);
|
||||||
|
WMMoveWidget(panel.copyBtn, 30, 225);
|
||||||
|
WMSetButtonText(panel.copyBtn, _("Copy Default Menu"));
|
||||||
|
WMSetButtonAction(panel.copyBtn, buttonCallback, &panel);
|
||||||
|
|
||||||
|
panel.keepBtn = WMCreateCommandButton(panel.wwin);
|
||||||
|
WMResizeWidget(panel.keepBtn, 180, 24);
|
||||||
|
WMMoveWidget(panel.keepBtn, 225, 225);
|
||||||
|
WMSetButtonText(panel.keepBtn, _("Keep Current Menu"));
|
||||||
|
WMSetButtonAction(panel.keepBtn, buttonCallback, &panel);
|
||||||
|
|
||||||
|
WMMapSubwidgets(panel.wwin);
|
||||||
|
WMRealizeWidget(panel.wwin);
|
||||||
|
WMMapWidget(panel.wwin);
|
||||||
|
|
||||||
|
panel.finished = False;
|
||||||
|
panel.copy = False;
|
||||||
|
|
||||||
|
while (!panel.finished) {
|
||||||
|
XEvent event;
|
||||||
|
|
||||||
|
WMNextEvent(WMScreenDisplay(WMWidgetScreen(panel.wwin)), &event);
|
||||||
|
WMHandleEvent(&event);
|
||||||
|
}
|
||||||
|
|
||||||
|
WMDestroyWidget(panel.wwin);
|
||||||
|
|
||||||
|
return panel.copy;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -365,6 +365,9 @@ createPanel(Panel *p)
|
|||||||
WMAddNotificationObserver(textBeginObserver, panel,
|
WMAddNotificationObserver(textBeginObserver, panel,
|
||||||
WMTextDidBeginEditingNotification, panel->pixT);
|
WMTextDidBeginEditingNotification, panel->pixT);
|
||||||
|
|
||||||
|
WMSetTextFieldNextTextField(panel->pixT, panel->icoT);
|
||||||
|
WMSetTextFieldPrevTextField(panel->pixT, panel->icoT);
|
||||||
|
|
||||||
WMMapSubwidgets(panel->pixF);
|
WMMapSubwidgets(panel->pixF);
|
||||||
|
|
||||||
WMRealizeWidget(panel->frame);
|
WMRealizeWidget(panel->frame);
|
||||||
|
|||||||
@@ -60,6 +60,8 @@ showData(_Panel *panel)
|
|||||||
char *str;
|
char *str;
|
||||||
|
|
||||||
str = GetStringForKey("ResizeDisplay");
|
str = GetStringForKey("ResizeDisplay");
|
||||||
|
if (!str)
|
||||||
|
str = "corner";
|
||||||
if (strcasecmp(str, "corner")==0)
|
if (strcasecmp(str, "corner")==0)
|
||||||
WMSetPopUpButtonSelectedItem(panel->sizeP, 0);
|
WMSetPopUpButtonSelectedItem(panel->sizeP, 0);
|
||||||
else if (strcasecmp(str, "center")==0)
|
else if (strcasecmp(str, "center")==0)
|
||||||
@@ -70,6 +72,8 @@ showData(_Panel *panel)
|
|||||||
WMSetPopUpButtonSelectedItem(panel->sizeP, 3);
|
WMSetPopUpButtonSelectedItem(panel->sizeP, 3);
|
||||||
|
|
||||||
str = GetStringForKey("MoveDisplay");
|
str = GetStringForKey("MoveDisplay");
|
||||||
|
if (!str)
|
||||||
|
str = "corner";
|
||||||
if (strcasecmp(str, "corner")==0)
|
if (strcasecmp(str, "corner")==0)
|
||||||
WMSetPopUpButtonSelectedItem(panel->posiP, 0);
|
WMSetPopUpButtonSelectedItem(panel->posiP, 0);
|
||||||
else if (strcasecmp(str, "center")==0)
|
else if (strcasecmp(str, "center")==0)
|
||||||
|
|||||||
@@ -37,12 +37,11 @@ License
|
|||||||
-------
|
-------
|
||||||
|
|
||||||
Like Window Maker, WPrefs is distributed with through the General Public
|
Like Window Maker, WPrefs is distributed with through the General Public
|
||||||
License (as stated in the file COPYING). As an exception, the icons and
|
License (as stated in the file COPYING).
|
||||||
original graphical artwork included with WPrefs has the additional
|
|
||||||
restriction that they must not be redistributed without the rest of the
|
The graphical artwork included with WPrefs is NOT licensed through the GPL.
|
||||||
Window Maker distribution. In other words, you can use and distribute the
|
It is licensed through the OpenContent License, instead. Please read the
|
||||||
WPrefs icons freely, as long as they are distributed for use with Window
|
COPYING.OPL file for the detailed license.
|
||||||
Maker (ripping the icons and putting them in your program is prohibited).
|
|
||||||
|
|
||||||
|
|
||||||
Notes
|
Notes
|
||||||
|
|||||||
@@ -245,9 +245,8 @@ buttonCallback(WMWidget *self, void *data)
|
|||||||
/* Pixmap Panel Buttons */
|
/* Pixmap Panel Buttons */
|
||||||
|
|
||||||
} else if (self == panel->pbrowB) {
|
} else if (self == panel->pbrowB) {
|
||||||
|
op = WMGetOpenPanel(WMWidgetScreen(panel->pbrowB));
|
||||||
op = WMGetOpenPanel(WMWidgetScreen(panel->pbrowB));
|
if (WMRunModalFilePanelForDirectory(op, NULL, "/usr/local", NULL, NULL)) {
|
||||||
if (WMRunModalOpenPanelForDirectory(op, NULL, "/usr/local", NULL, NULL)) {
|
|
||||||
char *path;
|
char *path;
|
||||||
path = WMGetFilePanelFileName(op);
|
path = WMGetFilePanelFileName(op);
|
||||||
WMSetTextFieldText(panel->pimagT, path);
|
WMSetTextFieldText(panel->pimagT, path);
|
||||||
|
|||||||
@@ -460,7 +460,6 @@ Initialize(WMScreen *scr)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
RFreeStringList(list);
|
|
||||||
|
|
||||||
if (TIFFOK)
|
if (TIFFOK)
|
||||||
path = WMPathForResourceOfType("WPrefs.tiff", NULL);
|
path = WMPathForResourceOfType("WPrefs.tiff", NULL);
|
||||||
@@ -495,7 +494,7 @@ Initialize(WMScreen *scr)
|
|||||||
loadConfigurations(scr, WPrefs.win);
|
loadConfigurations(scr, WPrefs.win);
|
||||||
|
|
||||||
WMSetLabelText(WPrefs.statusL, _("Initializing configuration panels..."));
|
WMSetLabelText(WPrefs.statusL, _("Initializing configuration panels..."));
|
||||||
|
#if 1
|
||||||
InitWindowHandling(scr, WPrefs.win);
|
InitWindowHandling(scr, WPrefs.win);
|
||||||
InitFocus(scr, WPrefs.win);
|
InitFocus(scr, WPrefs.win);
|
||||||
InitMenuPreferences(scr, WPrefs.win);
|
InitMenuPreferences(scr, WPrefs.win);
|
||||||
@@ -505,7 +504,9 @@ Initialize(WMScreen *scr)
|
|||||||
InitPaths(scr, WPrefs.win);
|
InitPaths(scr, WPrefs.win);
|
||||||
InitWorkspace(scr, WPrefs.win);
|
InitWorkspace(scr, WPrefs.win);
|
||||||
InitConfigurations(scr, WPrefs.win);
|
InitConfigurations(scr, WPrefs.win);
|
||||||
|
#endif
|
||||||
InitMenu(scr, WPrefs.win);
|
InitMenu(scr, WPrefs.win);
|
||||||
|
#if 1
|
||||||
#ifdef not_yet_fully_implemented
|
#ifdef not_yet_fully_implemented
|
||||||
InitKeyboardSettings(scr, WPrefs.win);
|
InitKeyboardSettings(scr, WPrefs.win);
|
||||||
#endif
|
#endif
|
||||||
@@ -518,15 +519,14 @@ Initialize(WMScreen *scr)
|
|||||||
InitThemes(scr, WPrefs.win);
|
InitThemes(scr, WPrefs.win);
|
||||||
#endif
|
#endif
|
||||||
InitExpert(scr, WPrefs.win);
|
InitExpert(scr, WPrefs.win);
|
||||||
|
#endif
|
||||||
WMRealizeWidget(WPrefs.scrollV);
|
WMRealizeWidget(WPrefs.scrollV);
|
||||||
|
|
||||||
WMSetLabelText(WPrefs.statusL,
|
WMSetLabelText(WPrefs.statusL,
|
||||||
_("WPrefs is free software and is distributed WITHOUT ANY "
|
_("WPrefs is free software and is distributed WITHOUT ANY\n"
|
||||||
"WARRANTY under the terms of the GNU General Public License. "
|
"WARRANTY under the terms of the GNU General Public License.\n"
|
||||||
"Redistribution of the icons in this program separately "
|
"The icons in this program are licensed through the\n"
|
||||||
"from the program is prohibited."));
|
"OpenContent License."));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -580,8 +580,10 @@ loadConfigurations(WMScreen *scr, WMWindow *mainw)
|
|||||||
if (sscanf(buffer, "Window Maker %i.%i.%i",&v1,&v2,&v3)!=3
|
if (sscanf(buffer, "Window Maker %i.%i.%i",&v1,&v2,&v3)!=3
|
||||||
&& sscanf(buffer, "WindowMaker %i.%i.%i",&v1,&v2,&v3)!=3) {
|
&& sscanf(buffer, "WindowMaker %i.%i.%i",&v1,&v2,&v3)!=3) {
|
||||||
WMRunAlertPanel(scr, mainw, _("Error"),
|
WMRunAlertPanel(scr, mainw, _("Error"),
|
||||||
_("Could not extract version from Window Maker. Make sure it is correctly installed."),
|
_("Could not extract version from Window Maker. "
|
||||||
_("OK"), NULL, NULL);
|
"Make sure it is correctly installed and the path "
|
||||||
|
"where it installed is in the PATH environment "
|
||||||
|
"variable."), _("OK"), NULL, NULL);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
if (v1 == 0 && (v2 < 18 || v3 < 0)) {
|
if (v1 == 0 && (v2 < 18 || v3 < 0)) {
|
||||||
@@ -601,7 +603,14 @@ loadConfigurations(WMScreen *scr, WMWindow *mainw)
|
|||||||
if (!file || !fgets(buffer, 1023, file)) {
|
if (!file || !fgets(buffer, 1023, file)) {
|
||||||
wsyserror(_("could not run \"wmaker --global_defaults_path\"."));
|
wsyserror(_("could not run \"wmaker --global_defaults_path\"."));
|
||||||
exit(1);
|
exit(1);
|
||||||
|
} else {
|
||||||
|
char *ptr;
|
||||||
|
ptr = strchr(buffer, '\n');
|
||||||
|
if (ptr)
|
||||||
|
*ptr = 0;
|
||||||
|
strcat(buffer, "/WindowMaker");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (file)
|
if (file)
|
||||||
pclose(file);
|
pclose(file);
|
||||||
|
|
||||||
@@ -849,6 +858,9 @@ GetSpeedForKey(char *defaultName)
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
str = GetStringForKey(defaultName);
|
str = GetStringForKey(defaultName);
|
||||||
|
if (!str)
|
||||||
|
return 2;
|
||||||
|
|
||||||
if (strcasecmp(str, "ultraslow")==0)
|
if (strcasecmp(str, "ultraslow")==0)
|
||||||
i = 0;
|
i = 0;
|
||||||
else if (strcasecmp(str, "slow")==0)
|
else if (strcasecmp(str, "slow")==0)
|
||||||
|
|||||||
@@ -42,8 +42,8 @@
|
|||||||
|
|
||||||
/****/
|
/****/
|
||||||
|
|
||||||
#define WVERSION "0.10"
|
#define WVERSION "0.11"
|
||||||
#define WMVERSION "0.50.x"
|
#define WMVERSION "0.51.x"
|
||||||
|
|
||||||
|
|
||||||
typedef struct _Panel Panel;
|
typedef struct _Panel Panel;
|
||||||
|
|||||||
Binary file not shown.
@@ -1,237 +1,426 @@
|
|||||||
/* XPM */
|
/* XPM */
|
||||||
static char * image_name[] = {
|
static char * WPrefs3D_xpm[] = {
|
||||||
"45 45 189 2",
|
"48 48 375 2",
|
||||||
" c None",
|
" c None",
|
||||||
". c #186175D60000",
|
". c #A3FF84",
|
||||||
"X c #000000000000",
|
"+ c #77B563",
|
||||||
"o c #082004100820",
|
"@ c #4A4A4A",
|
||||||
"O c #082008200820",
|
"# c #39393B",
|
||||||
"+ c #4924A28930C2",
|
"$ c #353537",
|
||||||
"@ c #514451445144",
|
"% c #323234",
|
||||||
"# c #492449244924",
|
"& c #2E2E31",
|
||||||
"$ c #49244D344924",
|
"* c #2C2C2E",
|
||||||
"% c #208179E70820",
|
"= c #29292B",
|
||||||
"& c #104010401040",
|
"- c #262628",
|
||||||
"* c #28A22CB228A2",
|
"; c #73B15F",
|
||||||
"= c #38E338E338E3",
|
"> c #393939",
|
||||||
"- c #28A228A228A2",
|
", c #6C6C6C",
|
||||||
"; c #30C22CB230C2",
|
"' c #626266",
|
||||||
": c #186114511861",
|
") c #83A479",
|
||||||
"> c #514455555965",
|
"! c #808080",
|
||||||
", c #10400C301040",
|
"~ c #6F6F70",
|
||||||
"< c #186118611861",
|
"{ c #626263",
|
||||||
"1 c #208120812081",
|
"] c #585859",
|
||||||
"2 c #2081249228A2",
|
"^ c #4E4E4F",
|
||||||
"3 c #186171C60000",
|
"/ c #444446",
|
||||||
"4 c #28A282071040",
|
"( c #3C3C3D",
|
||||||
"5 c #28A27DF70820",
|
"_ c #303031",
|
||||||
"6 c #28A2249228A2",
|
": c #4D6F42",
|
||||||
"7 c #30C230C230C2",
|
"< c #242427",
|
||||||
"8 c #410341034103",
|
"[ c #292929",
|
||||||
"9 c #30C292482081",
|
"} c #1C1C1C",
|
||||||
"0 c #30C234D338E3",
|
"| c #9A9A9B",
|
||||||
"q c #79E77DF78617",
|
"1 c #9C9C9E",
|
||||||
"w c #C71BC71BC71B",
|
"2 c #949495",
|
||||||
"e c #71C675D671C6",
|
"3 c #878787",
|
||||||
"r c #965892489658",
|
"4 c #88A67D",
|
||||||
"t c #FFFFFFFFFFFF",
|
"5 c #6D6D6D",
|
||||||
"y c #EFBEEFBEEFBE",
|
"6 c #606060",
|
||||||
"u c #5144AAAA38E3",
|
"7 c #545454",
|
||||||
"i c #A699FFFF8E38",
|
"8 c #3F3F3F",
|
||||||
"p c #596559656185",
|
"9 c #353535",
|
||||||
"a c #AEBA10401040",
|
"0 c #2C2C2C",
|
||||||
"s c #E79D14511861",
|
"a c #1F1F1F",
|
||||||
"d c #208104100000",
|
"b c #44633A",
|
||||||
"f c #FFFF61856185",
|
"c c #0D0D0D",
|
||||||
"g c #F7DE2CB22081",
|
"d c #030303",
|
||||||
"h c #C71BAAAAA699",
|
"e c #000000",
|
||||||
"j c #DF7D14511861",
|
"f c #7AB765",
|
||||||
"k c #71C608200820",
|
"g c #96B88B",
|
||||||
"l c #FFFF30C230C2",
|
"h c #A0BE97",
|
||||||
"z c #E79D20811861",
|
"i c #9EBC94",
|
||||||
"x c #79E714511861",
|
"j c #91AF87",
|
||||||
"c c #28A204100000",
|
"k c #84A37A",
|
||||||
"v c #EFBE18611861",
|
"l c #7D9B73",
|
||||||
"b c #79E70C300820",
|
"m c #75936B",
|
||||||
"n c #FFFFE38DE79D",
|
"n c #6C8B62",
|
||||||
"m c #FFFF28A228A2",
|
"o c #66845B",
|
||||||
"M c #E79D18611861",
|
"p c #607E55",
|
||||||
"N c #8E381C711861",
|
"q c #59774F",
|
||||||
"B c #596559655965",
|
"r c #537149",
|
||||||
"V c #861749240820",
|
"s c #4E6C43",
|
||||||
"C c #D75C24921040",
|
"t c #46653C",
|
||||||
"Z c #B6DA10401040",
|
"u c #405F36",
|
||||||
"A c #B6DA14511040",
|
"v c #3B5931",
|
||||||
"S c #10403CF30000",
|
"w c #35542B",
|
||||||
"D c #69A6C30B5144",
|
"x c #538144",
|
||||||
"F c #CF3C96585144",
|
"y c #70AD5B",
|
||||||
"G c #EFBE38E328A2",
|
"z c #1C1C1D",
|
||||||
"H c #BEFB18611861",
|
"A c #8F8F91",
|
||||||
"J c #410375D638E3",
|
"B c #ADADAD",
|
||||||
"K c #30C28E381861",
|
"C c #9A9A9A",
|
||||||
"L c #38E33CF34103",
|
"D c #888888",
|
||||||
"P c #A69910401040",
|
"E c #777777",
|
||||||
"I c #8E380C300820",
|
"F c #666666",
|
||||||
"U c #CF3C14511040",
|
"G c #749269",
|
||||||
"Y c #FFFF59655965",
|
"H c #525252",
|
||||||
"T c #D75C41034103",
|
"I c #474747",
|
||||||
"R c #965820811861",
|
"J c #373737",
|
||||||
"E c #DF7D20812081",
|
"K c #2D2D2D",
|
||||||
"W c #596508200820",
|
"L c #262626",
|
||||||
"Q c #38E304100820",
|
"M c #1D1D1D",
|
||||||
"! c #FFFF34D338E3",
|
"N c #141414",
|
||||||
"~ c #8E3838E338E3",
|
"O c #3D5B33",
|
||||||
"^ c #6185492428A2",
|
"P c #020202",
|
||||||
"/ c #F7DE20812081",
|
"Q c #050505",
|
||||||
"( c #8E388A288E38",
|
"R c #9F9FA3",
|
||||||
") c #30C204100000",
|
"S c #A9A9A9",
|
||||||
"_ c #104000000000",
|
"T c #9D9D9D",
|
||||||
"` c #FFFFD34CD75C",
|
"U c #828282",
|
||||||
"' c #FFFF20812081",
|
"V c #727272",
|
||||||
"] c #28A220812081",
|
"W c #5B5B5B",
|
||||||
"[ c #69A6A2895965",
|
"X c #6D8B63",
|
||||||
"{ c #F7DE24922081",
|
"Y c #414141",
|
||||||
"} c #492414511040",
|
"Z c #303030",
|
||||||
"| c #AEBAAEBAAEBA",
|
"` c #272727",
|
||||||
" . c #86170C300820",
|
" . c #171717",
|
||||||
".. c #69A608200820",
|
".. c #39572F",
|
||||||
"X. c #104059650000",
|
"+. c #040404",
|
||||||
"o. c #FFFF8A288E38",
|
"@. c #060606",
|
||||||
"O. c #F7DE38E338E3",
|
"#. c #070707",
|
||||||
"+. c #9E79EFBE8617",
|
"$. c #080808",
|
||||||
"@. c #71C614511040",
|
"%. c #111111",
|
||||||
"#. c #861786178617",
|
"&. c #29292D",
|
||||||
"$. c #965810401040",
|
"*. c #506E48",
|
||||||
"%. c #208151441040",
|
"=. c #28282C",
|
||||||
"&. c #FFFF45144103",
|
"-. c #28282B",
|
||||||
"*. c #D75C34D338E3",
|
";. c #1F1F22",
|
||||||
"=. c #FFFF49244924",
|
">. c #050506",
|
||||||
"-. c #9E791C712081",
|
",. c #79B765",
|
||||||
";. c #618565956185",
|
"'. c #939393",
|
||||||
":. c #492404100820",
|
"). c #A5A5A5",
|
||||||
">. c #38E35D7528A2",
|
"!. c #999999",
|
||||||
",. c #C71BC30BC71B",
|
"~. c #737373",
|
||||||
"<. c #8617E38D69A6",
|
"{. c #696969",
|
||||||
"1. c #FFFF249228A2",
|
"]. c #565656",
|
||||||
"2. c #69A628A228A2",
|
"^. c #6A885F",
|
||||||
"3. c #FFFF65956185",
|
"/. c #464646",
|
||||||
"4. c #C71B20812081",
|
"(. c #3C3C3C",
|
||||||
"5. c #28A26DB60000",
|
"_. c #232323",
|
||||||
"6. c #FFFF18611861",
|
":. c #1B1B1B",
|
||||||
"7. c #E79D1C711861",
|
"<. c #090909",
|
||||||
"8. c #30C2492428A2",
|
"[. c #37552C",
|
||||||
"9. c #FFFFF3CEEFBE",
|
"}. c #181818",
|
||||||
"0. c #B6DAB6DAB6DA",
|
"|. c #797979",
|
||||||
"q. c #FFFFA2899E79",
|
"1. c #757575",
|
||||||
"w. c #E79D20812081",
|
"2. c #6B6B6B",
|
||||||
"e. c #51445D750820",
|
"3. c #6F6F6F",
|
||||||
"r. c #F7DE1C711861",
|
"4. c #0F0F0F",
|
||||||
"t. c #618549240820",
|
"5. c #1E1E1E",
|
||||||
"y. c #18616DB60000",
|
"6. c #98B98C",
|
||||||
"u. c #9E7941031040",
|
"7. c #ABABAB",
|
||||||
"i. c #A69934D31040",
|
"8. c #8B8B8B",
|
||||||
"p. c #186120811040",
|
"9. c #FF1818",
|
||||||
"a. c #BEFBC71B69A6",
|
"0. c #5C5C5C",
|
||||||
"s. c #AEBA92485144",
|
"a. c #67855D",
|
||||||
"d. c #D75C7DF74924",
|
"b. c #424242",
|
||||||
"f. c #CF3C618538E3",
|
"c. c #313131",
|
||||||
"g. c #AEBAF3CE8617",
|
"d. c #202020",
|
||||||
"h. c #104018610820",
|
"e. c #505050",
|
||||||
"j. c #F7DE1C712081",
|
"f. c #DFDFDF",
|
||||||
"k. c #18610C300820",
|
"g. c #F4F4F4",
|
||||||
"l. c #AEBAA289A699",
|
"h. c #F1F1F1",
|
||||||
"z. c #BEFB45144103",
|
"i. c #ECECEC",
|
||||||
"x. c #618561856185",
|
"j. c #BFBFBF",
|
||||||
"c. c #104004100820",
|
"k. c #454546",
|
||||||
"v. c #EFBE28A228A2",
|
"l. c #A6C49C",
|
||||||
"b. c #69A610401040",
|
"m. c #9F9F9F",
|
||||||
"n. c #79E718611861",
|
"n. c #7D7D7D",
|
||||||
"m. c #51442CB228A2",
|
"o. c #717171",
|
||||||
"M. c #79E779E779E7",
|
"p. c #4C0000",
|
||||||
"N. c #F7DE30C230C2",
|
"q. c #4D4D4D",
|
||||||
"B. c #F7DE18611861",
|
"r. c #64835A",
|
||||||
"V. c #410304100820",
|
"s. c #3D3D3D",
|
||||||
"C. c #E79D34D330C2",
|
"t. c #343434",
|
||||||
"Z. c #C71B18611861",
|
"u. c #242424",
|
||||||
"A. c #F7DE28A22081",
|
"v. c #1A1A1A",
|
||||||
"S. c #DF7DA289A699",
|
"w. c #131313",
|
||||||
"D. c #F7DE28A228A2",
|
"x. c #0A0A0A",
|
||||||
"F. c #E79D30C230C2",
|
"y. c #585858",
|
||||||
"G. c #D75CD34CD75C",
|
"z. c #EAEAEA",
|
||||||
"H. c #EFBE41034103",
|
"A. c #FFFFFF",
|
||||||
"J. c #C71B14511040",
|
"B. c #FEFEFE",
|
||||||
"K. c #000014510000",
|
"C. c #FBFBFB",
|
||||||
"L. c #514408200820",
|
"D. c #E9E9E9",
|
||||||
"P. c #C71B59655965",
|
"E. c #A0BE96",
|
||||||
"I. c #B6DA249228A2",
|
"F. c #919191",
|
||||||
"U. c #492410401040",
|
"G. c #818181",
|
||||||
"Y. c #208110401040",
|
"H. c #494949",
|
||||||
"T. c #082010400820",
|
"I. c #617F57",
|
||||||
"R. c #FFFF7DF779E7",
|
"J. c #282828",
|
||||||
"E. c #618514511040",
|
"K. c #E6E6E6",
|
||||||
"W. c #AEBA45144103",
|
"L. c #F5F5F5",
|
||||||
"Q. c #000008200000",
|
"M. c #E8E8E8",
|
||||||
"!. c #DF7D2CB22081",
|
"N. c #D8D8D8",
|
||||||
"~. c #59655D755965",
|
"O. c #4E4E51",
|
||||||
"^. c #71C671C671C6",
|
"P. c #A3A3A3",
|
||||||
"/. c #AEBAAAAAAEBA",
|
"Q. c #9BBA91",
|
||||||
"(. c #69A66DB671C6",
|
"R. c #8A8A8A",
|
||||||
"). c #28A282070820",
|
"S. c #7B7B7B",
|
||||||
"_. c #71C6CB2B5965",
|
"T. c #707070",
|
||||||
"`. c #A699FBEE8E38",
|
"U. c #5E7D54",
|
||||||
"'. c #69A6C71B5144",
|
"V. c #363636",
|
||||||
"]. c #E79DE79DE79D",
|
"W. c #555555",
|
||||||
"[. c #FFFFFBEEFFFF",
|
"X. c #E4E4E4",
|
||||||
"{. c #BEFBBEFBBEFB",
|
"Y. c #D9D9D9",
|
||||||
"}. c #8E388E389658",
|
"Z. c #CECECE",
|
||||||
"|. c #A699A699A699",
|
"`. c #747474",
|
||||||
" X c #9E79A2899E79",
|
" + c #94B38A",
|
||||||
".X c #DF7DDF7DDF7D",
|
".+ c #5C7A51",
|
||||||
"XX c #F7DEF7DEF7DE",
|
"++ c #0E0E0E",
|
||||||
"oX c #861782078617",
|
"@+ c #E1E1E1",
|
||||||
"OX c #71C6D34C5965",
|
"#+ c #FAFAFA",
|
||||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
"$+ c #D0D0D0",
|
||||||
". . . . . . ",
|
"%+ c #77B463",
|
||||||
". . . . . . ",
|
"&+ c #92B387",
|
||||||
". . . . . . ",
|
"*+ c #9BB991",
|
||||||
". . o X O + @ # # # # # # $ % X . . ",
|
"=+ c #92B188",
|
||||||
". . & * $ = - . X X X X X X X X . ; ; o . . ",
|
"-+ c #89A77F",
|
||||||
". . : > - , X X . X X X X X X X X . X o O , X . . ",
|
";+ c #809E75",
|
||||||
". . < 1 , X X X X . X X X X X X X X . X X X o X 2 . . ",
|
">+ c #7B9971",
|
||||||
". . . . . . . . 3 % 4 . . . . . . . . . . . . . . . . . . . . . % 5 . . . . . . . . . . . ",
|
",+ c #547249",
|
||||||
". % 2 X X X X X X X . X X X X X X X X . X 6 7 ; 7 ; = 8 9 0 0 0 0 . ",
|
"'+ c #4D6B43",
|
||||||
". < % X X X X X X X X . X X X X X X X X . X q w w w w w e % X X X X . ",
|
")+ c #47663D",
|
||||||
". < 6 . X X X X X X X X . X X X X X X X X . X r t t t t t y u X X X X . ",
|
"!+ c #436139",
|
||||||
". X o X . X X X X X X X X . X X X X X X X X . X r t t t t t t i p X X X . ",
|
"~+ c #3C5B32",
|
||||||
". O : X . X X X X a s d X . X X X X X X X X . X r t t t t t f g h : X X . ",
|
"{+ c #37562D",
|
||||||
". X < X X . X X X X s j k X . X X X X X X X X . X r t t t t t l z x > X X . ",
|
"]+ c #CAE8C0",
|
||||||
". X O X X . X X X c v j b X . X X X X X X X X . X r t t t t n m M N B & X . ",
|
"^+ c #D9F8CF",
|
||||||
". . . . . . . . . . . . V C Z A S . . . . . . . . . . . D i i i i F G A H J K . . . . . . ",
|
"/+ c #C9E7BF",
|
||||||
". L X X X . X X X Z P I U X . X X X X X X X X . X r t t t t Y T R E 8 @ X . ",
|
"(+ c #BDDCB3",
|
||||||
". : X X X . X X X j W Q v X . X X X X X X X X . X r t t t t ! ~ ^ / ; ( , . ",
|
"_+ c #6CAA58",
|
||||||
". X X X X . X X ) v _ X v Q . X X X X X X X X . X r t t t ` ' ] [ { } | : . ",
|
":+ c #484849",
|
||||||
". X X X X . X X .U X X j ..X.X X X X X X X X . X r t t t o.O., +.! @.#.: . ",
|
"<+ c #929292",
|
||||||
". X X X X . X X U Z X X U $.%.; * ; * * ; ; - K ; | t t t &.*.; i =.-.;.< . ",
|
"[+ c #8EAD84",
|
||||||
". X X X X . X X v :.X X a H >.w ,.w w w w w w <.w y t t t 1.2.$ i 3.4.# : . ",
|
"}+ c #646464",
|
||||||
". X X X ) 5.X ) 6.X X X ..7.8.t t t t t t t t i t ` 9.t ` 6., 0.i q.w.7 : . ",
|
"|+ c #56754C",
|
||||||
". . . . % . e.r.t.y.u.i.X . . 5.r.p.i i i i i i i i i a.{ s.+.d.f.X i i g.r.h.5 . . . . . ",
|
"1+ c #515151",
|
||||||
". = X v v s _ U .X X X X j.k.t t t t t t t t i m ' s l.&.z.x.t i t ' c.X . ",
|
"2+ c #EEEEEE",
|
||||||
". 6 W 6.Q 6...s c X X X X v.b.y t t t t t t t i 6.} 6.n.m m.M.t i t N...X . ",
|
"3+ c #D6D6D6",
|
||||||
"r.B.6.6.6.6.V.X 7.v U X X X X X C.Z.6.1.m m m ' { { A.S.X D.v F.: G.t i t H.J.6.v v v v . ",
|
"4+ c #C5C5C5",
|
||||||
"K.X X X X X X X u.v L.X X X X X P.v I.L.U.} } Y., & T.: ,.R.v E.7 t t i y W.v P L.Q Q Q Q.",
|
"5+ c #9FBD95",
|
||||||
". & , X . X X X X X X X r !., ~.t t t t t t i t t t ^.& /.t t i ,.: U X X X X X X.",
|
"6+ c #404040",
|
||||||
". o < X . X X X X X X X r i 7 t t t t t t t i t t t t t t t t i (.X X X . ",
|
"7+ c #8D8D8D",
|
||||||
". X X . X X X X X X X r i t t t t t t t t i t t t t t t t t D , X X X . ",
|
"8+ c #8AA87F",
|
||||||
". . . . 3 3 3 . . % ).).).).).)._.i i i i i i i i i i i i i i i i `.'.% . . . . . . . . . ",
|
"9+ c #676767",
|
||||||
". X X X X . - r | | | | | ].i t t t t t t t t i t t t t t [.{.7 . X X X X . ",
|
"0+ c #5F5F5F",
|
||||||
". X X X X . , $ w t t t t t i t t t t t t t t i t t t t t }.7 X . X X X X . ",
|
"a+ c #506E45",
|
||||||
". X X X X . X X 1 |.t t t t i t t t t t t t t i t t t ].}., X X . X X X X . ",
|
"b+ c #D3D3D3",
|
||||||
". X X X X . X X X X 6 X.XXXi t t t t t t t t i XX.X X6 X X X X . X X X X . ",
|
"c+ c #E7E7E7",
|
||||||
". X X X X . X X X X X X = oXOXw w t t t t w w OXoX= X X X X X X . X X X X . ",
|
"d+ c #BDBDBD",
|
||||||
". X X X X . X X X X X X X X % 7 ; ;.;.;.;.; ; % X X X X X X X X . X X X X . ",
|
"e+ c #9EBD94",
|
||||||
". X X X X 3 X X X X X X X X . X X X X X X X X . X X X X X X X X . X X X X . ",
|
"f+ c #898989",
|
||||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
"g+ c #86A57C",
|
||||||
". . . . . . ",
|
"h+ c #636363",
|
||||||
". . . . . . ",
|
"i+ c #48673E",
|
||||||
". . . . . . ",
|
"j+ c #161616",
|
||||||
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "};
|
"k+ c #101010",
|
||||||
|
"l+ c #4E4E4E",
|
||||||
|
"m+ c #CCCCCC",
|
||||||
|
"n+ c #E0E0E0",
|
||||||
|
"o+ c #C8C8C8",
|
||||||
|
"p+ c #9AB990",
|
||||||
|
"q+ c #868686",
|
||||||
|
"r+ c #858585",
|
||||||
|
"s+ c #84A279",
|
||||||
|
"t+ c #3B3B3B",
|
||||||
|
"u+ c #0C0C0C",
|
||||||
|
"v+ c #010101",
|
||||||
|
"w+ c #4F4F4F",
|
||||||
|
"x+ c #C3C3C3",
|
||||||
|
"y+ c #96B58C",
|
||||||
|
"z+ c #333333",
|
||||||
|
"A+ c #809F76",
|
||||||
|
"B+ c #5A5A5A",
|
||||||
|
"C+ c #3A3A3A",
|
||||||
|
"D+ c #3E3E3E",
|
||||||
|
"E+ c #5B7951",
|
||||||
|
"F+ c #484848",
|
||||||
|
"G+ c #DEDEDE",
|
||||||
|
"H+ c #BABABA",
|
||||||
|
"I+ c #989898",
|
||||||
|
"J+ c #92B088",
|
||||||
|
"K+ c #7E9C73",
|
||||||
|
"L+ c #CACACA",
|
||||||
|
"M+ c #D1D1D1",
|
||||||
|
"N+ c #CBCBCB",
|
||||||
|
"O+ c #D7D7D7",
|
||||||
|
"P+ c #C9C9C9",
|
||||||
|
"Q+ c #BEDCB4",
|
||||||
|
"R+ c #EDEDED",
|
||||||
|
"S+ c #E5E5E5",
|
||||||
|
"T+ c #8EAC84",
|
||||||
|
"U+ c #7C7C7C",
|
||||||
|
"V+ c #2B2B2B",
|
||||||
|
"W+ c #DBF9D0",
|
||||||
|
"X+ c #F2F2F2",
|
||||||
|
"Y+ c #B3B3B3",
|
||||||
|
"Z+ c #86A47B",
|
||||||
|
"`+ c #2F2F30",
|
||||||
|
" @ c #191919",
|
||||||
|
".@ c #F3F3F3",
|
||||||
|
"+@ c #FCFCFC",
|
||||||
|
"@@ c #F9F9F9",
|
||||||
|
"#@ c #EBEBEB",
|
||||||
|
"$@ c #C7E6BD",
|
||||||
|
"%@ c #A8A8A8",
|
||||||
|
"&@ c #5C7A52",
|
||||||
|
"*@ c #54724A",
|
||||||
|
"=@ c #4D6B42",
|
||||||
|
"-@ c #44623A",
|
||||||
|
";@ c #79976F",
|
||||||
|
">@ c #6B8961",
|
||||||
|
",@ c #2A2A2A",
|
||||||
|
"'@ c #2E2E2F",
|
||||||
|
")@ c #535353",
|
||||||
|
"!@ c #EFEFEF",
|
||||||
|
"~@ c #D5D5D5",
|
||||||
|
"{@ c #CDCDCD",
|
||||||
|
"]@ c #C6C6C6",
|
||||||
|
"^@ c #AFCDA4",
|
||||||
|
"/@ c #A4A4A4",
|
||||||
|
"(@ c #9C9C9C",
|
||||||
|
"_@ c #626262",
|
||||||
|
":@ c #66845C",
|
||||||
|
"<@ c #4B4B4C",
|
||||||
|
"[@ c #323232",
|
||||||
|
"}@ c #212121",
|
||||||
|
"|@ c #CFCFCF",
|
||||||
|
"1@ c #C0C0C0",
|
||||||
|
"2@ c #B6B6B6",
|
||||||
|
"3@ c #ABC9A0",
|
||||||
|
"4@ c #A7A7A7",
|
||||||
|
"5@ c #9E9E9E",
|
||||||
|
"6@ c #969696",
|
||||||
|
"7@ c #8F8F8F",
|
||||||
|
"8@ c #6E6E6E",
|
||||||
|
"9@ c #58764E",
|
||||||
|
"0@ c #5E7C53",
|
||||||
|
"a@ c #121212",
|
||||||
|
"b@ c #F8F8F8",
|
||||||
|
"c@ c #E3E3E3",
|
||||||
|
"d@ c #C2C2C2",
|
||||||
|
"e@ c #B1B1B1",
|
||||||
|
"f@ c #A7C59C",
|
||||||
|
"g@ c #A1A1A1",
|
||||||
|
"h@ c #7E7E7E",
|
||||||
|
"i@ c #416037",
|
||||||
|
"j@ c #679C56",
|
||||||
|
"k@ c #87A57D",
|
||||||
|
"l@ c #DBDBDB",
|
||||||
|
"m@ c #AAAAAA",
|
||||||
|
"n@ c #A2C098",
|
||||||
|
"o@ c #7F7F7F",
|
||||||
|
"p@ c #679457",
|
||||||
|
"q@ c #222222",
|
||||||
|
"r@ c #BCBCBC",
|
||||||
|
"s@ c #B5B5B5",
|
||||||
|
"t@ c #949494",
|
||||||
|
"u@ c #656565",
|
||||||
|
"v@ c #2A2A2B",
|
||||||
|
"w@ c #6D6D6E",
|
||||||
|
"x@ c #B7B7B7",
|
||||||
|
"y@ c #D2F0C8",
|
||||||
|
"z@ c #AFAFAF",
|
||||||
|
"A@ c #98B78E",
|
||||||
|
"B@ c #575757",
|
||||||
|
"C@ c #4C4C4C",
|
||||||
|
"D@ c #F6F6F6",
|
||||||
|
"E@ c #D7F6CD",
|
||||||
|
"F@ c #B8B8B8",
|
||||||
|
"G@ c #B0B0B0",
|
||||||
|
"H@ c #8E8E8E",
|
||||||
|
"I@ c #616161",
|
||||||
|
"J@ c #669356",
|
||||||
|
"K@ c #6C8A61",
|
||||||
|
"L@ c #628058",
|
||||||
|
"M@ c #5A784F",
|
||||||
|
"N@ c #527148",
|
||||||
|
"O@ c #4C6B42",
|
||||||
|
"P@ c #45643B",
|
||||||
|
"Q@ c #3E5C34",
|
||||||
|
"R@ c #4F6E45",
|
||||||
|
"S@ c #739169",
|
||||||
|
"T@ c #AECCA4",
|
||||||
|
"U@ c #ADCCA3",
|
||||||
|
"V@ c #A0BF96",
|
||||||
|
"W@ c #9CBA92",
|
||||||
|
"X@ c #97B68D",
|
||||||
|
"Y@ c #78966D",
|
||||||
|
"Z@ c #638159",
|
||||||
|
"`@ c #537249",
|
||||||
|
" # c #506F46",
|
||||||
|
".# c #787878",
|
||||||
|
"+# c #5C7B52",
|
||||||
|
"@# c #0B0B0B",
|
||||||
|
"## c #252525",
|
||||||
|
"$# c #3A5930",
|
||||||
|
"%# c #517E41",
|
||||||
|
" ",
|
||||||
|
" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||||
|
" . . . . . . ",
|
||||||
|
" . . . . . . ",
|
||||||
|
" . . . . . . ",
|
||||||
|
" . . . . . . ",
|
||||||
|
" . . . . . . ",
|
||||||
|
" . . + @ # $ % & * = - ; . . ",
|
||||||
|
" . . > , ' ) ! ~ { ] ^ / ( _ : < [ . . ",
|
||||||
|
" . . } | 1 2 3 4 5 6 7 @ 8 9 0 a b c d e e . . ",
|
||||||
|
" . . . . . . . . . . . . f g h i j k l m n o p q r s t u v w w w x y . . . . . . . . . . . . ",
|
||||||
|
" . . z A B C D E F G H I 8 J K L M N O d e e e P Q e . . ",
|
||||||
|
" . . a R S T U V F W X @ Y > Z ` a .c ..e e +.@.#.$.%.&.*.=.-.;.>. . ",
|
||||||
|
" . ,.'.).!.D ~.{.6 ].^./.(.9 K _.:.N <.[.e }.W |.1.2.3.4.w e e e e . ",
|
||||||
|
" . 5.6.7.T 8.|.9.9.0.H a.b.> c.[ d. .4.@.w e e.f.g.h.i.j.9.9.e e e e . ",
|
||||||
|
" . k.l.m.8.n.o.9.9.p.q.r.s.t.0 u.v.w.x.P w e y.z.A.B.C.D.9.9.p.e e e . ",
|
||||||
|
" . 1 E.F.G.1.5 9.9.p.H.I.> Z J.d. .4.#.e w e ].K.A.L.M.N.9.9.p.e e e . ",
|
||||||
|
" . O.P.Q.R.S.T.{.9.9.9./.U.V.0 u.} w.x.d e w e W.X.A.z.Y.Z.9.9.9.e e e . ",
|
||||||
|
" . `.!. +U `., 9.9.9.9.p..+Z ` a .++@.e e w e 7 @+#+@+$+9.9.9.9.p.e e . ",
|
||||||
|
" . . . . . . %+&+*+=+-+;+>+9.p.p.9.p.q ,+'+)+!+~+{+w w w w n ]+^+/+(+9.p.p.9.p.w _+. . . . . ",
|
||||||
|
" . :+C <+[+E , }+9.p.@ 9.p.|+[ d. .4.@.e e e w e 1+Y.2+3+4+9.p.5+9.p.e e . ",
|
||||||
|
" . 6+7+R.8+o.9+0+9.p./.9.p.a+d.}.%.<.P e e e w e e.b+c+Z.d+9.p.e+9.p.5.e . ",
|
||||||
|
" . J 3 f+g+5 h+9.9.p.Y 9.9.i+j+k+x.+.e e e e w e l+m+n+o+9.9.p.p+9.9.} e . ",
|
||||||
|
" . t.q+r+s+{.0+9.p.p.t+9.9.p.u+$.+.v+e e e e w e w+b+f.x+9.p.p.y+9.9.p.e . ",
|
||||||
|
" . z+r+! A+}+B+9.p.8 c.a 9.p.C+Y D+C+D+z+/.c.E+F+m.D.G+H+9.p.I+J+~.9.p.e . ",
|
||||||
|
" . t.U S.K+6 9.9.p.t+K M 9.p.L+$+$+M+m+N+O+P+Q+G+R+S+o+9.9.p.<+T+3.9.p.e . ",
|
||||||
|
" . z+U+9.>+0.9.9.p.J V+} 9.p.g.B.B.B.B.B.B.C.W+X+9.L+Y+9.9.p.8.Z+}+9.p.e . ",
|
||||||
|
" . `+9.9.9.y.9.p.p.z+L @9.p..@B.B.+@@@X+#@n+$@9.9.9.%@9.p.p.G.l y.9.p.e . ",
|
||||||
|
" . 9.9.9.9.9.9.9.p.9.p.9.p.&@*@=@-@9.p.9.9.9.9.9.9.9.9.9.9.p.9.p.9.p.j Z+;@>@9.p.9.9.9.9.9.. ",
|
||||||
|
" . p.p.p.p.p.p.p.p.9.9.9.p.V.,@d.N 9.9.9.p.p.p.p.p.p.p.p.p.p.9.9.9.p.G.3.G C+9.9.9.p.p.p.p.. ",
|
||||||
|
" . '@)@n 9.p.p.Z L :.k+k+9.p.p.!@f.~@{@]@d+^@B /@(@9.p.p.E _@:@a e 9.p.p. . ",
|
||||||
|
" . <@a.I p.[@,@}@}.++4.-+p.C.M.Y.|@o+1@2@3@4@5@6@7@p.S.8@W.9@$.e e p. . ",
|
||||||
|
" . } 0@s.t.[ d. @a@x.++4 h.b@c@b+P+d@H+e@f@g@I+F.D h@T.0.t.i@P e e e . ",
|
||||||
|
" . j@(.V+ @%.u+<.Q u+k@h.X+l@m+x+H+Y+m@n@C F.f+o@T.F H } [.e e e e . ",
|
||||||
|
" . @9 c.p@t+` } %.%.k+4.q@e+b@X+3+]@r@s@B P.i t@R.! 3.W e.K x.w e e e e . ",
|
||||||
|
" . [@u@0.>@s.v@w@m@Y+).m.x@y@B.S+{@1@2@z@4@5@A@8.n.8@B+V.q@<.e w e e e e . ",
|
||||||
|
" . 0 B@C@I.t.L }., |@K.g.D@E@G+x+F@G@4@m.I+H@8+`.I@W.Z @.e e e w e e e e . ",
|
||||||
|
" . . . . . . J@K@L@M@N@O@P@Q@R@S@5+T@U@3@V@W@X@=+T+8+s+Y@S@Z@`@Q@w w w w w w w w _+. . . . . ",
|
||||||
|
" . J.@ V. #d. @w.u+Q #.v.C@A+U ! U+.#o.2.F W +#Z .@.v+e e e e w e e e e . ",
|
||||||
|
" . v.0 }.i@++@##.+.v+e e e w @} q@` ##_.M .$#e e e e e e e e w e e e e . ",
|
||||||
|
" . P P e %#e e e e e e e e %#e e e e e e e e %#e e e e e e e e %#e e e e . ",
|
||||||
|
" . . . . . . ",
|
||||||
|
" . . . . . . ",
|
||||||
|
" . . . . . . ",
|
||||||
|
" . . . . . . ",
|
||||||
|
" . . . . . . ",
|
||||||
|
" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||||
|
" "};
|
||||||
|
|||||||
@@ -41,7 +41,11 @@ typedef struct _Panel {
|
|||||||
|
|
||||||
WMSlider *vsli;
|
WMSlider *vsli;
|
||||||
WMSlider *hsli;
|
WMSlider *hsli;
|
||||||
|
|
||||||
|
WMFrame *resF;
|
||||||
|
WMSlider *resS;
|
||||||
|
WMLabel *resL;
|
||||||
|
|
||||||
WMFrame *maxiF;
|
WMFrame *maxiF;
|
||||||
WMButton *miconB;
|
WMButton *miconB;
|
||||||
WMButton *mdockB;
|
WMButton *mdockB;
|
||||||
@@ -93,9 +97,31 @@ sliderCallback(WMWidget *w, void *data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
resistanceCallback(WMWidget *w, void *data)
|
||||||
|
{
|
||||||
|
_Panel *panel = (_Panel*)data;
|
||||||
|
char buffer[64];
|
||||||
|
int i;
|
||||||
|
|
||||||
|
i = WMGetSliderValue(panel->resS);
|
||||||
|
|
||||||
|
if (i == 0)
|
||||||
|
WMSetLabelText(panel->resL, "OFF");
|
||||||
|
else {
|
||||||
|
sprintf(buffer, "%i", i);
|
||||||
|
WMSetLabelText(panel->resL, buffer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
getPlacement(char *str)
|
getPlacement(char *str)
|
||||||
{
|
{
|
||||||
|
if (!str)
|
||||||
|
return 0;
|
||||||
|
|
||||||
if (strcasecmp(str, "auto")==0 || strcasecmp(str, "smart")==0)
|
if (strcasecmp(str, "auto")==0 || strcasecmp(str, "smart")==0)
|
||||||
return 0;
|
return 0;
|
||||||
else if (strcasecmp(str, "random")==0)
|
else if (strcasecmp(str, "random")==0)
|
||||||
@@ -139,7 +165,11 @@ showData(_Panel *panel)
|
|||||||
WMSetSliderValue(panel->vsli, y);
|
WMSetSliderValue(panel->vsli, y);
|
||||||
|
|
||||||
sliderCallback(NULL, panel);
|
sliderCallback(NULL, panel);
|
||||||
|
|
||||||
|
x = GetIntegerForKey("EdgeResistance");
|
||||||
|
WMSetSliderValue(panel->resS, x);
|
||||||
|
resistanceCallback(NULL, panel);
|
||||||
|
|
||||||
WMSetButtonSelected(panel->tranB, GetBoolForKey("OpenTransientOnOwnerWorkspace"));
|
WMSetButtonSelected(panel->tranB, GetBoolForKey("OpenTransientOnOwnerWorkspace"));
|
||||||
|
|
||||||
WMSetButtonSelected(panel->opaqB, GetBoolForKey("OpaqueMove"));
|
WMSetButtonSelected(panel->opaqB, GetBoolForKey("OpaqueMove"));
|
||||||
@@ -166,6 +196,7 @@ storeData(_Panel *panel)
|
|||||||
sprintf(y, "%i", WMGetSliderValue(panel->vsli));
|
sprintf(y, "%i", WMGetSliderValue(panel->vsli));
|
||||||
arr = PLMakeArrayFromElements(PLMakeString(x), PLMakeString(y), NULL);
|
arr = PLMakeArrayFromElements(PLMakeString(x), PLMakeString(y), NULL);
|
||||||
SetObjectForKey(arr, "WindowPlaceOrigin");
|
SetObjectForKey(arr, "WindowPlaceOrigin");
|
||||||
|
SetIntegerForKey(WMGetSliderValue(panel->resS), "EdgeResistance");
|
||||||
PLRelease(arr);
|
PLRelease(arr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -187,27 +218,27 @@ createPanel(Panel *p)
|
|||||||
|
|
||||||
/************** Window Placement ***************/
|
/************** Window Placement ***************/
|
||||||
panel->placF = WMCreateFrame(panel->frame);
|
panel->placF = WMCreateFrame(panel->frame);
|
||||||
WMResizeWidget(panel->placF, 270, 150);
|
WMResizeWidget(panel->placF, 270, 110);
|
||||||
WMMoveWidget(panel->placF, 20, 15);
|
WMMoveWidget(panel->placF, 20, 10);
|
||||||
WMSetFrameTitle(panel->placF, _("Window Placement"));
|
WMSetFrameTitle(panel->placF, _("Window Placement"));
|
||||||
|
|
||||||
panel->placP = WMCreatePopUpButton(panel->placF);
|
panel->placP = WMCreatePopUpButton(panel->placF);
|
||||||
WMResizeWidget(panel->placP, 195, 20);
|
WMResizeWidget(panel->placP, 120, 20);
|
||||||
WMMoveWidget(panel->placP, 35, 20);
|
WMMoveWidget(panel->placP, 15, 20);
|
||||||
WMAddPopUpButtonItem(panel->placP, _("Automatic"));
|
WMAddPopUpButtonItem(panel->placP, _("Automatic"));
|
||||||
WMAddPopUpButtonItem(panel->placP, _("Random"));
|
WMAddPopUpButtonItem(panel->placP, _("Random"));
|
||||||
WMAddPopUpButtonItem(panel->placP, _("Manual"));
|
WMAddPopUpButtonItem(panel->placP, _("Manual"));
|
||||||
WMAddPopUpButtonItem(panel->placP, _("Cascade"));
|
WMAddPopUpButtonItem(panel->placP, _("Cascade"));
|
||||||
|
|
||||||
panel->porigL = WMCreateLabel(panel->placF);
|
panel->porigL = WMCreateLabel(panel->placF);
|
||||||
WMResizeWidget(panel->porigL, 118, 32);
|
WMResizeWidget(panel->porigL, 138, 32);
|
||||||
WMMoveWidget(panel->porigL, 5, 60);
|
WMMoveWidget(panel->porigL, 5, 45);
|
||||||
WMSetLabelTextAlignment(panel->porigL, WACenter);
|
WMSetLabelTextAlignment(panel->porigL, WACenter);
|
||||||
WMSetLabelText(panel->porigL, _("Placement Origin"));
|
WMSetLabelText(panel->porigL, _("Placement Origin"));
|
||||||
|
|
||||||
panel->porigvL = WMCreateLabel(panel->placF);
|
panel->porigvL = WMCreateLabel(panel->placF);
|
||||||
WMResizeWidget(panel->porigvL, 70, 20);
|
WMResizeWidget(panel->porigvL, 80, 20);
|
||||||
WMMoveWidget(panel->porigvL, 25, 95);
|
WMMoveWidget(panel->porigvL, 30, 75);
|
||||||
WMSetLabelTextAlignment(panel->porigvL, WACenter);
|
WMSetLabelTextAlignment(panel->porigvL, WACenter);
|
||||||
|
|
||||||
color = WMCreateRGBColor(scr, 0x5100, 0x5100, 0x7100, True);
|
color = WMCreateRGBColor(scr, 0x5100, 0x5100, 0x7100, True);
|
||||||
@@ -219,16 +250,16 @@ createPanel(Panel *p)
|
|||||||
swidth = WidthOfScreen(DefaultScreenOfDisplay(WMScreenDisplay(scr)));
|
swidth = WidthOfScreen(DefaultScreenOfDisplay(WMScreenDisplay(scr)));
|
||||||
sheight = HeightOfScreen(DefaultScreenOfDisplay(WMScreenDisplay(scr)));
|
sheight = HeightOfScreen(DefaultScreenOfDisplay(WMScreenDisplay(scr)));
|
||||||
|
|
||||||
if (120*sheight/swidth < 80*swidth/sheight) {
|
if (120*sheight/swidth < 70*swidth/sheight) {
|
||||||
width = 80*swidth/sheight;
|
width = 70*swidth/sheight;
|
||||||
height = 80;
|
height = 70;
|
||||||
} else {
|
} else {
|
||||||
height = 120*sheight/swidth;
|
height = 120*sheight/swidth;
|
||||||
width = 120;
|
width = 120;
|
||||||
}
|
}
|
||||||
WMResizeWidget(panel->porigF, width, height);
|
WMResizeWidget(panel->porigF, width, height);
|
||||||
WMMoveWidget(panel->porigF, 125+(120-width)/2, 45+(80-height)/2);
|
WMMoveWidget(panel->porigF, 135+(120-width)/2, 20+(70-height)/2);
|
||||||
|
|
||||||
panel->porigW = WMCreateLabel(panel->porigF);
|
panel->porigW = WMCreateLabel(panel->porigF);
|
||||||
WMResizeWidget(panel->porigW, THUMB_SIZE, THUMB_SIZE);
|
WMResizeWidget(panel->porigW, THUMB_SIZE, THUMB_SIZE);
|
||||||
WMMoveWidget(panel->porigW, 2, 2);
|
WMMoveWidget(panel->porigW, 2, 2);
|
||||||
@@ -237,14 +268,14 @@ createPanel(Panel *p)
|
|||||||
|
|
||||||
panel->hsli = WMCreateSlider(panel->placF);
|
panel->hsli = WMCreateSlider(panel->placF);
|
||||||
WMResizeWidget(panel->hsli, width, 12);
|
WMResizeWidget(panel->hsli, width, 12);
|
||||||
WMMoveWidget(panel->hsli, 125+(120-width)/2, 45+(80-height)/2+height+2);
|
WMMoveWidget(panel->hsli, 135+(120-width)/2, 20+(70-height)/2+height+2);
|
||||||
WMSetSliderAction(panel->hsli, sliderCallback, panel);
|
WMSetSliderAction(panel->hsli, sliderCallback, panel);
|
||||||
WMSetSliderMinValue(panel->hsli, 0);
|
WMSetSliderMinValue(panel->hsli, 0);
|
||||||
WMSetSliderMaxValue(panel->hsli, swidth);
|
WMSetSliderMaxValue(panel->hsli, swidth);
|
||||||
|
|
||||||
panel->vsli = WMCreateSlider(panel->placF);
|
panel->vsli = WMCreateSlider(panel->placF);
|
||||||
WMResizeWidget(panel->vsli, 12, height);
|
WMResizeWidget(panel->vsli, 12, height);
|
||||||
WMMoveWidget(panel->vsli, 125+(120-width)/2+width+2, 45+(80-height)/2);
|
WMMoveWidget(panel->vsli, 135+(120-width)/2+width+2, 20+(70-height)/2);
|
||||||
WMSetSliderAction(panel->vsli, sliderCallback, panel);
|
WMSetSliderAction(panel->vsli, sliderCallback, panel);
|
||||||
WMSetSliderMinValue(panel->vsli, 0);
|
WMSetSliderMinValue(panel->vsli, 0);
|
||||||
WMSetSliderMaxValue(panel->vsli, sheight);
|
WMSetSliderMaxValue(panel->vsli, sheight);
|
||||||
@@ -255,13 +286,13 @@ createPanel(Panel *p)
|
|||||||
|
|
||||||
/************** Opaque Move ***************/
|
/************** Opaque Move ***************/
|
||||||
panel->opaqF = WMCreateFrame(panel->frame);
|
panel->opaqF = WMCreateFrame(panel->frame);
|
||||||
WMMoveWidget(panel->opaqF, 300, 15);
|
WMResizeWidget(panel->opaqF, 205, 110);
|
||||||
WMResizeWidget(panel->opaqF, 205, 125);
|
WMMoveWidget(panel->opaqF, 300, 10);
|
||||||
WMSetFrameTitle(panel->opaqF, _("Opaque Move"));
|
WMSetFrameTitle(panel->opaqF, _("Opaque Move"));
|
||||||
|
|
||||||
panel->opaqB = WMCreateButton(panel->opaqF, WBTToggle);
|
panel->opaqB = WMCreateButton(panel->opaqF, WBTToggle);
|
||||||
WMResizeWidget(panel->opaqB, 64, 64);
|
WMResizeWidget(panel->opaqB, 64, 64);
|
||||||
WMMoveWidget(panel->opaqB, 70, 35);
|
WMMoveWidget(panel->opaqB, 70, 25);
|
||||||
WMSetButtonImagePosition(panel->opaqB, WIPImageOnly);
|
WMSetButtonImagePosition(panel->opaqB, WIPImageOnly);
|
||||||
|
|
||||||
path = LocateImage(NON_OPAQUE_MOVE_PIXMAP);
|
path = LocateImage(NON_OPAQUE_MOVE_PIXMAP);
|
||||||
@@ -291,33 +322,53 @@ createPanel(Panel *p)
|
|||||||
|
|
||||||
/**************** Account for Icon/Dock ***************/
|
/**************** Account for Icon/Dock ***************/
|
||||||
panel->maxiF = WMCreateFrame(panel->frame);
|
panel->maxiF = WMCreateFrame(panel->frame);
|
||||||
WMResizeWidget(panel->maxiF, 205, 70);
|
WMResizeWidget(panel->maxiF, 205, 95);
|
||||||
WMMoveWidget(panel->maxiF, 300, 145);
|
WMMoveWidget(panel->maxiF, 300, 125);
|
||||||
WMSetFrameTitle(panel->maxiF, _("When maximizing..."));
|
WMSetFrameTitle(panel->maxiF, _("When maximizing..."));
|
||||||
|
|
||||||
panel->miconB = WMCreateSwitchButton(panel->maxiF);
|
panel->miconB = WMCreateSwitchButton(panel->maxiF);
|
||||||
WMResizeWidget(panel->miconB, 185, 20);
|
WMResizeWidget(panel->miconB, 185, 30);
|
||||||
WMMoveWidget(panel->miconB, 10, 15);
|
WMMoveWidget(panel->miconB, 10, 18);
|
||||||
WMSetButtonText(panel->miconB, _("...do not resize over icons"));
|
WMSetButtonText(panel->miconB, _("...do not cover icons"));
|
||||||
|
|
||||||
panel->mdockB = WMCreateSwitchButton(panel->maxiF);
|
panel->mdockB = WMCreateSwitchButton(panel->maxiF);
|
||||||
WMResizeWidget(panel->mdockB, 185, 20);
|
WMResizeWidget(panel->mdockB, 185, 30);
|
||||||
WMMoveWidget(panel->mdockB, 10, 40);
|
WMMoveWidget(panel->mdockB, 10, 53);
|
||||||
|
|
||||||
WMSetButtonText(panel->mdockB, _("...do not resize over dock"));
|
WMSetButtonText(panel->mdockB, _("...do not cover dock"));
|
||||||
|
|
||||||
WMMapSubwidgets(panel->maxiF);
|
WMMapSubwidgets(panel->maxiF);
|
||||||
|
|
||||||
/**************** Transients On Top ****************/
|
/**************** Edge Resistance ****************/
|
||||||
|
|
||||||
|
panel->resF = WMCreateFrame(panel->frame);
|
||||||
|
WMResizeWidget(panel->resF, 270, 45);
|
||||||
|
WMMoveWidget(panel->resF, 20, 125);
|
||||||
|
WMSetFrameTitle(panel->resF, _("Edge Resistance"));
|
||||||
|
|
||||||
|
panel->resS = WMCreateSlider(panel->resF);
|
||||||
|
WMResizeWidget(panel->resS, 200, 15);
|
||||||
|
WMMoveWidget(panel->resS, 10, 20);
|
||||||
|
WMSetSliderMinValue(panel->resS, 0);
|
||||||
|
WMSetSliderMaxValue(panel->resS, 200);
|
||||||
|
WMSetSliderAction(panel->resS, resistanceCallback, panel);
|
||||||
|
|
||||||
|
panel->resL = WMCreateLabel(panel->resF);
|
||||||
|
WMResizeWidget(panel->resL, 40, 15);
|
||||||
|
WMMoveWidget(panel->resL, 220, 20);
|
||||||
|
|
||||||
|
WMMapSubwidgets(panel->resF);
|
||||||
|
|
||||||
|
/**************** Transients on Parent Workspace ****************/
|
||||||
|
|
||||||
panel->tranF = WMCreateFrame(panel->frame);
|
panel->tranF = WMCreateFrame(panel->frame);
|
||||||
WMResizeWidget(panel->tranF, 270, 40);
|
WMResizeWidget(panel->tranF, 270, 40);
|
||||||
WMMoveWidget(panel->tranF, 20, 175);
|
WMMoveWidget(panel->tranF, 20, 180);
|
||||||
|
|
||||||
panel->tranB = WMCreateSwitchButton(panel->tranF);
|
panel->tranB = WMCreateSwitchButton(panel->tranF);
|
||||||
WMMoveWidget(panel->tranB, 10, 5);
|
WMMoveWidget(panel->tranB, 10, 5);
|
||||||
WMResizeWidget(panel->tranB, 250, 30);
|
WMResizeWidget(panel->tranB, 250, 30);
|
||||||
WMSetButtonText(panel->tranB, _("Open transients in same workspace as their owners"));
|
WMSetButtonText(panel->tranB, _("Open dialogs in same workspace as their owners"));
|
||||||
|
|
||||||
WMMapSubwidgets(panel->tranF);
|
WMMapSubwidgets(panel->tranF);
|
||||||
|
|
||||||
|
|||||||
668
WPrefs.app/editmenu.c
Normal file
668
WPrefs.app/editmenu.c
Normal file
@@ -0,0 +1,668 @@
|
|||||||
|
/* editmenu.c - editable menus
|
||||||
|
*
|
||||||
|
* WPrefs - Window Maker Preferences Program
|
||||||
|
*
|
||||||
|
* Copyright (c) 1999 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 <WINGsP.h>
|
||||||
|
#include <WUtil.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <assert.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
|
||||||
|
#include "editmenu.h"
|
||||||
|
|
||||||
|
typedef struct W_EditMenuItem {
|
||||||
|
W_Class widgetClass;
|
||||||
|
WMView *view;
|
||||||
|
|
||||||
|
struct W_EditMenu *menu;
|
||||||
|
|
||||||
|
char *label;
|
||||||
|
|
||||||
|
WMTextField *textField;
|
||||||
|
|
||||||
|
struct W_EditMenu *submenu; /* if it's a cascade, NULL otherwise */
|
||||||
|
} EditMenuItem;
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct W_EditMenu {
|
||||||
|
W_Class widgetClass;
|
||||||
|
WMView *view;
|
||||||
|
|
||||||
|
struct W_EditMenu *parent;
|
||||||
|
|
||||||
|
char *label;
|
||||||
|
|
||||||
|
int itemCount;
|
||||||
|
int itemsAlloced;
|
||||||
|
struct W_EditMenuItem **items;
|
||||||
|
|
||||||
|
int titleHeight;
|
||||||
|
int itemHeight;
|
||||||
|
|
||||||
|
struct W_EditMenu *next;
|
||||||
|
struct W_EditMenu *prev;
|
||||||
|
|
||||||
|
/* item dragging */
|
||||||
|
int draggedItem;
|
||||||
|
int dragX, dragY;
|
||||||
|
} EditMenu;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/******************** WEditMenuItem ********************/
|
||||||
|
|
||||||
|
static void destroyEditMenuItem(WEditMenuItem *iPtr);
|
||||||
|
static void paintEditMenuItem(WEditMenuItem *iPtr);
|
||||||
|
|
||||||
|
static void handleItemEvents(XEvent *event, void *data);
|
||||||
|
static void handleItemActionEvents(XEvent *event, void *data);
|
||||||
|
|
||||||
|
|
||||||
|
static W_ViewProcedureTable WEditMenuItemViewProcedures = {
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
static W_Class EditMenuItemClass = 0;
|
||||||
|
|
||||||
|
|
||||||
|
W_Class
|
||||||
|
InitEditMenuItem(WMScreen *scr)
|
||||||
|
{
|
||||||
|
/* register our widget with WINGs and get our widget class ID */
|
||||||
|
if (!EditMenuItemClass) {
|
||||||
|
EditMenuItemClass = W_RegisterUserWidget(&WEditMenuItemViewProcedures);
|
||||||
|
}
|
||||||
|
|
||||||
|
return EditMenuItemClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
WEditMenuItem*
|
||||||
|
WCreateEditMenuItem(WMWidget *parent, char *title)
|
||||||
|
{
|
||||||
|
WEditMenuItem *iPtr;
|
||||||
|
|
||||||
|
if (!EditMenuItemClass)
|
||||||
|
InitEditMenuItem(WMWidgetScreen(parent));
|
||||||
|
|
||||||
|
|
||||||
|
iPtr = wmalloc(sizeof(WEditMenuItem));
|
||||||
|
|
||||||
|
memset(iPtr, 0, sizeof(WEditMenuItem));
|
||||||
|
|
||||||
|
iPtr->widgetClass = EditMenuItemClass;
|
||||||
|
|
||||||
|
iPtr->view = W_CreateView(W_VIEW(parent));
|
||||||
|
if (!iPtr->view) {
|
||||||
|
free(iPtr);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
iPtr->view->self = iPtr;
|
||||||
|
|
||||||
|
iPtr->label = wstrdup(title);
|
||||||
|
|
||||||
|
WMCreateEventHandler(iPtr->view, ExposureMask|StructureNotifyMask,
|
||||||
|
handleItemEvents, iPtr);
|
||||||
|
|
||||||
|
WMCreateEventHandler(iPtr->view, ButtonPressMask, handleItemActionEvents,
|
||||||
|
iPtr);
|
||||||
|
|
||||||
|
return iPtr;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
paintEditMenuItem(WEditMenuItem *iPtr)
|
||||||
|
{
|
||||||
|
WMScreen *scr = WMWidgetScreen(iPtr);
|
||||||
|
WMColor *black = scr->black;
|
||||||
|
Window win = W_VIEW(iPtr)->window;
|
||||||
|
int w = W_VIEW(iPtr)->size.width;
|
||||||
|
int h = WMFontHeight(scr->normalFont) + 6;
|
||||||
|
|
||||||
|
if (!iPtr->view->flags.realized)
|
||||||
|
return;
|
||||||
|
|
||||||
|
XClearWindow(scr->display, win);
|
||||||
|
|
||||||
|
W_DrawRelief(scr, win, 0, 0, w+1, h, WRRaised);
|
||||||
|
|
||||||
|
WMDrawString(scr, win, W_GC(black), scr->normalFont, 5, 3, iPtr->label,
|
||||||
|
strlen(iPtr->label));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
handleItemEvents(XEvent *event, void *data)
|
||||||
|
{
|
||||||
|
WEditMenuItem *iPtr = (WEditMenuItem*)data;
|
||||||
|
|
||||||
|
|
||||||
|
switch (event->type) {
|
||||||
|
case Expose:
|
||||||
|
if (event->xexpose.count!=0)
|
||||||
|
break;
|
||||||
|
paintEditMenuItem(iPtr);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case DestroyNotify:
|
||||||
|
destroyEditMenuItem(iPtr);
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
handleItemActionEvents(XEvent *event, void *data)
|
||||||
|
{
|
||||||
|
WEditMenuItem *iPtr = (WEditMenuItem*)data;
|
||||||
|
|
||||||
|
switch (event->type) {
|
||||||
|
case ButtonPress:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
destroyEditMenuItem(WEditMenuItem *iPtr)
|
||||||
|
{
|
||||||
|
if (iPtr->label)
|
||||||
|
free(iPtr->label);
|
||||||
|
|
||||||
|
free(iPtr);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/******************** WEditMenu *******************/
|
||||||
|
|
||||||
|
|
||||||
|
static WEditMenu *EditMenuList = NULL;
|
||||||
|
|
||||||
|
static void destroyEditMenu(WEditMenu *mPtr);
|
||||||
|
static void paintEditMenu(WEditMenu *mPtr, int y);
|
||||||
|
|
||||||
|
static void updateMenuContents(WEditMenu *mPtr);
|
||||||
|
|
||||||
|
static void handleEvents(XEvent *event, void *data);
|
||||||
|
static void handleActionEvents(XEvent *event, void *data);
|
||||||
|
|
||||||
|
static void handleItemDrag(XEvent *event, void *data);
|
||||||
|
|
||||||
|
|
||||||
|
static W_ViewProcedureTable WEditMenuViewProcedures = {
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
static W_Class EditMenuClass = 0;
|
||||||
|
|
||||||
|
|
||||||
|
W_Class
|
||||||
|
InitEditMenu(WMScreen *scr)
|
||||||
|
{
|
||||||
|
/* register our widget with WINGs and get our widget class ID */
|
||||||
|
if (!EditMenuClass) {
|
||||||
|
|
||||||
|
EditMenuClass = W_RegisterUserWidget(&WEditMenuViewProcedures);
|
||||||
|
}
|
||||||
|
|
||||||
|
return EditMenuClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int flags;
|
||||||
|
int window_style;
|
||||||
|
int window_level;
|
||||||
|
int reserved;
|
||||||
|
Pixmap miniaturize_pixmap; /* pixmap for miniaturize button */
|
||||||
|
Pixmap close_pixmap; /* pixmap for close button */
|
||||||
|
Pixmap miniaturize_mask; /* miniaturize pixmap mask */
|
||||||
|
Pixmap close_mask; /* close pixmap mask */
|
||||||
|
int extra_flags;
|
||||||
|
} GNUstepWMAttributes;
|
||||||
|
|
||||||
|
|
||||||
|
#define GSWindowStyleAttr (1<<0)
|
||||||
|
#define GSWindowLevelAttr (1<<1)
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
writeGNUstepWMAttr(WMScreen *scr, Window window, GNUstepWMAttributes *attr)
|
||||||
|
{
|
||||||
|
unsigned long data[9];
|
||||||
|
|
||||||
|
/* handle idiot compilers where array of CARD32 != struct of CARD32 */
|
||||||
|
data[0] = attr->flags;
|
||||||
|
data[1] = attr->window_style;
|
||||||
|
data[2] = attr->window_level;
|
||||||
|
data[3] = 0; /* reserved */
|
||||||
|
/* The X protocol says XIDs are 32bit */
|
||||||
|
data[4] = attr->miniaturize_pixmap;
|
||||||
|
data[5] = attr->close_pixmap;
|
||||||
|
data[6] = attr->miniaturize_mask;
|
||||||
|
data[7] = attr->close_mask;
|
||||||
|
data[8] = attr->extra_flags;
|
||||||
|
XChangeProperty(scr->display, window, scr->attribsAtom, scr->attribsAtom,
|
||||||
|
32, PropModeReplace, (unsigned char *)data, 9);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
realizeObserver(void *self, WMNotification *not)
|
||||||
|
{
|
||||||
|
WEditMenu *menu = (WEditMenu*)self;
|
||||||
|
GNUstepWMAttributes attribs;
|
||||||
|
|
||||||
|
memset(&attribs, 0, sizeof(GNUstepWMAttributes));
|
||||||
|
attribs.flags = GSWindowStyleAttr|GSWindowLevelAttr;
|
||||||
|
attribs.window_style = WMBorderlessWindowMask;
|
||||||
|
attribs.window_level = WMSubmenuWindowLevel;
|
||||||
|
|
||||||
|
writeGNUstepWMAttr(WMWidgetScreen(menu), menu->view->window, &attribs);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
WEditMenu*
|
||||||
|
WCreateEditMenu(WMScreen *scr, char *title)
|
||||||
|
{
|
||||||
|
WEditMenu *mPtr;
|
||||||
|
|
||||||
|
if (!EditMenuClass)
|
||||||
|
InitEditMenu(scr);
|
||||||
|
|
||||||
|
|
||||||
|
mPtr = wmalloc(sizeof(WEditMenu));
|
||||||
|
|
||||||
|
memset(mPtr, 0, sizeof(WEditMenu));
|
||||||
|
|
||||||
|
mPtr->widgetClass = EditMenuClass;
|
||||||
|
|
||||||
|
mPtr->view = W_CreateTopView(scr);
|
||||||
|
if (!mPtr->view) {
|
||||||
|
free(mPtr);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
mPtr->view->self = mPtr;
|
||||||
|
|
||||||
|
WMAddNotificationObserver(realizeObserver, mPtr,
|
||||||
|
WMViewRealizedNotification, mPtr->view);
|
||||||
|
|
||||||
|
W_SetViewBackgroundColor(mPtr->view, mPtr->view->screen->darkGray);
|
||||||
|
|
||||||
|
mPtr->label = wstrdup(title);
|
||||||
|
|
||||||
|
mPtr->itemsAlloced = 10;
|
||||||
|
mPtr->items = wmalloc(sizeof(WEditMenuItem*)*mPtr->itemsAlloced);
|
||||||
|
|
||||||
|
WMCreateEventHandler(mPtr->view, ExposureMask|StructureNotifyMask,
|
||||||
|
handleEvents, mPtr);
|
||||||
|
|
||||||
|
WMCreateEventHandler(mPtr->view, ButtonPressMask,handleActionEvents, mPtr);
|
||||||
|
|
||||||
|
updateMenuContents(mPtr);
|
||||||
|
|
||||||
|
|
||||||
|
mPtr->itemHeight = WMFontHeight(scr->normalFont) + 6;
|
||||||
|
mPtr->titleHeight = WMFontHeight(scr->boldFont) + 8;
|
||||||
|
|
||||||
|
mPtr->draggedItem = -1;
|
||||||
|
|
||||||
|
mPtr->next = EditMenuList;
|
||||||
|
if (EditMenuList)
|
||||||
|
EditMenuList->prev = mPtr;
|
||||||
|
EditMenuList = mPtr;
|
||||||
|
|
||||||
|
return mPtr;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
WEditMenuItem*
|
||||||
|
WInsertMenuItemWithTitle(WEditMenu *mPtr, char *title, int index)
|
||||||
|
{
|
||||||
|
WEditMenuItem *item;
|
||||||
|
|
||||||
|
item = WCreateEditMenuItem(mPtr, title);
|
||||||
|
item->menu = mPtr;
|
||||||
|
|
||||||
|
WMCreateEventHandler(item->view, ButtonPressMask|ButtonReleaseMask
|
||||||
|
|Button1MotionMask, handleItemDrag, item);
|
||||||
|
|
||||||
|
WMMapWidget(item);
|
||||||
|
|
||||||
|
if (index < 0)
|
||||||
|
index = 0;
|
||||||
|
else if (index > mPtr->itemCount)
|
||||||
|
index = mPtr->itemCount;
|
||||||
|
|
||||||
|
if (mPtr->itemCount == mPtr->itemsAlloced) {
|
||||||
|
WEditMenuItem *newList;
|
||||||
|
|
||||||
|
newList = wmalloc(sizeof(WEditMenuItem*)*(mPtr->itemsAlloced+10));
|
||||||
|
memset(newList, 0, sizeof(WEditMenuItem*)*(mPtr->itemsAlloced+10));
|
||||||
|
|
||||||
|
memcpy(newList, mPtr->items, mPtr->itemsAlloced*sizeof(WEditMenuItem*));
|
||||||
|
|
||||||
|
mPtr->itemsAlloced += 10;
|
||||||
|
|
||||||
|
free(mPtr->items);
|
||||||
|
|
||||||
|
mPtr->items = newList;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (index < mPtr->itemCount) {
|
||||||
|
memmove(&mPtr->items[index+1], &mPtr->items[index],
|
||||||
|
sizeof(WEditMenuItem*));
|
||||||
|
mPtr->items[index] = item;
|
||||||
|
mPtr->itemCount++;
|
||||||
|
} else {
|
||||||
|
mPtr->items[mPtr->itemCount++] = item;
|
||||||
|
}
|
||||||
|
|
||||||
|
updateMenuContents(mPtr);
|
||||||
|
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
WSetMenuSubmenu(WEditMenu *mPtr, WEditMenu *submenu, WEditMenuItem *item)
|
||||||
|
{
|
||||||
|
item->submenu = submenu;
|
||||||
|
submenu->parent = mPtr;
|
||||||
|
|
||||||
|
paintEditMenuItem(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
WRemoveMenuItem(WEditMenu *mPtr, WEditMenuItem *item)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
updateMenuContents(WEditMenu *mPtr)
|
||||||
|
{
|
||||||
|
WMScreen *scr = WMWidgetScreen(mPtr);
|
||||||
|
int i;
|
||||||
|
int newW, newH;
|
||||||
|
int w;
|
||||||
|
int iheight = mPtr->itemHeight;
|
||||||
|
|
||||||
|
newW = WMWidthOfString(scr->boldFont, mPtr->label,
|
||||||
|
strlen(mPtr->label)) + 12 + iheight;
|
||||||
|
|
||||||
|
newH = mPtr->titleHeight;
|
||||||
|
|
||||||
|
for (i = 0; i < mPtr->itemCount; i++) {
|
||||||
|
w = WMWidthOfString(scr->normalFont, mPtr->items[i]->label,
|
||||||
|
strlen(mPtr->items[i]->label)) + 5;
|
||||||
|
if (w > newW)
|
||||||
|
newW = w;
|
||||||
|
|
||||||
|
W_MoveView(mPtr->items[i]->view, 0, newH);
|
||||||
|
newH += iheight;
|
||||||
|
}
|
||||||
|
|
||||||
|
newH--;
|
||||||
|
|
||||||
|
W_ResizeView(mPtr->view, newW, newH);
|
||||||
|
|
||||||
|
for (i = 0; i < mPtr->itemCount; i++) {
|
||||||
|
W_ResizeView(mPtr->items[i]->view, newW, iheight);
|
||||||
|
}
|
||||||
|
|
||||||
|
paintEditMenu(mPtr, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
paintMenuTitle(WEditMenu *mPtr)
|
||||||
|
{
|
||||||
|
WMScreen *scr = WMWidgetScreen(mPtr);
|
||||||
|
WMColor *black = scr->black;
|
||||||
|
WMColor *white = scr->white;
|
||||||
|
Window win = W_VIEW(mPtr)->window;
|
||||||
|
int w = W_VIEW(mPtr)->size.width;
|
||||||
|
int h = mPtr->titleHeight;
|
||||||
|
|
||||||
|
XFillRectangle(scr->display, win, W_GC(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,
|
||||||
|
strlen(mPtr->label));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
paintEditMenu(WEditMenu *mPtr, int y)
|
||||||
|
{
|
||||||
|
if (!mPtr->view->flags.realized)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (y < mPtr->titleHeight || y < 0)
|
||||||
|
paintMenuTitle(mPtr);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
handleEvents(XEvent *event, void *data)
|
||||||
|
{
|
||||||
|
WEditMenu *mPtr = (WEditMenu*)data;
|
||||||
|
|
||||||
|
|
||||||
|
switch (event->type) {
|
||||||
|
case Expose:
|
||||||
|
paintEditMenu(mPtr, event->xexpose.y);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case DestroyNotify:
|
||||||
|
destroyEditMenu(mPtr);
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
handleActionEvents(XEvent *event, void *data)
|
||||||
|
{
|
||||||
|
WEditMenu *mPtr = (WEditMenu*)data;
|
||||||
|
|
||||||
|
switch (event->type) {
|
||||||
|
case ButtonPress:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
editItemLabel(WEditMenuItem *iPtr)
|
||||||
|
{
|
||||||
|
WMTextField *tPtr;
|
||||||
|
|
||||||
|
tPtr = WMCreateTextField(iPtr);
|
||||||
|
WMResizeWidget(tPtr, iPtr->view->size.width - 20,
|
||||||
|
iPtr->view->size.height - 3);
|
||||||
|
WMMoveWidget(tPtr, 4, 1);
|
||||||
|
WMSetTextFieldBeveled(tPtr, False);
|
||||||
|
WMMapWidget(tPtr);
|
||||||
|
|
||||||
|
WMRealizeWidget(tPtr);
|
||||||
|
|
||||||
|
iPtr->textField = tPtr;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
handleItemDrag(XEvent *event, void *data)
|
||||||
|
{
|
||||||
|
WEditMenuItem *iPtr = (WEditMenuItem*)data;
|
||||||
|
WEditMenu *mPtr = iPtr->menu;
|
||||||
|
WMScreen *scr = WMWidgetScreen(mPtr);
|
||||||
|
Bool done = False;
|
||||||
|
int y;
|
||||||
|
int i;
|
||||||
|
int newIdx, oldIdx;
|
||||||
|
int newY;
|
||||||
|
|
||||||
|
switch (event->type) {
|
||||||
|
case ButtonPress:
|
||||||
|
if (WMIsDoubleClick(event)) {
|
||||||
|
|
||||||
|
editItemLabel(iPtr);
|
||||||
|
|
||||||
|
} else if (event->xbutton.button == Button1) {
|
||||||
|
mPtr->draggedItem = 1;
|
||||||
|
mPtr->dragX = event->xbutton.x;
|
||||||
|
mPtr->dragY = event->xbutton.y;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
case ButtonRelease:
|
||||||
|
if (event->xbutton.button == Button1) {
|
||||||
|
mPtr->draggedItem = -1;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
case MotionNotify:
|
||||||
|
if (mPtr->draggedItem >= 0) {
|
||||||
|
if (abs(event->xmotion.y - mPtr->dragY) > 3
|
||||||
|
|| abs(event->xmotion.x - mPtr->dragX) > 3) {
|
||||||
|
mPtr->draggedItem = -1;
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
XRaiseWindow(scr->display, iPtr->view->window);
|
||||||
|
|
||||||
|
XGrabPointer(scr->display, mPtr->view->window, False,
|
||||||
|
PointerMotionMask|ButtonReleaseMask|ButtonPressMask
|
||||||
|
|ButtonPressMask,
|
||||||
|
GrabModeAsync, GrabModeAsync, None, None, CurrentTime);
|
||||||
|
|
||||||
|
y = iPtr->view->pos.y;
|
||||||
|
|
||||||
|
while (!done) {
|
||||||
|
XEvent ev;
|
||||||
|
|
||||||
|
WMMaskEvent(scr->display, ButtonReleaseMask|PointerMotionMask
|
||||||
|
|ExposureMask, &ev);
|
||||||
|
|
||||||
|
switch (ev.type) {
|
||||||
|
case ButtonRelease:
|
||||||
|
if (ev.xbutton.button == Button1)
|
||||||
|
done = True;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MotionNotify:
|
||||||
|
y = ev.xbutton.y - mPtr->dragY;
|
||||||
|
|
||||||
|
if (y < mPtr->titleHeight)
|
||||||
|
y = mPtr->titleHeight;
|
||||||
|
else if (y > mPtr->view->size.height - mPtr->itemHeight + 1)
|
||||||
|
y = mPtr->view->size.height - mPtr->itemHeight + 1;
|
||||||
|
|
||||||
|
W_MoveView(iPtr->view, 0, y);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
WMHandleEvent(&ev);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
XUngrabPointer(scr->display, CurrentTime);
|
||||||
|
|
||||||
|
for (oldIdx = 0; oldIdx < mPtr->itemCount; oldIdx++) {
|
||||||
|
if (mPtr->items[oldIdx] == iPtr) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
assert(oldIdx < mPtr->itemCount);
|
||||||
|
|
||||||
|
newIdx = (y - mPtr->titleHeight + mPtr->itemHeight/2) / mPtr->itemHeight;
|
||||||
|
|
||||||
|
if (newIdx < 0)
|
||||||
|
newIdx = 0;
|
||||||
|
else if (newIdx >= mPtr->itemCount)
|
||||||
|
newIdx = mPtr->itemCount - 1;
|
||||||
|
|
||||||
|
newY = mPtr->titleHeight + newIdx * mPtr->itemHeight;
|
||||||
|
for (i = 0; i <= 15; i++) {
|
||||||
|
W_MoveView(iPtr->view, 0, ((newY*i)/15 + (y - (y*i)/15)));
|
||||||
|
XFlush(scr->display);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (oldIdx != newIdx) {
|
||||||
|
WEditMenuItem *item;
|
||||||
|
|
||||||
|
item = mPtr->items[oldIdx];
|
||||||
|
mPtr->items[oldIdx] = mPtr->items[newIdx];
|
||||||
|
mPtr->items[newIdx] = item;
|
||||||
|
|
||||||
|
updateMenuContents(mPtr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
destroyEditMenu(WEditMenu *mPtr)
|
||||||
|
{
|
||||||
|
WMRemoveNotificationObserver(mPtr);
|
||||||
|
|
||||||
|
if (mPtr->next)
|
||||||
|
mPtr->next->prev = mPtr->prev;
|
||||||
|
if (mPtr->prev)
|
||||||
|
mPtr->prev->next = mPtr->next;
|
||||||
|
if (EditMenuList == mPtr)
|
||||||
|
EditMenuList = mPtr->next;
|
||||||
|
|
||||||
|
if (mPtr->label)
|
||||||
|
free(mPtr->label);
|
||||||
|
|
||||||
|
if (mPtr->items)
|
||||||
|
free(mPtr->items);
|
||||||
|
|
||||||
|
free(mPtr);
|
||||||
|
}
|
||||||
40
WPrefs.app/editmenu.h
Normal file
40
WPrefs.app/editmenu.h
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
/* editmenu.h - editable menus
|
||||||
|
*
|
||||||
|
* WPrefs - Window Maker Preferences Program
|
||||||
|
*
|
||||||
|
* Copyright (c) 1999 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct W_EditMenu WEditMenu;
|
||||||
|
|
||||||
|
typedef struct W_EditMenuItem WEditMenuItem;
|
||||||
|
|
||||||
|
|
||||||
|
WEditMenuItem *WCreateEditMenuItem(WMWidget *parent, char *title);
|
||||||
|
|
||||||
|
|
||||||
|
WEditMenu *WCreateEditMenu(WMScreen *scr, char *title);
|
||||||
|
|
||||||
|
WEditMenuItem *WInsertMenuItemWithTitle(WEditMenu *mPtr, char *title,
|
||||||
|
int index);
|
||||||
|
|
||||||
|
void WSetMenuSubmenu(WEditMenu *mPtr, WEditMenu *submenu, WEditMenuItem *item);
|
||||||
|
|
||||||
|
void WRemoveMenuItem(WEditMenu *mPtr, WEditMenuItem *item);
|
||||||
@@ -149,7 +149,7 @@ main(int argc, char **argv)
|
|||||||
if (getenv("NLSPATH"))
|
if (getenv("NLSPATH"))
|
||||||
bindtextdomain("WPrefs", getenv("NLSPATH"));
|
bindtextdomain("WPrefs", getenv("NLSPATH"));
|
||||||
else
|
else
|
||||||
bindtextdomain("WPrefs", NLSDIR);
|
bindtextdomain("WPrefs", LOCALEDIR);
|
||||||
textdomain("WPrefs");
|
textdomain("WPrefs");
|
||||||
|
|
||||||
if (!XSupportsLocale()) {
|
if (!XSupportsLocale()) {
|
||||||
@@ -165,7 +165,7 @@ main(int argc, char **argv)
|
|||||||
wfatal(_("could not open display %s"), XDisplayName(display_name));
|
wfatal(_("could not open display %s"), XDisplayName(display_name));
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
#if 0
|
#if 1
|
||||||
XSynchronize(dpy, 1);
|
XSynchronize(dpy, 1);
|
||||||
#endif
|
#endif
|
||||||
scr = WMCreateScreen(dpy, DefaultScreen(dpy));
|
scr = WMCreateScreen(dpy, DefaultScreen(dpy));
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
nlsdir = @NLSDIR@
|
|
||||||
|
|
||||||
CATALOGS = @WPMOFILES@
|
CATALOGS = @WPMOFILES@
|
||||||
|
|
||||||
|
nlsdir = $(DESTDIR)$(NLSDIR)
|
||||||
|
|
||||||
CLEANFILES = $(CATALOGS)
|
CLEANFILES = $(CATALOGS)
|
||||||
|
|
||||||
EXTRA_DIST = pt.po hr.po fr.po ko.po cs.po ja.po
|
EXTRA_DIST = pt.po hr.po fr.po ko.po cs.po ja.po zh_TW.Big5.po
|
||||||
|
|
||||||
POTFILES = \
|
POTFILES = \
|
||||||
$(top_builddir)/WPrefs.app/Configurations.c \
|
$(top_builddir)/WPrefs.app/Configurations.c \
|
||||||
@@ -45,15 +45,15 @@ WPrefs.pot: $(POTFILES)
|
|||||||
|
|
||||||
|
|
||||||
install-data-local: $(CATALOGS)
|
install-data-local: $(CATALOGS)
|
||||||
$(mkinstalldirs) $(DESTDIR)$(nlsdir)
|
$(mkinstalldirs) $(nlsdir)
|
||||||
chmod 755 $(DESTDIR)$(nlsdir)
|
chmod 755 $(nlsdir)
|
||||||
for n in $(CATALOGS) __DuMmY ; do \
|
for n in $(CATALOGS) __DuMmY ; do \
|
||||||
if test "$$n" -a "$$n" != "__DuMmY" ; then \
|
if test "$$n" -a "$$n" != "__DuMmY" ; then \
|
||||||
l=`basename $$n .mo`; \
|
l=`basename $$n .mo`; \
|
||||||
$(mkinstalldirs) $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES; \
|
$(mkinstalldirs) $(nlsdir)/$$l/LC_MESSAGES; \
|
||||||
chmod 755 $(DESTDIR)$(nlsdir)/$$l; \
|
chmod 755 $(nlsdir)/$$l; \
|
||||||
chmod 755 $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES; \
|
chmod 755 $(nlsdir)/$$l/LC_MESSAGES; \
|
||||||
$(INSTALL) -m 644 $$n $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES/WPrefs.mo; \
|
$(INSTALL_DATA) -m 644 $$n $(nlsdir)/$$l/LC_MESSAGES/WPrefs.mo; \
|
||||||
fi; \
|
fi; \
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
@@ -62,13 +62,13 @@ host_triplet = @host@
|
|||||||
CC = @CC@
|
CC = @CC@
|
||||||
CPP_PATH = @CPP_PATH@
|
CPP_PATH = @CPP_PATH@
|
||||||
DFLAGS = @DFLAGS@
|
DFLAGS = @DFLAGS@
|
||||||
GFXFLAGS = @GFXFLAGS@
|
|
||||||
GFXLFLAGS = @GFXLFLAGS@
|
|
||||||
GFXLIBS = @GFXLIBS@
|
GFXLIBS = @GFXLIBS@
|
||||||
|
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
|
||||||
ICONEXT = @ICONEXT@
|
ICONEXT = @ICONEXT@
|
||||||
INTLIBS = @INTLIBS@
|
INTLIBS = @INTLIBS@
|
||||||
LD = @LD@
|
LD = @LD@
|
||||||
LIBPL = @LIBPL@
|
LIBPL = @LIBPL@
|
||||||
|
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LITE = @LITE@
|
LITE = @LITE@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
@@ -87,13 +87,13 @@ XLIBS = @XLIBS@
|
|||||||
X_EXTRA_LIBS = @X_EXTRA_LIBS@
|
X_EXTRA_LIBS = @X_EXTRA_LIBS@
|
||||||
wprefsdir = @wprefsdir@
|
wprefsdir = @wprefsdir@
|
||||||
|
|
||||||
nlsdir = @NLSDIR@
|
|
||||||
|
|
||||||
CATALOGS = @WPMOFILES@
|
CATALOGS = @WPMOFILES@
|
||||||
|
|
||||||
|
nlsdir = $(DESTDIR)$(NLSDIR)
|
||||||
|
|
||||||
CLEANFILES = $(CATALOGS)
|
CLEANFILES = $(CATALOGS)
|
||||||
|
|
||||||
EXTRA_DIST = pt.po hr.po fr.po ko.po cs.po ja.po
|
EXTRA_DIST = pt.po hr.po fr.po ko.po cs.po ja.po zh_TW.Big5.po
|
||||||
|
|
||||||
POTFILES = $(top_builddir)/WPrefs.app/Configurations.c $(top_builddir)/WPrefs.app/Expert.c $(top_builddir)/WPrefs.app/Focus.c $(top_builddir)/WPrefs.app/Icons.c $(top_builddir)/WPrefs.app/KeyboardSettings.c $(top_builddir)/WPrefs.app/KeyboardShortcuts.c $(top_builddir)/WPrefs.app/Menu.c $(top_builddir)/WPrefs.app/MenuGuru.c $(top_builddir)/WPrefs.app/MenuPreferences.c $(top_builddir)/WPrefs.app/MouseSettings.c $(top_builddir)/WPrefs.app/Paths.c $(top_builddir)/WPrefs.app/Preferences.c $(top_builddir)/WPrefs.app/Text.c $(top_builddir)/WPrefs.app/TextureAndColor.c $(top_builddir)/WPrefs.app/Themes.c $(top_builddir)/WPrefs.app/WPrefs.c $(top_builddir)/WPrefs.app/WindowHandling.c $(top_builddir)/WPrefs.app/Workspace.c $(top_builddir)/WPrefs.app/main.c $(top_builddir)/WPrefs.app/xmodifier.c
|
POTFILES = $(top_builddir)/WPrefs.app/Configurations.c $(top_builddir)/WPrefs.app/Expert.c $(top_builddir)/WPrefs.app/Focus.c $(top_builddir)/WPrefs.app/Icons.c $(top_builddir)/WPrefs.app/KeyboardSettings.c $(top_builddir)/WPrefs.app/KeyboardShortcuts.c $(top_builddir)/WPrefs.app/Menu.c $(top_builddir)/WPrefs.app/MenuGuru.c $(top_builddir)/WPrefs.app/MenuPreferences.c $(top_builddir)/WPrefs.app/MouseSettings.c $(top_builddir)/WPrefs.app/Paths.c $(top_builddir)/WPrefs.app/Preferences.c $(top_builddir)/WPrefs.app/Text.c $(top_builddir)/WPrefs.app/TextureAndColor.c $(top_builddir)/WPrefs.app/Themes.c $(top_builddir)/WPrefs.app/WPrefs.c $(top_builddir)/WPrefs.app/WindowHandling.c $(top_builddir)/WPrefs.app/Workspace.c $(top_builddir)/WPrefs.app/main.c $(top_builddir)/WPrefs.app/xmodifier.c
|
||||||
|
|
||||||
@@ -219,15 +219,15 @@ WPrefs.pot: $(POTFILES)
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
install-data-local: $(CATALOGS)
|
install-data-local: $(CATALOGS)
|
||||||
$(mkinstalldirs) $(DESTDIR)$(nlsdir)
|
$(mkinstalldirs) $(nlsdir)
|
||||||
chmod 755 $(DESTDIR)$(nlsdir)
|
chmod 755 $(nlsdir)
|
||||||
for n in $(CATALOGS) __DuMmY ; do \
|
for n in $(CATALOGS) __DuMmY ; do \
|
||||||
if test "$$n" -a "$$n" != "__DuMmY" ; then \
|
if test "$$n" -a "$$n" != "__DuMmY" ; then \
|
||||||
l=`basename $$n .mo`; \
|
l=`basename $$n .mo`; \
|
||||||
$(mkinstalldirs) $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES; \
|
$(mkinstalldirs) $(nlsdir)/$$l/LC_MESSAGES; \
|
||||||
chmod 755 $(DESTDIR)$(nlsdir)/$$l; \
|
chmod 755 $(nlsdir)/$$l; \
|
||||||
chmod 755 $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES; \
|
chmod 755 $(nlsdir)/$$l/LC_MESSAGES; \
|
||||||
$(INSTALL) -m 644 $$n $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES/WPrefs.mo; \
|
$(INSTALL_DATA) -m 644 $$n $(nlsdir)/$$l/LC_MESSAGES/WPrefs.mo; \
|
||||||
fi; \
|
fi; \
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
@@ -10,3 +10,4 @@ fr.po French Bastien NOCERA <hadess@writeme.com>
|
|||||||
ko.po Korean Byeong-Chan, Kim <redhands@linux.sarang.net>
|
ko.po Korean Byeong-Chan, Kim <redhands@linux.sarang.net>
|
||||||
cs.po Czech David <20>auer <xsauer@hwlab.felk.cvut.cz>
|
cs.po Czech David <20>auer <xsauer@hwlab.felk.cvut.cz>
|
||||||
ja.po Japanese Kazuhide Takahashi <kazu@dgra.ne.jp>
|
ja.po Japanese Kazuhide Takahashi <kazu@dgra.ne.jp>
|
||||||
|
zh_TW.Big5.po Chinese Li Wei Jih <lwj83@cs.ccu.edu.tw>
|
||||||
|
|||||||
@@ -5,8 +5,8 @@
|
|||||||
# <20>t pro 3 20:38:36 CET 1998 David Sauer
|
# <20>t pro 3 20:38:36 CET 1998 David Sauer
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WPrefs 0.9 (WindowMaker 0.50.x)\n"
|
"Project-Id-Version: WPrefs 0.10 (WindowMaker 0.51.0)\n"
|
||||||
"POT-Creation-Date: 1999-01-11 07:20+0100\n"
|
"POT-Creation-Date: 1999-01-29 06:48+0100\n"
|
||||||
"PO-Revision-Date: 1999-01-11 07:37+01:00\n"
|
"PO-Revision-Date: 1999-01-11 07:37+01:00\n"
|
||||||
"Last-Translator: David Sauer <xsauer@fel.cvut.cz>\n"
|
"Last-Translator: David Sauer <xsauer@fel.cvut.cz>\n"
|
||||||
"Language-Team: czech <cs@li.org>\n"
|
"Language-Team: czech <cs@li.org>\n"
|
||||||
@@ -15,7 +15,7 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: unknown\n"
|
"Content-Transfer-Encoding: unknown\n"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Configurations.c:142 ../../WPrefs.app/Configurations.c:148
|
#: ../../WPrefs.app/Configurations.c:142 ../../WPrefs.app/Configurations.c:148
|
||||||
#: ../../WPrefs.app/MouseSettings.c:510 ../../WPrefs.app/WindowHandling.c:274
|
#: ../../WPrefs.app/MouseSettings.c:526 ../../WPrefs.app/WindowHandling.c:274
|
||||||
#: ../../WPrefs.app/WindowHandling.c:286 ../../WPrefs.app/Workspace.c:71
|
#: ../../WPrefs.app/WindowHandling.c:286 ../../WPrefs.app/Workspace.c:71
|
||||||
#: ../../WPrefs.app/Workspace.c:77
|
#: ../../WPrefs.app/Workspace.c:77
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -45,10 +45,10 @@ msgstr "Rychlost zm
|
|||||||
#: ../../WPrefs.app/MenuPreferences.c:135
|
#: ../../WPrefs.app/MenuPreferences.c:135
|
||||||
#: ../../WPrefs.app/MenuPreferences.c:146
|
#: ../../WPrefs.app/MenuPreferences.c:146
|
||||||
#: ../../WPrefs.app/MenuPreferences.c:174
|
#: ../../WPrefs.app/MenuPreferences.c:174
|
||||||
#: ../../WPrefs.app/MenuPreferences.c:189 ../../WPrefs.app/MouseSettings.c:538
|
#: ../../WPrefs.app/MenuPreferences.c:189 ../../WPrefs.app/MouseSettings.c:554
|
||||||
#: ../../WPrefs.app/MouseSettings.c:549 ../../WPrefs.app/MouseSettings.c:604
|
#: ../../WPrefs.app/MouseSettings.c:565 ../../WPrefs.app/MouseSettings.c:627
|
||||||
#: ../../WPrefs.app/MouseSettings.c:615 ../../WPrefs.app/MouseSettings.c:651
|
#: ../../WPrefs.app/MouseSettings.c:638 ../../WPrefs.app/MouseSettings.c:674
|
||||||
#: ../../WPrefs.app/MouseSettings.c:666 ../../WPrefs.app/MouseSettings.c:682
|
#: ../../WPrefs.app/MouseSettings.c:689 ../../WPrefs.app/MouseSettings.c:705
|
||||||
#: ../../WPrefs.app/WPrefs.c:403 ../../WPrefs.app/WPrefs.c:421
|
#: ../../WPrefs.app/WPrefs.c:403 ../../WPrefs.app/WPrefs.c:421
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "could not load icon file %s"
|
msgid "could not load icon file %s"
|
||||||
@@ -84,7 +84,7 @@ msgstr "Ditherovat na 8bpp"
|
|||||||
|
|
||||||
#: ../../WPrefs.app/Configurations.c:369
|
#: ../../WPrefs.app/Configurations.c:369
|
||||||
msgid "Disable dithering in any visual/depth"
|
msgid "Disable dithering in any visual/depth"
|
||||||
msgstr "Zaka<EFBFBD> jak<61>koli ditherov<6F>n<EFBFBD>"
|
msgstr "Zak<61>zat jak<61>koli ditherov<6F>n<EFBFBD>"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Configurations.c:390
|
#: ../../WPrefs.app/Configurations.c:390
|
||||||
msgid "More colors for applications"
|
msgid "More colors for applications"
|
||||||
@@ -112,7 +112,7 @@ msgstr "Pou
|
|||||||
|
|
||||||
#: ../../WPrefs.app/Expert.c:73
|
#: ../../WPrefs.app/Expert.c:73
|
||||||
msgid "Disable cycling color highlighting of icons."
|
msgid "Disable cycling color highlighting of icons."
|
||||||
msgstr "Zaka<EFBFBD> rotaci barev p<EFBFBD>i zv<7A>razn<7A>n<EFBFBD> ikon"
|
msgstr "Zak<61>zat rotaci barev pro zv<7A>razn<7A>n<EFBFBD> ikon"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Expert.c:103
|
#: ../../WPrefs.app/Expert.c:103
|
||||||
msgid "Expert User Preferences"
|
msgid "Expert User Preferences"
|
||||||
@@ -132,9 +132,7 @@ msgstr "chybn
|
|||||||
msgid ""
|
msgid ""
|
||||||
"Click on the window to set\n"
|
"Click on the window to set\n"
|
||||||
"keyboard input focus."
|
"keyboard input focus."
|
||||||
msgstr ""
|
msgstr "<EFBFBD>uk my<6D><79> zam<61><6D><EFBFBD> okno."
|
||||||
"Click on the window to set\n"
|
|
||||||
"keyboard input focus."
|
|
||||||
|
|
||||||
#: ../../WPrefs.app/Focus.c:194
|
#: ../../WPrefs.app/Focus.c:194
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -142,7 +140,7 @@ msgid ""
|
|||||||
"the window under the mouse pointer,\n"
|
"the window under the mouse pointer,\n"
|
||||||
"including the root window."
|
"including the root window."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Nastav zam<61><6D>en<65> vstupu\n"
|
"Nastav<EFBFBD> zam<61><6D>en<65> vstupu\n"
|
||||||
"na okno pod ukazatelem my<6D>i.\n"
|
"na okno pod ukazatelem my<6D>i.\n"
|
||||||
"(v<>etn<74> hlavn<76>ho okna)"
|
"(v<>etn<74> hlavn<76>ho okna)"
|
||||||
|
|
||||||
@@ -152,7 +150,7 @@ msgid ""
|
|||||||
"the window under the mouse pointer,\n"
|
"the window under the mouse pointer,\n"
|
||||||
"except the root window."
|
"except the root window."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Nastav zam<61><6D>en<65> vstupu\n"
|
"Nastav<EFBFBD> zam<61><6D>en<65> vstupu\n"
|
||||||
"na okno pod ukazatelem my<6D>i.\n"
|
"na okno pod ukazatelem my<6D>i.\n"
|
||||||
"(mimo hlavn<76>ho okna)"
|
"(mimo hlavn<76>ho okna)"
|
||||||
|
|
||||||
@@ -222,7 +220,7 @@ msgstr "V
|
|||||||
|
|
||||||
#: ../../WPrefs.app/Icons.c:238
|
#: ../../WPrefs.app/Icons.c:238
|
||||||
msgid "3D-flipping"
|
msgid "3D-flipping"
|
||||||
msgstr "3D-salta"
|
msgstr "3D salta"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Icons.c:239
|
#: ../../WPrefs.app/Icons.c:239
|
||||||
msgid "None"
|
msgid "None"
|
||||||
@@ -230,7 +228,7 @@ msgstr "
|
|||||||
|
|
||||||
#: ../../WPrefs.app/Icons.c:247
|
#: ../../WPrefs.app/Icons.c:247
|
||||||
msgid "Icon Display"
|
msgid "Icon Display"
|
||||||
msgstr "Zobrazen<65> Ikony"
|
msgstr "Zobrazen<65> ikon"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Icons.c:252
|
#: ../../WPrefs.app/Icons.c:252
|
||||||
msgid "Auto-arrange icons"
|
msgid "Auto-arrange icons"
|
||||||
@@ -258,14 +256,14 @@ msgstr "Rychlost opakov
|
|||||||
|
|
||||||
#: ../../WPrefs.app/KeyboardSettings.c:153
|
#: ../../WPrefs.app/KeyboardSettings.c:153
|
||||||
msgid "Type here to test"
|
msgid "Type here to test"
|
||||||
msgstr "Zkuste kl<EFBFBD>vesnici zde"
|
msgstr "Zkuste zde"
|
||||||
|
|
||||||
#: ../../WPrefs.app/KeyboardSettings.c:172
|
#: ../../WPrefs.app/KeyboardSettings.c:172
|
||||||
msgid "Keyboard Preferences"
|
msgid "Keyboard Preferences"
|
||||||
msgstr "Nastaven<65> kl<6B>vesnice"
|
msgstr "Nastaven<65> kl<6B>vesnice"
|
||||||
|
|
||||||
#: ../../WPrefs.app/KeyboardShortcuts.c:183 ../../WPrefs.app/Menu.c:932
|
#: ../../WPrefs.app/KeyboardShortcuts.c:183 ../../WPrefs.app/Menu.c:934
|
||||||
#: ../../WPrefs.app/Menu.c:1299 ../../WPrefs.app/MenuGuru.c:263
|
#: ../../WPrefs.app/MenuGuru.c:263
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Nic"
|
msgstr "Nic"
|
||||||
|
|
||||||
@@ -274,8 +272,8 @@ msgid "Press the desired shortcut key(s) or click Cancel to stop capturing."
|
|||||||
msgstr "Stiskn<6B>te po<70>adovan<61> kl<6B>vesy nebo pou<6F>ijete \"Nic\"."
|
msgstr "Stiskn<6B>te po<70>adovan<61> kl<6B>vesy nebo pou<6F>ijete \"Nic\"."
|
||||||
|
|
||||||
#: ../../WPrefs.app/KeyboardShortcuts.c:204
|
#: ../../WPrefs.app/KeyboardShortcuts.c:204
|
||||||
#: ../../WPrefs.app/KeyboardShortcuts.c:444 ../../WPrefs.app/Menu.c:944
|
#: ../../WPrefs.app/KeyboardShortcuts.c:444 ../../WPrefs.app/Menu.c:946
|
||||||
#: ../../WPrefs.app/Menu.c:1166
|
#: ../../WPrefs.app/Menu.c:1168
|
||||||
msgid "Capture"
|
msgid "Capture"
|
||||||
msgstr "Sn<53>mat"
|
msgstr "Sn<53>mat"
|
||||||
|
|
||||||
@@ -342,7 +340,7 @@ msgstr "P
|
|||||||
|
|
||||||
#: ../../WPrefs.app/KeyboardShortcuts.c:388
|
#: ../../WPrefs.app/KeyboardShortcuts.c:388
|
||||||
msgid "Select active window"
|
msgid "Select active window"
|
||||||
msgstr "Vyber okno"
|
msgstr "Vybrat okno"
|
||||||
|
|
||||||
#: ../../WPrefs.app/KeyboardShortcuts.c:389
|
#: ../../WPrefs.app/KeyboardShortcuts.c:389
|
||||||
msgid "Focus next window"
|
msgid "Focus next window"
|
||||||
@@ -370,43 +368,43 @@ msgstr "P
|
|||||||
|
|
||||||
#: ../../WPrefs.app/KeyboardShortcuts.c:395
|
#: ../../WPrefs.app/KeyboardShortcuts.c:395
|
||||||
msgid "Switch to workspace 1"
|
msgid "Switch to workspace 1"
|
||||||
msgstr "P<>epni na plochu 1"
|
msgstr "P<>epnout na plochu 1"
|
||||||
|
|
||||||
#: ../../WPrefs.app/KeyboardShortcuts.c:396
|
#: ../../WPrefs.app/KeyboardShortcuts.c:396
|
||||||
msgid "Switch to workspace 2"
|
msgid "Switch to workspace 2"
|
||||||
msgstr "P<>epni na plochu 2"
|
msgstr "P<>epnout na plochu 2"
|
||||||
|
|
||||||
#: ../../WPrefs.app/KeyboardShortcuts.c:397
|
#: ../../WPrefs.app/KeyboardShortcuts.c:397
|
||||||
msgid "Switch to workspace 3"
|
msgid "Switch to workspace 3"
|
||||||
msgstr "P<>epni na plochu 3"
|
msgstr "P<>epnout na plochu 3"
|
||||||
|
|
||||||
#: ../../WPrefs.app/KeyboardShortcuts.c:398
|
#: ../../WPrefs.app/KeyboardShortcuts.c:398
|
||||||
msgid "Switch to workspace 4"
|
msgid "Switch to workspace 4"
|
||||||
msgstr "P<>epni na plochu 4"
|
msgstr "P<>epnout na plochu 4"
|
||||||
|
|
||||||
#: ../../WPrefs.app/KeyboardShortcuts.c:399
|
#: ../../WPrefs.app/KeyboardShortcuts.c:399
|
||||||
msgid "Switch to workspace 5"
|
msgid "Switch to workspace 5"
|
||||||
msgstr "P<>epni na plochu 5"
|
msgstr "P<>epnout na plochu 5"
|
||||||
|
|
||||||
#: ../../WPrefs.app/KeyboardShortcuts.c:400
|
#: ../../WPrefs.app/KeyboardShortcuts.c:400
|
||||||
msgid "Switch to workspace 6"
|
msgid "Switch to workspace 6"
|
||||||
msgstr "P<>epni na plochu 6"
|
msgstr "P<>epnout na plochu 6"
|
||||||
|
|
||||||
#: ../../WPrefs.app/KeyboardShortcuts.c:401
|
#: ../../WPrefs.app/KeyboardShortcuts.c:401
|
||||||
msgid "Switch to workspace 7"
|
msgid "Switch to workspace 7"
|
||||||
msgstr "P<>epni na plochu 7"
|
msgstr "P<>epnout na plochu 7"
|
||||||
|
|
||||||
#: ../../WPrefs.app/KeyboardShortcuts.c:402
|
#: ../../WPrefs.app/KeyboardShortcuts.c:402
|
||||||
msgid "Switch to workspace 8"
|
msgid "Switch to workspace 8"
|
||||||
msgstr "P<>epni na plochu 8"
|
msgstr "P<>epnout na plochu 8"
|
||||||
|
|
||||||
#: ../../WPrefs.app/KeyboardShortcuts.c:403
|
#: ../../WPrefs.app/KeyboardShortcuts.c:403
|
||||||
msgid "Switch to workspace 9"
|
msgid "Switch to workspace 9"
|
||||||
msgstr "P<>epni na plochu 9"
|
msgstr "P<>epnout na plochu 9"
|
||||||
|
|
||||||
#: ../../WPrefs.app/KeyboardShortcuts.c:404
|
#: ../../WPrefs.app/KeyboardShortcuts.c:404
|
||||||
msgid "Switch to workspace 10"
|
msgid "Switch to workspace 10"
|
||||||
msgstr "P<>epni na plochu 10"
|
msgstr "P<>epnout na plochu 10"
|
||||||
|
|
||||||
#: ../../WPrefs.app/KeyboardShortcuts.c:405
|
#: ../../WPrefs.app/KeyboardShortcuts.c:405
|
||||||
msgid "Shortcut for window 1"
|
msgid "Shortcut for window 1"
|
||||||
@@ -438,15 +436,15 @@ msgstr "Sponku v
|
|||||||
|
|
||||||
#: ../../WPrefs.app/KeyboardShortcuts.c:413
|
#: ../../WPrefs.app/KeyboardShortcuts.c:413
|
||||||
msgid "Toggle keyboard language"
|
msgid "Toggle keyboard language"
|
||||||
msgstr "Nastavit jazyk pro kl<6B>vesnici"
|
msgstr "Zm<EFBFBD>nit kl<6B>vesnici"
|
||||||
|
|
||||||
#: ../../WPrefs.app/KeyboardShortcuts.c:427 ../../WPrefs.app/Menu.c:1155
|
#: ../../WPrefs.app/KeyboardShortcuts.c:427 ../../WPrefs.app/Menu.c:1157
|
||||||
msgid "Shortcut"
|
msgid "Shortcut"
|
||||||
msgstr "Zkratka"
|
msgstr "Zkratka"
|
||||||
|
|
||||||
#: ../../WPrefs.app/KeyboardShortcuts.c:438
|
#: ../../WPrefs.app/KeyboardShortcuts.c:438
|
||||||
msgid "Clear"
|
msgid "Clear"
|
||||||
msgstr "Vyma<EFBFBD>"
|
msgstr "Vymazat"
|
||||||
|
|
||||||
#: ../../WPrefs.app/KeyboardShortcuts.c:499
|
#: ../../WPrefs.app/KeyboardShortcuts.c:499
|
||||||
msgid "Keyboard Shortcut Preferences"
|
msgid "Keyboard Shortcut Preferences"
|
||||||
@@ -460,7 +458,7 @@ msgstr "Mana
|
|||||||
msgid "Program to open files"
|
msgid "Program to open files"
|
||||||
msgstr "Program na otv<74>r<EFBFBD>n<EFBFBD> soubor<6F>"
|
msgstr "Program na otv<74>r<EFBFBD>n<EFBFBD> soubor<6F>"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:377 ../../WPrefs.app/Menu.c:1142
|
#: ../../WPrefs.app/Menu.c:377 ../../WPrefs.app/Menu.c:1144
|
||||||
msgid "Program to Run"
|
msgid "Program to Run"
|
||||||
msgstr "Spustit program"
|
msgstr "Spustit program"
|
||||||
|
|
||||||
@@ -481,150 +479,175 @@ msgstr "Extern
|
|||||||
msgid "Workspaces"
|
msgid "Workspaces"
|
||||||
msgstr "Pracovn<76> plochy"
|
msgstr "Pracovn<76> plochy"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1026 ../../WPrefs.app/Menu.c:1041
|
#: ../../WPrefs.app/Menu.c:1028 ../../WPrefs.app/Menu.c:1043
|
||||||
msgid "Commands"
|
msgid "Commands"
|
||||||
msgstr "P<><50>kazy"
|
msgstr "P<><50>kazy"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1027 ../../WPrefs.app/Menu.c:1042
|
#: ../../WPrefs.app/Menu.c:1029 ../../WPrefs.app/Menu.c:1044
|
||||||
msgid "Add Command"
|
msgid "Add Command"
|
||||||
msgstr "P<>idat p<><70>kaz"
|
msgstr "P<>idat p<><70>kaz"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1028 ../../WPrefs.app/Menu.c:1043
|
#: ../../WPrefs.app/Menu.c:1030 ../../WPrefs.app/Menu.c:1045
|
||||||
msgid "Add Submenu"
|
msgid "Add Submenu"
|
||||||
msgstr "P<>idat podmenu"
|
msgstr "P<>idat podmenu"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1029 ../../WPrefs.app/Menu.c:1044
|
#: ../../WPrefs.app/Menu.c:1031 ../../WPrefs.app/Menu.c:1046
|
||||||
msgid "Add External Menu"
|
msgid "Add External Menu"
|
||||||
msgstr "P<>idat extern<72> menu"
|
msgstr "P<>idat extern<72> menu"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1030 ../../WPrefs.app/Menu.c:1045
|
#: ../../WPrefs.app/Menu.c:1032 ../../WPrefs.app/Menu.c:1047
|
||||||
msgid "Add Workspace Menu"
|
msgid "Add Workspace Menu"
|
||||||
msgstr "P<>idat menu ploch"
|
msgstr "P<>idat menu ploch"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1031 ../../WPrefs.app/Menu.c:1046
|
|
||||||
msgid "Remove Item"
|
|
||||||
msgstr "Odstra<72> polo<6C>ku"
|
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1032 ../../WPrefs.app/Menu.c:1047
|
|
||||||
msgid "Cut Item"
|
|
||||||
msgstr "Vy<56><79>zni polo<6C>ku"
|
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1033 ../../WPrefs.app/Menu.c:1048
|
#: ../../WPrefs.app/Menu.c:1033 ../../WPrefs.app/Menu.c:1048
|
||||||
msgid "Copy Item"
|
msgid "Remove Item"
|
||||||
msgstr "Zkop<EFBFBD>ruj polo<6C>ku"
|
msgstr "Odstranit polo<6C>ku"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1034 ../../WPrefs.app/Menu.c:1049
|
#: ../../WPrefs.app/Menu.c:1034 ../../WPrefs.app/Menu.c:1049
|
||||||
msgid "Paste Item"
|
msgid "Cut Item"
|
||||||
msgstr "Vlo<EFBFBD> polo<6C>ku"
|
msgstr "Vy<EFBFBD><EFBFBD>znout polo<6C>ku"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1078
|
#: ../../WPrefs.app/Menu.c:1035 ../../WPrefs.app/Menu.c:1050
|
||||||
|
msgid "Copy Item"
|
||||||
|
msgstr "Zkop<6F>rovat polo<6C>ku"
|
||||||
|
|
||||||
|
#: ../../WPrefs.app/Menu.c:1036 ../../WPrefs.app/Menu.c:1051
|
||||||
|
msgid "Paste Item"
|
||||||
|
msgstr "Vlo<6C>it polo<6C>ku"
|
||||||
|
|
||||||
|
#: ../../WPrefs.app/Menu.c:1080
|
||||||
msgid "Label"
|
msgid "Label"
|
||||||
msgstr "Ozna<6E>en<65>"
|
msgstr "Ozna<6E>en<65>"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1091
|
#: ../../WPrefs.app/Menu.c:1093
|
||||||
msgid "Command"
|
msgid "Command"
|
||||||
msgstr "P<><50>kaz"
|
msgstr "P<><50>kaz"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1096
|
|
||||||
msgid "Run Program"
|
|
||||||
msgstr "Spus<75> program"
|
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1097
|
|
||||||
msgid "Arrange Icons"
|
|
||||||
msgstr "Srovnej ikony"
|
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1098
|
#: ../../WPrefs.app/Menu.c:1098
|
||||||
msgid "Hide Others"
|
msgid "Run Program"
|
||||||
msgstr "Skryj ostatn<74>"
|
msgstr "Spustit program"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1099
|
#: ../../WPrefs.app/Menu.c:1099
|
||||||
msgid "Show All Windows"
|
msgid "Arrange Icons"
|
||||||
msgstr "Uka<EFBFBD> v<>echna okna"
|
msgstr "Srovnat ikony"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1100
|
#: ../../WPrefs.app/Menu.c:1100
|
||||||
|
msgid "Hide Others"
|
||||||
|
msgstr "Skr<6B>t ostatn<74>"
|
||||||
|
|
||||||
|
#: ../../WPrefs.app/Menu.c:1101
|
||||||
|
msgid "Show All Windows"
|
||||||
|
msgstr "Uk<55>zat v<>echna okna"
|
||||||
|
|
||||||
|
#: ../../WPrefs.app/Menu.c:1102
|
||||||
msgid "Exit WindowMaker"
|
msgid "Exit WindowMaker"
|
||||||
msgstr "Ukon<6F>it mana<6E>era oken"
|
msgstr "Ukon<6F>it mana<6E>era oken"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1101
|
#: ../../WPrefs.app/Menu.c:1103
|
||||||
msgid "Exit X Session"
|
msgid "Exit X Session"
|
||||||
msgstr "Ukon<6F>it sezen<65> X"
|
msgstr "Ukon<6F>it sezen<65> X"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1102
|
|
||||||
msgid "Start window manager"
|
|
||||||
msgstr "Odstartovat mana<6E>er oken"
|
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1103
|
|
||||||
msgid "Restart WindowMaker"
|
|
||||||
msgstr "RestartWindowMakeru"
|
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1104
|
#: ../../WPrefs.app/Menu.c:1104
|
||||||
|
msgid "Start window manager"
|
||||||
|
msgstr "Odstartovat jin<69> mana<6E>er"
|
||||||
|
|
||||||
|
#: ../../WPrefs.app/Menu.c:1105
|
||||||
|
msgid "Restart WindowMaker"
|
||||||
|
msgstr "Restart WindowMakeru"
|
||||||
|
|
||||||
|
#: ../../WPrefs.app/Menu.c:1106
|
||||||
msgid "Save Session"
|
msgid "Save Session"
|
||||||
msgstr "Ulo<6C>it stav sezen<65>"
|
msgstr "Ulo<6C>it stav sezen<65>"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1105
|
#: ../../WPrefs.app/Menu.c:1107
|
||||||
msgid "Clear Session"
|
msgid "Clear Session"
|
||||||
msgstr "Vymazat sezen<65>"
|
msgstr "Vymazat sezen<65>"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1106
|
#: ../../WPrefs.app/Menu.c:1108
|
||||||
msgid "Refresh Screen"
|
msgid "Refresh Screen"
|
||||||
msgstr "Obnovit obrazovku"
|
msgstr "Obnovit obrazovku"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1107
|
#: ../../WPrefs.app/Menu.c:1109
|
||||||
msgid "Info Panel"
|
msgid "Info Panel"
|
||||||
msgstr "Informace"
|
msgstr "Informace"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1108
|
#: ../../WPrefs.app/Menu.c:1110
|
||||||
msgid "Legal Panel"
|
msgid "Legal Panel"
|
||||||
msgstr "Copyright"
|
msgstr "Copyright"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1116
|
#: ../../WPrefs.app/Menu.c:1118
|
||||||
msgid "Open workspace menu"
|
msgid "Open workspace menu"
|
||||||
msgstr "Otev<65><76>t menu ploch"
|
msgstr "Otev<65><76>t menu ploch"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1123
|
#: ../../WPrefs.app/Menu.c:1125
|
||||||
msgid "No confirmation panel"
|
msgid "No confirmation panel"
|
||||||
msgstr "Bez ukon<6F>ovac<61>ho dialogu"
|
msgstr "Bez ukon<6F>ovac<61>ho dialogu"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1129
|
#: ../../WPrefs.app/Menu.c:1131
|
||||||
msgid "Menu Path/Directory List"
|
msgid "Menu Path/Directory List"
|
||||||
msgstr "Cesta k menu/adres<65><73>"
|
msgstr "Cesta k menu/adres<65><73>"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1174
|
#: ../../WPrefs.app/Menu.c:1176
|
||||||
msgid "Ask help to the Guru"
|
msgid "Ask help to the Guru"
|
||||||
msgstr "Zeptat se Mistra"
|
msgstr "Zeptat se Mistra"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1294
|
#. if there is a localized plmenu for the tongue put it's filename here
|
||||||
msgid ""
|
#: ../../WPrefs.app/Menu.c:1287 ../../WPrefs.app/Menu.c:1294
|
||||||
"The format of the current menu in ~/G/D/WMRootMenu is not supported by "
|
#, c-format
|
||||||
"WPrefs. A new menu will be created.\n"
|
msgid "%s/Library/WindowMaker/plmenu"
|
||||||
"You can also replace ~/G/D/WMRootMenu with ~/G/L/W/plmenu to get the default "
|
msgstr "%s/Library/WindowMaker/plmenu"
|
||||||
"menu."
|
|
||||||
msgstr ""
|
|
||||||
"Aktu<74>ln<6C> form<72>t menu v ~/G/D/WMRootMenu nen<65> podporov<6F>n programem WPrefs. "
|
|
||||||
"Bude vytvo<76>eno nov<6F> menu.\n"
|
|
||||||
"Standardn<64> menu z<>sk<73>te p<><70>kazem \"cp ~/G/L/W/plmenu ~/G/D/WMRootMenu\"."
|
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1299 ../../WPrefs.app/Menu.c:1304
|
#: ../../WPrefs.app/Menu.c:1302 ../../WPrefs.app/MouseSettings.c:146
|
||||||
|
#: ../../WPrefs.app/MouseSettings.c:169 ../../WPrefs.app/Text.c:181
|
||||||
|
#: ../../WPrefs.app/Themes.c:96 ../../WPrefs.app/WPrefs.c:558
|
||||||
|
#: ../../WPrefs.app/WPrefs.c:563 ../../WPrefs.app/WPrefs.c:572
|
||||||
|
#: ../../WPrefs.app/WPrefs.c:582 ../../WPrefs.app/WPrefs.c:590
|
||||||
|
#: ../../WPrefs.app/WPrefs.c:614 ../../WPrefs.app/WPrefs.c:619
|
||||||
|
msgid "Error"
|
||||||
|
msgstr "Chyba"
|
||||||
|
|
||||||
|
#: ../../WPrefs.app/Menu.c:1302
|
||||||
|
msgid "Could not copy default plmenu file from ~/GNUstep/Library/WindowMaker"
|
||||||
|
msgstr "Standardn<64> menu nelze ze souboru plmenu z adres<65><73>e ~/GNUstep/Library/WindowMaker nainstalovat"
|
||||||
|
|
||||||
|
#: ../../WPrefs.app/Menu.c:1304 ../../WPrefs.app/Menu.c:1354
|
||||||
|
#: ../../WPrefs.app/MenuGuru.c:119 ../../WPrefs.app/MenuGuru.c:126
|
||||||
|
#: ../../WPrefs.app/MenuGuru.c:140 ../../WPrefs.app/MouseSettings.c:148
|
||||||
|
#: ../../WPrefs.app/MouseSettings.c:171 ../../WPrefs.app/Text.c:181
|
||||||
|
#: ../../WPrefs.app/Themes.c:98 ../../WPrefs.app/WPrefs.c:558
|
||||||
|
#: ../../WPrefs.app/WPrefs.c:563 ../../WPrefs.app/WPrefs.c:574
|
||||||
|
#: ../../WPrefs.app/WPrefs.c:584 ../../WPrefs.app/WPrefs.c:590
|
||||||
|
#: ../../WPrefs.app/WPrefs.c:597 ../../WPrefs.app/WPrefs.c:614
|
||||||
|
#: ../../WPrefs.app/WPrefs.c:619
|
||||||
|
msgid "OK"
|
||||||
|
msgstr "OK"
|
||||||
|
|
||||||
|
#: ../../WPrefs.app/Menu.c:1339
|
||||||
|
msgid ""
|
||||||
|
"The format of the menu in ~/G/D/WMRootMenu is not recognized by WPrefs. It "
|
||||||
|
"might be in a format different than the one supported by WPrefs or contain a "
|
||||||
|
"syntax error. Do you want to continue using the current menu to edit it by "
|
||||||
|
"hand later or replace it with a default menu in the new format?"
|
||||||
|
msgstr "Form<72>t menu v souboru ~/G/D/WMRootMenu nebyl rozposn<73>n. M<><4D>e b<>t rozd<7A>ln<6C> od podporovan<61>ch form<72>t<EFBFBD>, nebo m<><6D>e obsahovat syntaktickou chybu. Chcete pokra<72>ovat s pou<6F>it<69>m sou<6F>asn<73>ho menu a opravit ho pozd<7A>ji, nebo m<> b<>t nainstalov<6F>no menu v nov<6F>m form<72>tu ?"
|
||||||
|
|
||||||
|
#: ../../WPrefs.app/Menu.c:1346 ../../WPrefs.app/Menu.c:1353
|
||||||
#: ../../WPrefs.app/WPrefs.c:597
|
#: ../../WPrefs.app/WPrefs.c:597
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Varov<6F>n<EFBFBD>"
|
msgstr "Varov<6F>n<EFBFBD>"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1299 ../../WPrefs.app/Menu.c:1305
|
#: ../../WPrefs.app/Menu.c:1346
|
||||||
#: ../../WPrefs.app/MenuGuru.c:119 ../../WPrefs.app/MenuGuru.c:126
|
msgid "Keep current menu"
|
||||||
#: ../../WPrefs.app/MenuGuru.c:140 ../../WPrefs.app/MouseSettings.c:156
|
msgstr "Ponechat aktu<74>ln<6C> menu"
|
||||||
#: ../../WPrefs.app/Text.c:181 ../../WPrefs.app/Themes.c:98
|
|
||||||
#: ../../WPrefs.app/WPrefs.c:558 ../../WPrefs.app/WPrefs.c:563
|
|
||||||
#: ../../WPrefs.app/WPrefs.c:574 ../../WPrefs.app/WPrefs.c:584
|
|
||||||
#: ../../WPrefs.app/WPrefs.c:590 ../../WPrefs.app/WPrefs.c:597
|
|
||||||
#: ../../WPrefs.app/WPrefs.c:614 ../../WPrefs.app/WPrefs.c:619
|
|
||||||
msgid "OK"
|
|
||||||
msgstr "OK"
|
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1304
|
#: ../../WPrefs.app/Menu.c:1347
|
||||||
|
msgid "Install default menu"
|
||||||
|
msgstr "Instalovat standardn<64> menu"
|
||||||
|
|
||||||
|
#: ../../WPrefs.app/Menu.c:1353
|
||||||
msgid "Any changes made in this section will not be saved"
|
msgid "Any changes made in this section will not be saved"
|
||||||
msgstr "Jak<61>koli zm<7A>ny v t<>to sekci budou zru<72>eny"
|
msgstr "Jak<61>koli zm<7A>ny v t<>to sekci budou zru<72>eny"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Menu.c:1369
|
#: ../../WPrefs.app/Menu.c:1419
|
||||||
msgid "Applications Menu Definition"
|
msgid "Applications Menu Definition"
|
||||||
msgstr "Definice menu aplikac<61>"
|
msgstr "Definice menu aplikac<61>"
|
||||||
|
|
||||||
@@ -754,7 +777,7 @@ msgstr "Rychlost posunu menu"
|
|||||||
|
|
||||||
#: ../../WPrefs.app/MenuPreferences.c:161
|
#: ../../WPrefs.app/MenuPreferences.c:161
|
||||||
msgid "Submenu Alignment"
|
msgid "Submenu Alignment"
|
||||||
msgstr "Zarovn<76>n<EFBFBD> submenu"
|
msgstr "Zarovn<76>n<EFBFBD> podmenu"
|
||||||
|
|
||||||
#: ../../WPrefs.app/MenuPreferences.c:204
|
#: ../../WPrefs.app/MenuPreferences.c:204
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -772,20 +795,11 @@ msgstr "Posouvat menu p
|
|||||||
msgid "Menu Preferences"
|
msgid "Menu Preferences"
|
||||||
msgstr "Nastaven<65> menu"
|
msgstr "Nastaven<65> menu"
|
||||||
|
|
||||||
#: ../../WPrefs.app/MouseSettings.c:148
|
#: ../../WPrefs.app/MouseSettings.c:147
|
||||||
#, c-format
|
msgid "Invalid mouse acceleration value. Must be a positive real value."
|
||||||
msgid "Accel.: %.2f"
|
msgstr "Chybn<62> hodnota pro zrychlen<65> my<6D>i. M<> b<>t kladn<64> re<72>ln<6C> <20><>slo."
|
||||||
msgstr "Zrychl.: %.2f"
|
|
||||||
|
|
||||||
#: ../../WPrefs.app/MouseSettings.c:154 ../../WPrefs.app/Text.c:181
|
#: ../../WPrefs.app/MouseSettings.c:170
|
||||||
#: ../../WPrefs.app/Themes.c:96 ../../WPrefs.app/WPrefs.c:558
|
|
||||||
#: ../../WPrefs.app/WPrefs.c:563 ../../WPrefs.app/WPrefs.c:572
|
|
||||||
#: ../../WPrefs.app/WPrefs.c:582 ../../WPrefs.app/WPrefs.c:590
|
|
||||||
#: ../../WPrefs.app/WPrefs.c:614 ../../WPrefs.app/WPrefs.c:619
|
|
||||||
msgid "Error"
|
|
||||||
msgstr "Chyba"
|
|
||||||
|
|
||||||
#: ../../WPrefs.app/MouseSettings.c:155
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Invalid mouse acceleration threshold value. Must be the number of pixels to "
|
"Invalid mouse acceleration threshold value. Must be the number of pixels to "
|
||||||
"travel before accelerating."
|
"travel before accelerating."
|
||||||
@@ -793,18 +807,18 @@ msgstr ""
|
|||||||
"Chybn<62> hodnota pro pr<70>h zrychlen<65> my<6D>i. Zadejte <20><>slo ozna<6E>uj<75>c<EFBFBD> po<70>et "
|
"Chybn<62> hodnota pro pr<70>h zrychlen<65> my<6D>i. Zadejte <20><>slo ozna<6E>uj<75>c<EFBFBD> po<70>et "
|
||||||
"pixel<65> p<>ed akcelarec<65>."
|
"pixel<65> p<>ed akcelarec<65>."
|
||||||
|
|
||||||
#: ../../WPrefs.app/MouseSettings.c:209
|
#: ../../WPrefs.app/MouseSettings.c:225
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "mouse button %s not supported by WPrefs."
|
msgid "mouse button %s not supported by WPrefs."
|
||||||
msgstr "tla<6C><61>tko my<6D>i %s nen<65> podporov<6F>no."
|
msgstr "tla<6C><61>tko my<6D>i %s nen<65> podporov<6F>no."
|
||||||
|
|
||||||
#: ../../WPrefs.app/MouseSettings.c:243 ../../WPrefs.app/MouseSettings.c:254
|
#: ../../WPrefs.app/MouseSettings.c:259 ../../WPrefs.app/MouseSettings.c:270
|
||||||
#: ../../WPrefs.app/MouseSettings.c:265
|
#: ../../WPrefs.app/MouseSettings.c:281
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "bad value %s for option %s"
|
msgid "bad value %s for option %s"
|
||||||
msgstr "chybn<62> hodnota %s pro volbu %s"
|
msgstr "chybn<62> hodnota %s pro volbu %s"
|
||||||
|
|
||||||
#: ../../WPrefs.app/MouseSettings.c:325
|
#: ../../WPrefs.app/MouseSettings.c:341
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"modifier key %s for option ModifierKey was not recognized. Using %s as "
|
"modifier key %s for option ModifierKey was not recognized. Using %s as "
|
||||||
@@ -812,66 +826,70 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"modifik<69>tor kl<6B>vesy %s pro volbu \"ModifierKey\" nen<65> zn<7A>m. Pou<6F><75>v<EFBFBD>m %s."
|
"modifik<69>tor kl<6B>vesy %s pro volbu \"ModifierKey\" nen<65> zn<7A>m. Pou<6F><75>v<EFBFBD>m %s."
|
||||||
|
|
||||||
#: ../../WPrefs.app/MouseSettings.c:350
|
#: ../../WPrefs.app/MouseSettings.c:366
|
||||||
msgid "could not retrieve keyboard modifier mapping"
|
msgid "could not retrieve keyboard modifier mapping"
|
||||||
msgstr "nelze p<>evz<76>t mapov<6F>n<EFBFBD> modifik<69>tor<6F> kl<6B>ves"
|
msgstr "nelze p<>evz<76>t mapov<6F>n<EFBFBD> modifik<69>tor<6F> kl<6B>ves"
|
||||||
|
|
||||||
#: ../../WPrefs.app/MouseSettings.c:497
|
#: ../../WPrefs.app/MouseSettings.c:513
|
||||||
msgid "Mouse Speed"
|
msgid "Mouse Speed"
|
||||||
msgstr "Rychlost my<6D>i"
|
msgstr "Rychlost my<6D>i"
|
||||||
|
|
||||||
#: ../../WPrefs.app/MouseSettings.c:564
|
#: ../../WPrefs.app/MouseSettings.c:575
|
||||||
|
msgid "Acceler.:"
|
||||||
|
msgstr "Zrychl.:"
|
||||||
|
|
||||||
|
#: ../../WPrefs.app/MouseSettings.c:587
|
||||||
msgid "Threshold:"
|
msgid "Threshold:"
|
||||||
msgstr "Mez:"
|
msgstr "Mez:"
|
||||||
|
|
||||||
#: ../../WPrefs.app/MouseSettings.c:579
|
#: ../../WPrefs.app/MouseSettings.c:602
|
||||||
msgid "Double-Click Delay"
|
msgid "Double-Click Delay"
|
||||||
msgstr "Prodleva pro dvojit<69> <20>uknut<75>"
|
msgstr "Prodleva pro dvojit<69> <20>uknut<75>"
|
||||||
|
|
||||||
#: ../../WPrefs.app/MouseSettings.c:623
|
#: ../../WPrefs.app/MouseSettings.c:646
|
||||||
msgid "Test"
|
msgid "Test"
|
||||||
msgstr "Test"
|
msgstr "Test"
|
||||||
|
|
||||||
#: ../../WPrefs.app/MouseSettings.c:633
|
#: ../../WPrefs.app/MouseSettings.c:656
|
||||||
msgid "Workspace Mouse Actions"
|
msgid "Workspace Mouse Actions"
|
||||||
msgstr "Akce my<6D><79>"
|
msgstr "Akce my<6D><79>"
|
||||||
|
|
||||||
#: ../../WPrefs.app/MouseSettings.c:638
|
#: ../../WPrefs.app/MouseSettings.c:661
|
||||||
msgid "Disable mouse actions"
|
msgid "Disable mouse actions"
|
||||||
msgstr "Zaka<6B> akce my<6D><79>"
|
msgstr "Zaka<6B> akce my<6D><79>"
|
||||||
|
|
||||||
#: ../../WPrefs.app/MouseSettings.c:691
|
#: ../../WPrefs.app/MouseSettings.c:714
|
||||||
msgid "Applications menu"
|
msgid "Applications menu"
|
||||||
msgstr "Menu aplikac<61>"
|
msgstr "Menu aplikac<61>"
|
||||||
|
|
||||||
#: ../../WPrefs.app/MouseSettings.c:697
|
#: ../../WPrefs.app/MouseSettings.c:720
|
||||||
msgid "Window list menu"
|
msgid "Window list menu"
|
||||||
msgstr "Seznam oken"
|
msgstr "Seznam oken"
|
||||||
|
|
||||||
#: ../../WPrefs.app/MouseSettings.c:703
|
#: ../../WPrefs.app/MouseSettings.c:726
|
||||||
msgid "Select windows"
|
msgid "Select windows"
|
||||||
msgstr "Vyber okna"
|
msgstr "Vyberte okna"
|
||||||
|
|
||||||
#: ../../WPrefs.app/MouseSettings.c:738
|
#: ../../WPrefs.app/MouseSettings.c:761
|
||||||
msgid "Mouse Grab Modifier"
|
msgid "Mouse Grab Modifier"
|
||||||
msgstr "Modifik<69>tor pro my<6D>"
|
msgstr "Modifik<69>tor pro my<6D>"
|
||||||
|
|
||||||
#: ../../WPrefs.app/MouseSettings.c:772
|
#: ../../WPrefs.app/MouseSettings.c:795
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "could not create %s"
|
msgid "could not create %s"
|
||||||
msgstr "nelze vytvo<76>it \"%s\""
|
msgstr "nelze vytvo<76>it \"%s\""
|
||||||
|
|
||||||
#: ../../WPrefs.app/MouseSettings.c:788
|
#: ../../WPrefs.app/MouseSettings.c:811
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "could not create temporary file %s"
|
msgid "could not create temporary file %s"
|
||||||
msgstr "nelze vytvo<76>it do<64>asn<73> soubor %s"
|
msgstr "nelze vytvo<76>it do<64>asn<73> soubor %s"
|
||||||
|
|
||||||
#: ../../WPrefs.app/MouseSettings.c:813
|
#: ../../WPrefs.app/MouseSettings.c:836
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "could not rename file %s to %s\n"
|
msgid "could not rename file %s to %s\n"
|
||||||
msgstr "soubor %s nelze p<>ejmenovat na %s\n"
|
msgstr "soubor %s nelze p<>ejmenovat na %s\n"
|
||||||
|
|
||||||
#: ../../WPrefs.app/MouseSettings.c:896
|
#: ../../WPrefs.app/MouseSettings.c:919
|
||||||
msgid "Mouse Preferences"
|
msgid "Mouse Preferences"
|
||||||
msgstr "Nastaven<65> my<6D>i"
|
msgstr "Nastaven<65> my<6D>i"
|
||||||
|
|
||||||
@@ -937,7 +955,7 @@ msgstr "nekompletn
|
|||||||
|
|
||||||
#: ../../WPrefs.app/Preferences.c:190
|
#: ../../WPrefs.app/Preferences.c:190
|
||||||
msgid "miniwindow titles"
|
msgid "miniwindow titles"
|
||||||
msgstr "ikony"
|
msgstr "titulky minioken"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Preferences.c:191
|
#: ../../WPrefs.app/Preferences.c:191
|
||||||
msgid "application/dock icons"
|
msgid "application/dock icons"
|
||||||
@@ -949,7 +967,7 @@ msgstr "P
|
|||||||
|
|
||||||
#: ../../WPrefs.app/Preferences.c:210
|
#: ../../WPrefs.app/Preferences.c:210
|
||||||
msgid "Keep keyboard language status for each window."
|
msgid "Keep keyboard language status for each window."
|
||||||
msgstr "Pro ka<6B>d<EFBFBD> okno pamatovat nastaven<65> jazyka."
|
msgstr "Pro ka<6B>d<EFBFBD> okno pamatovat nastaven<65> kl<EFBFBD>vesnice."
|
||||||
|
|
||||||
#: ../../WPrefs.app/Preferences.c:231
|
#: ../../WPrefs.app/Preferences.c:231
|
||||||
msgid "Miscellaneous Ergonomic Preferences"
|
msgid "Miscellaneous Ergonomic Preferences"
|
||||||
@@ -978,7 +996,7 @@ msgstr "Font polo
|
|||||||
|
|
||||||
#: ../../WPrefs.app/Text.c:265
|
#: ../../WPrefs.app/Text.c:265
|
||||||
msgid "Icon Title Font"
|
msgid "Icon Title Font"
|
||||||
msgstr "Font titulk<EFBFBD> ikon"
|
msgstr "Font titulku ikon"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Text.c:266
|
#: ../../WPrefs.app/Text.c:266
|
||||||
msgid "Clip Title Font"
|
msgid "Clip Title Font"
|
||||||
@@ -1185,11 +1203,11 @@ msgstr "V
|
|||||||
|
|
||||||
#: ../../WPrefs.app/WPrefs.c:237
|
#: ../../WPrefs.app/WPrefs.c:237
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Ulo<6C>"
|
msgstr "Ulo<6C>it"
|
||||||
|
|
||||||
#: ../../WPrefs.app/WPrefs.c:243
|
#: ../../WPrefs.app/WPrefs.c:243
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Uzav<61>i"
|
msgstr "Uzav<61><EFBFBD>t"
|
||||||
|
|
||||||
#: ../../WPrefs.app/WPrefs.c:260
|
#: ../../WPrefs.app/WPrefs.c:260
|
||||||
msgid "Window Maker Preferences Utility"
|
msgid "Window Maker Preferences Utility"
|
||||||
@@ -1222,11 +1240,11 @@ msgstr "nelze naj
|
|||||||
#: ../../WPrefs.app/WPrefs.c:474
|
#: ../../WPrefs.app/WPrefs.c:474
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "could not load image file %s:%s"
|
msgid "could not load image file %s:%s"
|
||||||
msgstr "nelze na<6E><61>st soubor sobr<62>zkem %s:%s"
|
msgstr "nelze na<6E><61>st soubor s obr<EFBFBD>zkem %s:%s"
|
||||||
|
|
||||||
#: ../../WPrefs.app/WPrefs.c:493
|
#: ../../WPrefs.app/WPrefs.c:493
|
||||||
msgid "Loading Window Maker configuration files..."
|
msgid "Loading Window Maker configuration files..."
|
||||||
msgstr "<EFBFBD>tu konfigura<EFBFBD>n<EFBFBD> soubory Window Makeru"
|
msgstr "Konfigura<EFBFBD>n<EFBFBD> soubory Window Makeru se na<6E><61>taj<61>..."
|
||||||
|
|
||||||
#: ../../WPrefs.app/WPrefs.c:497
|
#: ../../WPrefs.app/WPrefs.c:497
|
||||||
msgid "Initializing configuration panels..."
|
msgid "Initializing configuration panels..."
|
||||||
@@ -1237,7 +1255,10 @@ msgid ""
|
|||||||
"WPrefs is free software and is distributed WITHOUT ANY WARRANTY under the "
|
"WPrefs is free software and is distributed WITHOUT ANY WARRANTY under the "
|
||||||
"terms of the GNU General Public License. Redistribution of the icons in this "
|
"terms of the GNU General Public License. Redistribution of the icons in this "
|
||||||
"program separately from the program is prohibited."
|
"program separately from the program is prohibited."
|
||||||
msgstr "Program WPrefs je voln<6C> <20>i<EFBFBD>iteln<6C> software, kter<65> je distribuov<6F>n BEZ JAK<41>KOLI Z<>RUKY pod Obecnou Ve<56>ejnou Licenc<6E> GNU. Redistribuce ikon z tohoto programu bez programu samotn<74>ho je zak<61>z<EFBFBD>na."
|
msgstr ""
|
||||||
|
"Program WPrefs je voln<6C> <20>i<EFBFBD>iteln<6C> software, kter<65> je distribuov<6F>n BEZ "
|
||||||
|
"JAK<41>KOLI Z<>RUKY pod Obecnou Ve<56>ejnou Licenc<6E> GNU. Redistribuce ikon z tohoto "
|
||||||
|
"programu bez programu samotn<74>ho nen<65> povolena."
|
||||||
|
|
||||||
#: ../../WPrefs.app/WPrefs.c:557 ../../WPrefs.app/WPrefs.c:613
|
#: ../../WPrefs.app/WPrefs.c:557 ../../WPrefs.app/WPrefs.c:613
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -1261,7 +1282,9 @@ msgstr "Zajist
|
|||||||
msgid ""
|
msgid ""
|
||||||
"Could not extract version from Window Maker. Make sure it is correctly "
|
"Could not extract version from Window Maker. Make sure it is correctly "
|
||||||
"installed and is in your PATH environment variable."
|
"installed and is in your PATH environment variable."
|
||||||
msgstr "Od Window Makeru nelze z<>skat <20><>slo verze. Zjist<73>te, je-li spr<70>vn<76> instalov<6F>n a je v prohled<65>van<61>ch adres<65><73><EFBFBD>ch."
|
msgstr ""
|
||||||
|
"Od Window Makeru nelze z<>skat <20><>slo verze. Zjist<73>te, je-li spr<70>vn<76> "
|
||||||
|
"instalov<6F>n a je v prohled<65>van<61>ch adres<65><73><EFBFBD>ch."
|
||||||
|
|
||||||
#: ../../WPrefs.app/WPrefs.c:583
|
#: ../../WPrefs.app/WPrefs.c:583
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -1290,8 +1313,8 @@ msgstr ""
|
|||||||
"podporov<6F>n."
|
"podporov<6F>n."
|
||||||
|
|
||||||
#: ../../WPrefs.app/WPrefs.c:602
|
#: ../../WPrefs.app/WPrefs.c:602
|
||||||
msgid "could not run \"wmaker -global_defaults_path\"."
|
msgid "could not run \"wmaker --global_defaults_path\"."
|
||||||
msgstr "nelze prov<6F>st \"wmaker -global_defaults_path\""
|
msgstr "nelze prov<6F>st \"wmaker --global_defaults_path\""
|
||||||
|
|
||||||
#: ../../WPrefs.app/WPrefs.c:617
|
#: ../../WPrefs.app/WPrefs.c:617
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -1357,8 +1380,8 @@ msgid "...do not resize over dock"
|
|||||||
msgstr "... nezv<7A>t<EFBFBD>ovat p<>es dok"
|
msgstr "... nezv<7A>t<EFBFBD>ovat p<>es dok"
|
||||||
|
|
||||||
#: ../../WPrefs.app/WindowHandling.c:320
|
#: ../../WPrefs.app/WindowHandling.c:320
|
||||||
msgid "Keep transients above their owners"
|
msgid "Open transients in same workspace as their owners"
|
||||||
msgstr "Dialogy dr<64>et nad vlastn<74>ky"
|
msgstr "Otev<EFBFBD><EFBFBD>t dialogy na stejn<6A> plo<6C>e, jako je vlastn<74>k"
|
||||||
|
|
||||||
#: ../../WPrefs.app/WindowHandling.c:347
|
#: ../../WPrefs.app/WindowHandling.c:347
|
||||||
msgid "Window Handling Preferences"
|
msgid "Window Handling Preferences"
|
||||||
@@ -1376,11 +1399,11 @@ msgstr "t
|
|||||||
msgid ""
|
msgid ""
|
||||||
"switch to first workspace when switching past the last workspace and "
|
"switch to first workspace when switching past the last workspace and "
|
||||||
"vice-versa"
|
"vice-versa"
|
||||||
msgstr "za posledn<64> plochou p<>epni op<6F>t na prvn<76> a opa<70>n<EFBFBD>"
|
msgstr "za posledn<64> plochou p<>epnout na prvn<76> a opa<70>n<EFBFBD>"
|
||||||
|
|
||||||
#: ../../WPrefs.app/Workspace.c:210
|
#: ../../WPrefs.app/Workspace.c:210
|
||||||
msgid "create a new workspace when switching past the last workspace."
|
msgid "create a new workspace when switching past the last workspace."
|
||||||
msgstr "za posledn<64> plochou vytvo<76> p<>i p<>epnut<75> novou."
|
msgstr "za posledn<64> plochou vytvo<76>it p<>i p<>epnut<75> novou."
|
||||||
|
|
||||||
#: ../../WPrefs.app/Workspace.c:218
|
#: ../../WPrefs.app/Workspace.c:218
|
||||||
msgid "Dock/Clip"
|
msgid "Dock/Clip"
|
||||||
@@ -1388,43 +1411,47 @@ msgstr "Dok/Sponka"
|
|||||||
|
|
||||||
#: ../../WPrefs.app/Workspace.c:287
|
#: ../../WPrefs.app/Workspace.c:287
|
||||||
msgid "Workspace Preferences"
|
msgid "Workspace Preferences"
|
||||||
msgstr "Nastaven<65> pracovn<76> plochy "
|
msgstr "Nastaven<65> pracovn<76> plochy"
|
||||||
|
|
||||||
#: ../../WPrefs.app/main.c:72
|
#: ../../WPrefs.app/main.c:71
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "usage: %s [options]\n"
|
msgid "usage: %s [options]\n"
|
||||||
msgstr "pou<6F>it<69>: %s [volby]\n"
|
msgstr "pou<6F>it<69>: %s [volby]\n"
|
||||||
|
|
||||||
#: ../../WPrefs.app/main.c:73
|
#: ../../WPrefs.app/main.c:72
|
||||||
msgid "options:"
|
msgid "options:"
|
||||||
msgstr "volby:"
|
msgstr "volby:"
|
||||||
|
|
||||||
#: ../../WPrefs.app/main.c:74
|
#: ../../WPrefs.app/main.c:73
|
||||||
msgid " -display <display>\tdisplay to be used"
|
msgid " -display <display>\tdisplay to be used"
|
||||||
msgstr " -display <display>\tkter<65> display pou<6F><75>t"
|
msgstr " -display <display>\tkter<65> display pou<6F><75>t"
|
||||||
|
|
||||||
#: ../../WPrefs.app/main.c:75
|
#: ../../WPrefs.app/main.c:74
|
||||||
msgid " -version\t\tprint version number and exit"
|
msgid " --version\t\tprint version number and exit"
|
||||||
msgstr " -version\t\tzobraz verzi a konec"
|
msgstr " --version\t\tzobraz verzi a konec"
|
||||||
|
|
||||||
#: ../../WPrefs.app/main.c:132
|
#: ../../WPrefs.app/main.c:75
|
||||||
|
msgid " --help\t\tprint this message and exit"
|
||||||
|
msgstr " --help\t\tzobraz n<>pov<6F>du a konec"
|
||||||
|
|
||||||
|
#: ../../WPrefs.app/main.c:134
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too few arguments for %s"
|
msgid "too few arguments for %s"
|
||||||
msgstr "nedostatek argumet<65> pro %s"
|
msgstr "nedostatek argumet<65> pro %s"
|
||||||
|
|
||||||
#: ../../WPrefs.app/main.c:154
|
#: ../../WPrefs.app/main.c:156
|
||||||
msgid "X server does not support locale"
|
msgid "X server does not support locale"
|
||||||
msgstr "X server nepodporuje nastaven<65> m<>stn<74>ch zvyklost<73>"
|
msgstr "X server nepodporuje nastaven<65> m<>stn<74>ch zvyklost<73>"
|
||||||
|
|
||||||
#: ../../WPrefs.app/main.c:157
|
#: ../../WPrefs.app/main.c:159
|
||||||
msgid "cannot set locale modifiers"
|
msgid "cannot set locale modifiers"
|
||||||
msgstr "nelze nastavit modifik<69>tory m<>stn<74>ch zvyklost<73>"
|
msgstr "nelze nastavit modifik<69>tory m<>stn<74>ch zvyklost<73>"
|
||||||
|
|
||||||
#: ../../WPrefs.app/main.c:163
|
#: ../../WPrefs.app/main.c:165
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "could not open display %s"
|
msgid "could not open display %s"
|
||||||
msgstr "nelze otev<65><76>t displej %s"
|
msgstr "nelze otev<65><76>t displej %s"
|
||||||
|
|
||||||
#: ../../WPrefs.app/main.c:171
|
#: ../../WPrefs.app/main.c:173
|
||||||
msgid "could not initialize application"
|
msgid "could not initialize application"
|
||||||
msgstr "nelze inicializovat aplikaci"
|
msgstr "nelze inicializovat aplikaci"
|
||||||
|
|||||||
2905
WPrefs.app/po/ko.po
2905
WPrefs.app/po/ko.po
File diff suppressed because it is too large
Load Diff
1455
WPrefs.app/po/zh_TW.Big5.po
Normal file
1455
WPrefs.app/po/zh_TW.Big5.po
Normal file
File diff suppressed because it is too large
Load Diff
@@ -62,13 +62,13 @@ host_triplet = @host@
|
|||||||
CC = @CC@
|
CC = @CC@
|
||||||
CPP_PATH = @CPP_PATH@
|
CPP_PATH = @CPP_PATH@
|
||||||
DFLAGS = @DFLAGS@
|
DFLAGS = @DFLAGS@
|
||||||
GFXFLAGS = @GFXFLAGS@
|
|
||||||
GFXLFLAGS = @GFXLFLAGS@
|
|
||||||
GFXLIBS = @GFXLIBS@
|
GFXLIBS = @GFXLIBS@
|
||||||
|
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
|
||||||
ICONEXT = @ICONEXT@
|
ICONEXT = @ICONEXT@
|
||||||
INTLIBS = @INTLIBS@
|
INTLIBS = @INTLIBS@
|
||||||
LD = @LD@
|
LD = @LD@
|
||||||
LIBPL = @LIBPL@
|
LIBPL = @LIBPL@
|
||||||
|
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LITE = @LITE@
|
LITE = @LITE@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
|
|||||||
@@ -62,13 +62,13 @@ host_triplet = @host@
|
|||||||
CC = @CC@
|
CC = @CC@
|
||||||
CPP_PATH = @CPP_PATH@
|
CPP_PATH = @CPP_PATH@
|
||||||
DFLAGS = @DFLAGS@
|
DFLAGS = @DFLAGS@
|
||||||
GFXFLAGS = @GFXFLAGS@
|
|
||||||
GFXLFLAGS = @GFXLFLAGS@
|
|
||||||
GFXLIBS = @GFXLIBS@
|
GFXLIBS = @GFXLIBS@
|
||||||
|
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
|
||||||
ICONEXT = @ICONEXT@
|
ICONEXT = @ICONEXT@
|
||||||
INTLIBS = @INTLIBS@
|
INTLIBS = @INTLIBS@
|
||||||
LD = @LD@
|
LD = @LD@
|
||||||
LIBPL = @LIBPL@
|
LIBPL = @LIBPL@
|
||||||
|
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LITE = @LITE@
|
LITE = @LITE@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ Description: N*EXTSTEP alike, good looking, fast and easy to use/configure
|
|||||||
workspaces, easy to use application dock, very flexible menus,
|
workspaces, easy to use application dock, very flexible menus,
|
||||||
graphical configuration, 13 types of decoration textures,
|
graphical configuration, 13 types of decoration textures,
|
||||||
national language support, themes etc
|
national language support, themes etc
|
||||||
Keywords: window-manager X11 GNUstep NEXTSTEP GNOME KDE
|
Keywords: window-manager X11 GNUstep NEXTSTEP GNOME KDE OpenLook Motif
|
||||||
Author: kojima@windowmaker.org (Alfredo K. Kojima)
|
Author: kojima@windowmaker.org (Alfredo K. Kojima)
|
||||||
Maintained-by: kojima@windowmaker.org (Alfredo K. Kojima)
|
Maintained-by: kojima@windowmaker.org (Alfredo K. Kojima)
|
||||||
dan@windowmaker.org (Dan Pascu)
|
dan@windowmaker.org (Dan Pascu)
|
||||||
|
|||||||
@@ -62,13 +62,13 @@ host_triplet = @host@
|
|||||||
CC = @CC@
|
CC = @CC@
|
||||||
CPP_PATH = @CPP_PATH@
|
CPP_PATH = @CPP_PATH@
|
||||||
DFLAGS = @DFLAGS@
|
DFLAGS = @DFLAGS@
|
||||||
GFXFLAGS = @GFXFLAGS@
|
|
||||||
GFXLFLAGS = @GFXLFLAGS@
|
|
||||||
GFXLIBS = @GFXLIBS@
|
GFXLIBS = @GFXLIBS@
|
||||||
|
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
|
||||||
ICONEXT = @ICONEXT@
|
ICONEXT = @ICONEXT@
|
||||||
INTLIBS = @INTLIBS@
|
INTLIBS = @INTLIBS@
|
||||||
LD = @LD@
|
LD = @LD@
|
||||||
LIBPL = @LIBPL@
|
LIBPL = @LIBPL@
|
||||||
|
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LITE = @LITE@
|
LITE = @LITE@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
defsdatadir = $(pkgdatadir)/Defaults
|
defsdatadir = $(sysconfdir)/WindowMaker
|
||||||
|
|
||||||
defsdata_DATA = WMRootMenu WMWindowAttributes WindowMaker WMState WMGLOBAL
|
defsdata_DATA = WMRootMenu WMWindowAttributes WindowMaker WMState WMGLOBAL
|
||||||
|
|
||||||
@@ -7,18 +7,19 @@ EXTRA_DIST = $(defsdata_DATA) WMWindowAttributes.in WindowMaker.in WMState.in
|
|||||||
|
|
||||||
CLEANFILES = WMWindowAttributes WindowMaker WMState
|
CLEANFILES = WMWindowAttributes WindowMaker WMState
|
||||||
|
|
||||||
WMWindowAttributes: $(srcdir)/WMWindowAttributes.in ./Makefile
|
WMWindowAttributes: $(srcdir)/WMWindowAttributes.in
|
||||||
-rm -f WMWindowAttributes
|
-rm -f WMWindowAttributes
|
||||||
sed -e "s:#extension#:@ICONEXT@:" \
|
sed -e "s:#extension#:@ICONEXT@:" \
|
||||||
$(srcdir)/WMWindowAttributes.in > WMWindowAttributes
|
$(srcdir)/WMWindowAttributes.in > WMWindowAttributes
|
||||||
chmod 644 WMWindowAttributes
|
chmod 644 WMWindowAttributes
|
||||||
|
|
||||||
WindowMaker: $(srcdir)/WindowMaker.in ./Makefile
|
WindowMaker: $(srcdir)/WindowMaker.in
|
||||||
-rm -f WindowMaker
|
-rm -f WindowMaker
|
||||||
sed -e "s:#pkgdatadir#:$(pkgdatadir):" $(srcdir)/WindowMaker.in > WindowMaker
|
sed -e "s:#pkgdatadir#:$(pkgdatadir):" $(srcdir)/WindowMaker.in \
|
||||||
|
> WindowMaker
|
||||||
chmod 644 WindowMaker
|
chmod 644 WindowMaker
|
||||||
|
|
||||||
WMState: $(srcdir)/WMState.in ./Makefile
|
WMState: $(srcdir)/WMState.in
|
||||||
-rm -f WMState
|
-rm -f WMState
|
||||||
sed -e "s:#wprefs#:$(wprefsdir)/WPrefs:" $(srcdir)/WMState.in > WMState
|
sed -e "s:#wprefs#:$(wprefsdir)/WPrefs:" $(srcdir)/WMState.in > WMState
|
||||||
chmod 644 WMState
|
chmod 644 WMState
|
||||||
|
|||||||
@@ -62,13 +62,13 @@ host_triplet = @host@
|
|||||||
CC = @CC@
|
CC = @CC@
|
||||||
CPP_PATH = @CPP_PATH@
|
CPP_PATH = @CPP_PATH@
|
||||||
DFLAGS = @DFLAGS@
|
DFLAGS = @DFLAGS@
|
||||||
GFXFLAGS = @GFXFLAGS@
|
|
||||||
GFXLFLAGS = @GFXLFLAGS@
|
|
||||||
GFXLIBS = @GFXLIBS@
|
GFXLIBS = @GFXLIBS@
|
||||||
|
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
|
||||||
ICONEXT = @ICONEXT@
|
ICONEXT = @ICONEXT@
|
||||||
INTLIBS = @INTLIBS@
|
INTLIBS = @INTLIBS@
|
||||||
LD = @LD@
|
LD = @LD@
|
||||||
LIBPL = @LIBPL@
|
LIBPL = @LIBPL@
|
||||||
|
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LITE = @LITE@
|
LITE = @LITE@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
@@ -87,7 +87,7 @@ XLIBS = @XLIBS@
|
|||||||
X_EXTRA_LIBS = @X_EXTRA_LIBS@
|
X_EXTRA_LIBS = @X_EXTRA_LIBS@
|
||||||
wprefsdir = @wprefsdir@
|
wprefsdir = @wprefsdir@
|
||||||
|
|
||||||
defsdatadir = $(pkgdatadir)/Defaults
|
defsdatadir = $(sysconfdir)/WindowMaker
|
||||||
|
|
||||||
defsdata_DATA = WMRootMenu WMWindowAttributes WindowMaker WMState WMGLOBAL
|
defsdata_DATA = WMRootMenu WMWindowAttributes WindowMaker WMState WMGLOBAL
|
||||||
|
|
||||||
@@ -217,18 +217,19 @@ mostlyclean-generic distclean-generic clean-generic \
|
|||||||
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||||
|
|
||||||
|
|
||||||
WMWindowAttributes: $(srcdir)/WMWindowAttributes.in ./Makefile
|
WMWindowAttributes: $(srcdir)/WMWindowAttributes.in
|
||||||
-rm -f WMWindowAttributes
|
-rm -f WMWindowAttributes
|
||||||
sed -e "s:#extension#:@ICONEXT@:" \
|
sed -e "s:#extension#:@ICONEXT@:" \
|
||||||
$(srcdir)/WMWindowAttributes.in > WMWindowAttributes
|
$(srcdir)/WMWindowAttributes.in > WMWindowAttributes
|
||||||
chmod 644 WMWindowAttributes
|
chmod 644 WMWindowAttributes
|
||||||
|
|
||||||
WindowMaker: $(srcdir)/WindowMaker.in ./Makefile
|
WindowMaker: $(srcdir)/WindowMaker.in
|
||||||
-rm -f WindowMaker
|
-rm -f WindowMaker
|
||||||
sed -e "s:#pkgdatadir#:$(pkgdatadir):" $(srcdir)/WindowMaker.in > WindowMaker
|
sed -e "s:#pkgdatadir#:$(pkgdatadir):" $(srcdir)/WindowMaker.in \
|
||||||
|
> WindowMaker
|
||||||
chmod 644 WindowMaker
|
chmod 644 WindowMaker
|
||||||
|
|
||||||
WMState: $(srcdir)/WMState.in ./Makefile
|
WMState: $(srcdir)/WMState.in
|
||||||
-rm -f WMState
|
-rm -f WMState
|
||||||
sed -e "s:#wprefs#:$(wprefsdir)/WPrefs:" $(srcdir)/WMState.in > WMState
|
sed -e "s:#wprefs#:$(wprefsdir)/WPrefs:" $(srcdir)/WMState.in > WMState
|
||||||
chmod 644 WMState
|
chmod 644 WMState
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
OpenTransientOnOwnerWorkspace = NO;
|
OpenTransientOnOwnerWorkspace = NO;
|
||||||
EdgeResistance = 5;
|
EdgeResistance = YES;
|
||||||
IconificationStyle = Zoom;
|
IconificationStyle = Zoom;
|
||||||
IconPath = (
|
IconPath = (
|
||||||
"~/GNUstep/Library/Icons",
|
"~/GNUstep/Library/Icons",
|
||||||
@@ -48,6 +48,9 @@
|
|||||||
AutoArrangeIcons = NO;
|
AutoArrangeIcons = NO;
|
||||||
AdvanceToNewWorkspace = NO;
|
AdvanceToNewWorkspace = NO;
|
||||||
CycleWorkspaces = NO;
|
CycleWorkspaces = NO;
|
||||||
|
#ifdef WEENDOZE_CYCLE
|
||||||
|
WindozeCycling = YES;
|
||||||
|
#endif /* WEENDOZE_CYCLE */
|
||||||
ResizeDisplay = line;
|
ResizeDisplay = line;
|
||||||
MoveDisplay = floating;
|
MoveDisplay = floating;
|
||||||
OpaqueMove = YES;
|
OpaqueMove = YES;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
OpenTransientOnOwnerWorkspace = NO;
|
OpenTransientOnOwnerWorkspace = NO;
|
||||||
EdgeResistance = 5;
|
EdgeResistance = YES;
|
||||||
IconificationStyle = Zoom;
|
IconificationStyle = Zoom;
|
||||||
IconPath = (
|
IconPath = (
|
||||||
"~/GNUstep/Library/Icons",
|
"~/GNUstep/Library/Icons",
|
||||||
@@ -48,6 +48,9 @@
|
|||||||
AutoArrangeIcons = NO;
|
AutoArrangeIcons = NO;
|
||||||
AdvanceToNewWorkspace = NO;
|
AdvanceToNewWorkspace = NO;
|
||||||
CycleWorkspaces = NO;
|
CycleWorkspaces = NO;
|
||||||
|
#ifdef WEENDOZE_CYCLE
|
||||||
|
WindozeCycling = YES;
|
||||||
|
#endif /* WEENDOZE_CYCLE */
|
||||||
ResizeDisplay = line;
|
ResizeDisplay = line;
|
||||||
MoveDisplay = floating;
|
MoveDisplay = floating;
|
||||||
OpaqueMove = YES;
|
OpaqueMove = YES;
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ EXTRA_DIST =
|
|||||||
|
|
||||||
CLEANFILES = Default.iconset
|
CLEANFILES = Default.iconset
|
||||||
|
|
||||||
Default.iconset: $(top_srcdir)/WindowMaker/Defaults/WMWindowAttributes ./Makefile
|
Default.iconset: $(top_srcdir)/WindowMaker/Defaults/WMWindowAttributes
|
||||||
-rm -f Default.iconset
|
-rm -f Default.iconset
|
||||||
cp $(top_srcdir)/WindowMaker/Defaults/WMWindowAttributes Default.iconset
|
cp $(top_srcdir)/WindowMaker/Defaults/WMWindowAttributes Default.iconset
|
||||||
chmod 644 Default.iconset
|
chmod 644 Default.iconset
|
||||||
|
|||||||
@@ -62,13 +62,13 @@ host_triplet = @host@
|
|||||||
CC = @CC@
|
CC = @CC@
|
||||||
CPP_PATH = @CPP_PATH@
|
CPP_PATH = @CPP_PATH@
|
||||||
DFLAGS = @DFLAGS@
|
DFLAGS = @DFLAGS@
|
||||||
GFXFLAGS = @GFXFLAGS@
|
|
||||||
GFXLFLAGS = @GFXLFLAGS@
|
|
||||||
GFXLIBS = @GFXLIBS@
|
GFXLIBS = @GFXLIBS@
|
||||||
|
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
|
||||||
ICONEXT = @ICONEXT@
|
ICONEXT = @ICONEXT@
|
||||||
INTLIBS = @INTLIBS@
|
INTLIBS = @INTLIBS@
|
||||||
LD = @LD@
|
LD = @LD@
|
||||||
LIBPL = @LIBPL@
|
LIBPL = @LIBPL@
|
||||||
|
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LITE = @LITE@
|
LITE = @LITE@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
@@ -217,7 +217,7 @@ mostlyclean-generic distclean-generic clean-generic \
|
|||||||
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||||
|
|
||||||
|
|
||||||
Default.iconset: $(top_srcdir)/WindowMaker/Defaults/WMWindowAttributes ./Makefile
|
Default.iconset: $(top_srcdir)/WindowMaker/Defaults/WMWindowAttributes
|
||||||
-rm -f Default.iconset
|
-rm -f Default.iconset
|
||||||
cp $(top_srcdir)/WindowMaker/Defaults/WMWindowAttributes Default.iconset
|
cp $(top_srcdir)/WindowMaker/Defaults/WMWindowAttributes Default.iconset
|
||||||
chmod 644 Default.iconset
|
chmod 644 Default.iconset
|
||||||
|
|||||||
@@ -62,13 +62,13 @@ host_triplet = @host@
|
|||||||
CC = @CC@
|
CC = @CC@
|
||||||
CPP_PATH = @CPP_PATH@
|
CPP_PATH = @CPP_PATH@
|
||||||
DFLAGS = @DFLAGS@
|
DFLAGS = @DFLAGS@
|
||||||
GFXFLAGS = @GFXFLAGS@
|
|
||||||
GFXLFLAGS = @GFXLFLAGS@
|
|
||||||
GFXLIBS = @GFXLIBS@
|
GFXLIBS = @GFXLIBS@
|
||||||
|
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
|
||||||
ICONEXT = @ICONEXT@
|
ICONEXT = @ICONEXT@
|
||||||
INTLIBS = @INTLIBS@
|
INTLIBS = @INTLIBS@
|
||||||
LD = @LD@
|
LD = @LD@
|
||||||
LIBPL = @LIBPL@
|
LIBPL = @LIBPL@
|
||||||
|
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LITE = @LITE@
|
LITE = @LITE@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ The icons listed in the end of this file and their correspondent xpm versions
|
|||||||
were made by Marco van Hylckama Vlieg.
|
were made by Marco van Hylckama Vlieg.
|
||||||
They may be distributed freely and/or modified as long as the original
|
They may be distributed freely and/or modified as long as the original
|
||||||
Author is mentioned!
|
Author is mentioned!
|
||||||
|
marco@windowmaker.org
|
||||||
|
|
||||||
clip2.tiff is based on an icon by Vinny Ferrari.
|
clip2.tiff is based on an icon by Vinny Ferrari.
|
||||||
|
|
||||||
fatal@global.uibk.ac.at
|
|
||||||
|
|
||||||
BitchX.tiff
|
BitchX.tiff
|
||||||
DefaultAppIcon.tiff
|
DefaultAppIcon.tiff
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ prefsdata_DATA =\
|
|||||||
menu.se\
|
menu.se\
|
||||||
menu.sl\
|
menu.sl\
|
||||||
menu.tr\
|
menu.tr\
|
||||||
|
menu.zh_TW.Big5\
|
||||||
plmenu\
|
plmenu\
|
||||||
plmenu.fr\
|
plmenu.fr\
|
||||||
plmenu.hr\
|
plmenu.hr\
|
||||||
|
|||||||
@@ -62,13 +62,13 @@ host_triplet = @host@
|
|||||||
CC = @CC@
|
CC = @CC@
|
||||||
CPP_PATH = @CPP_PATH@
|
CPP_PATH = @CPP_PATH@
|
||||||
DFLAGS = @DFLAGS@
|
DFLAGS = @DFLAGS@
|
||||||
GFXFLAGS = @GFXFLAGS@
|
|
||||||
GFXLFLAGS = @GFXLFLAGS@
|
|
||||||
GFXLIBS = @GFXLIBS@
|
GFXLIBS = @GFXLIBS@
|
||||||
|
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
|
||||||
ICONEXT = @ICONEXT@
|
ICONEXT = @ICONEXT@
|
||||||
INTLIBS = @INTLIBS@
|
INTLIBS = @INTLIBS@
|
||||||
LD = @LD@
|
LD = @LD@
|
||||||
LIBPL = @LIBPL@
|
LIBPL = @LIBPL@
|
||||||
|
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LITE = @LITE@
|
LITE = @LITE@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
@@ -91,7 +91,7 @@ SUBDIRS = Backgrounds Defaults IconSets Icons Pixmaps Styles Themes
|
|||||||
|
|
||||||
prefsdatadir = $(pkgdatadir)
|
prefsdatadir = $(pkgdatadir)
|
||||||
|
|
||||||
prefsdata_DATA = README README.themes autostart.sh exitscript.sh menu menu.ca menu.cz menu.de menu.dk menu.el menu.es menu.fi menu.fr menu.gl menu.he menu.hr menu.hu menu.it menu.ja menu.ko menu.nl menu.no menu.pt menu.ru menu.se menu.sl menu.tr plmenu plmenu.fr plmenu.hr wmmacros xtree.dat
|
prefsdata_DATA = README README.themes autostart.sh exitscript.sh menu menu.ca menu.cz menu.de menu.dk menu.el menu.es menu.fi menu.fr menu.gl menu.he menu.hr menu.hu menu.it menu.ja menu.ko menu.nl menu.no menu.pt menu.ru menu.se menu.sl menu.tr menu.zh_TW.Big5 plmenu plmenu.fr plmenu.hr wmmacros xtree.dat
|
||||||
|
|
||||||
|
|
||||||
EXTRA_DIST = $(prefsdata_DATA) mkMakefile
|
EXTRA_DIST = $(prefsdata_DATA) mkMakefile
|
||||||
|
|||||||
@@ -62,13 +62,13 @@ host_triplet = @host@
|
|||||||
CC = @CC@
|
CC = @CC@
|
||||||
CPP_PATH = @CPP_PATH@
|
CPP_PATH = @CPP_PATH@
|
||||||
DFLAGS = @DFLAGS@
|
DFLAGS = @DFLAGS@
|
||||||
GFXFLAGS = @GFXFLAGS@
|
|
||||||
GFXLFLAGS = @GFXLFLAGS@
|
|
||||||
GFXLIBS = @GFXLIBS@
|
GFXLIBS = @GFXLIBS@
|
||||||
|
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
|
||||||
ICONEXT = @ICONEXT@
|
ICONEXT = @ICONEXT@
|
||||||
INTLIBS = @INTLIBS@
|
INTLIBS = @INTLIBS@
|
||||||
LD = @LD@
|
LD = @LD@
|
||||||
LIBPL = @LIBPL@
|
LIBPL = @LIBPL@
|
||||||
|
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LITE = @LITE@
|
LITE = @LITE@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
|
|||||||
@@ -56,4 +56,4 @@ menu.dk Danish John M. Lockard <jlockard@math.lsa.umich.edu>
|
|||||||
menu.sl Slovene Alen Salamun <snowman@hal9000.medinet.si>
|
menu.sl Slovene Alen Salamun <snowman@hal9000.medinet.si>
|
||||||
menu.hu Hungarian Csanaki Csaba <prew@mail.matav.hu>
|
menu.hu Hungarian Csanaki Csaba <prew@mail.matav.hu>
|
||||||
menu.ca Catal<61> Carles Amig<F3> dj_fr3nd@hotmail.com
|
menu.ca Catal<61> Carles Amig<F3> dj_fr3nd@hotmail.com
|
||||||
|
menu.zh_TW.Big5 Chinese Li Wei Jih <lwj83@cs.ccu.edu.tw>
|
||||||
|
|||||||
@@ -62,13 +62,13 @@ host_triplet = @host@
|
|||||||
CC = @CC@
|
CC = @CC@
|
||||||
CPP_PATH = @CPP_PATH@
|
CPP_PATH = @CPP_PATH@
|
||||||
DFLAGS = @DFLAGS@
|
DFLAGS = @DFLAGS@
|
||||||
GFXFLAGS = @GFXFLAGS@
|
|
||||||
GFXLFLAGS = @GFXLFLAGS@
|
|
||||||
GFXLIBS = @GFXLIBS@
|
GFXLIBS = @GFXLIBS@
|
||||||
|
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
|
||||||
ICONEXT = @ICONEXT@
|
ICONEXT = @ICONEXT@
|
||||||
INTLIBS = @INTLIBS@
|
INTLIBS = @INTLIBS@
|
||||||
LD = @LD@
|
LD = @LD@
|
||||||
LIBPL = @LIBPL@
|
LIBPL = @LIBPL@
|
||||||
|
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LITE = @LITE@
|
LITE = @LITE@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
|
|||||||
@@ -62,13 +62,13 @@ host_triplet = @host@
|
|||||||
CC = @CC@
|
CC = @CC@
|
||||||
CPP_PATH = @CPP_PATH@
|
CPP_PATH = @CPP_PATH@
|
||||||
DFLAGS = @DFLAGS@
|
DFLAGS = @DFLAGS@
|
||||||
GFXFLAGS = @GFXFLAGS@
|
|
||||||
GFXLFLAGS = @GFXLFLAGS@
|
|
||||||
GFXLIBS = @GFXLIBS@
|
GFXLIBS = @GFXLIBS@
|
||||||
|
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
|
||||||
ICONEXT = @ICONEXT@
|
ICONEXT = @ICONEXT@
|
||||||
INTLIBS = @INTLIBS@
|
INTLIBS = @INTLIBS@
|
||||||
LD = @LD@
|
LD = @LD@
|
||||||
LIBPL = @LIBPL@
|
LIBPL = @LIBPL@
|
||||||
|
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LITE = @LITE@
|
LITE = @LITE@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ SUBDIRS = Night.themed Checker.themed
|
|||||||
|
|
||||||
defsdatadir = $(pkgdatadir)/Themes
|
defsdatadir = $(pkgdatadir)/Themes
|
||||||
|
|
||||||
defsdata_DATA = Default.style OpenStep.style Pastel.style
|
defsdata_DATA = Default.style OpenStep.style Pastel.style SteelBlueSilk.style
|
||||||
|
|
||||||
EXTRA_DIST = $(defsdata_DATA)
|
EXTRA_DIST = $(defsdata_DATA)
|
||||||
|
|
||||||
|
|||||||
@@ -62,13 +62,13 @@ host_triplet = @host@
|
|||||||
CC = @CC@
|
CC = @CC@
|
||||||
CPP_PATH = @CPP_PATH@
|
CPP_PATH = @CPP_PATH@
|
||||||
DFLAGS = @DFLAGS@
|
DFLAGS = @DFLAGS@
|
||||||
GFXFLAGS = @GFXFLAGS@
|
|
||||||
GFXLFLAGS = @GFXLFLAGS@
|
|
||||||
GFXLIBS = @GFXLIBS@
|
GFXLIBS = @GFXLIBS@
|
||||||
|
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
|
||||||
ICONEXT = @ICONEXT@
|
ICONEXT = @ICONEXT@
|
||||||
INTLIBS = @INTLIBS@
|
INTLIBS = @INTLIBS@
|
||||||
LD = @LD@
|
LD = @LD@
|
||||||
LIBPL = @LIBPL@
|
LIBPL = @LIBPL@
|
||||||
|
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LITE = @LITE@
|
LITE = @LITE@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
@@ -91,7 +91,7 @@ SUBDIRS = Night.themed Checker.themed
|
|||||||
|
|
||||||
defsdatadir = $(pkgdatadir)/Themes
|
defsdatadir = $(pkgdatadir)/Themes
|
||||||
|
|
||||||
defsdata_DATA = Default.style OpenStep.style Pastel.style
|
defsdata_DATA = Default.style OpenStep.style Pastel.style SteelBlueSilk.style
|
||||||
|
|
||||||
EXTRA_DIST = $(defsdata_DATA)
|
EXTRA_DIST = $(defsdata_DATA)
|
||||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||||
|
|||||||
@@ -62,13 +62,13 @@ host_triplet = @host@
|
|||||||
CC = @CC@
|
CC = @CC@
|
||||||
CPP_PATH = @CPP_PATH@
|
CPP_PATH = @CPP_PATH@
|
||||||
DFLAGS = @DFLAGS@
|
DFLAGS = @DFLAGS@
|
||||||
GFXFLAGS = @GFXFLAGS@
|
|
||||||
GFXLFLAGS = @GFXLFLAGS@
|
|
||||||
GFXLIBS = @GFXLIBS@
|
GFXLIBS = @GFXLIBS@
|
||||||
|
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
|
||||||
ICONEXT = @ICONEXT@
|
ICONEXT = @ICONEXT@
|
||||||
INTLIBS = @INTLIBS@
|
INTLIBS = @INTLIBS@
|
||||||
LD = @LD@
|
LD = @LD@
|
||||||
LIBPL = @LIBPL@
|
LIBPL = @LIBPL@
|
||||||
|
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LITE = @LITE@
|
LITE = @LITE@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
|
|||||||
47
WindowMaker/Themes/SteelBlueSilk.style
Normal file
47
WindowMaker/Themes/SteelBlueSilk.style
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
{
|
||||||
|
TitleJustify = center;
|
||||||
|
ClipTitleFont = "-b&h-lucida-medium-r-normal-*-10-*-*-*-p-*-iso8859-1";
|
||||||
|
WindowTitleFont = "-b&h-lucida-medium-r-normal-*-12-*-*-*-p-*-iso8859-1";
|
||||||
|
MenuTitleFont = "-b&h-lucida-bold-r-normal-*-12-*-*-*-p-*-iso8859-1";
|
||||||
|
MenuTextFont = "-b&h-lucida-medium-r-normal-*-12-*-*-*-p-*-iso8859-1";
|
||||||
|
IconTitleFont = "-b&h-lucida-medium-r-normal-*-10-*-*-*-p-*-iso8859-1";
|
||||||
|
DisplayFont = "-b&h-lucida-medium-r-normal-*-12-*-*-*-p-*-iso8859-1";
|
||||||
|
HighlightColor = white;
|
||||||
|
HighlightTextColor = black;
|
||||||
|
ClipTitleColor = white;
|
||||||
|
CClipTitleColor = gray60;
|
||||||
|
FTitleColor = white;
|
||||||
|
PTitleColor = white;
|
||||||
|
UTitleColor = gray20;
|
||||||
|
FTitleBack = (
|
||||||
|
mdgradient,
|
||||||
|
"#18191f",
|
||||||
|
"#939abd",
|
||||||
|
"#616185",
|
||||||
|
"#616185",
|
||||||
|
"#5f5f83",
|
||||||
|
"#555575",
|
||||||
|
"#59597a",
|
||||||
|
"#555575",
|
||||||
|
"#939abd"
|
||||||
|
);
|
||||||
|
PTitleBack = (mhgradient, "#5a5c66", "rgb:70/72/7e", "rgb:45/47/4e");
|
||||||
|
UTitleBack = (mhgradient, "#989aa6", "#9fa1b5", "#86879b");
|
||||||
|
MenuTitleColor = white;
|
||||||
|
MenuTextColor = white;
|
||||||
|
MenuDisabledColor = gray60;
|
||||||
|
MenuTitleBack = (mvgradient, "#18191f", "#474967", "#413b6d");
|
||||||
|
MenuTextBack = (mhgradient, "#384246", "#707080", "#4a4a61");
|
||||||
|
IconBack = (
|
||||||
|
mdgradient,
|
||||||
|
gray40,
|
||||||
|
"#6d6aa4",
|
||||||
|
"#564e8c",
|
||||||
|
"#41436c",
|
||||||
|
"#464771",
|
||||||
|
"#595090"
|
||||||
|
);
|
||||||
|
IconTitleColor = white;
|
||||||
|
IconTitleBack = "#18191f";
|
||||||
|
WorkspaceBack = (mvgradient, "rgb:50/50/75", "#6a6f9e", "#4b4f70", "#28293c");
|
||||||
|
}
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
*
|
*
|
||||||
* SHORTCUT specifies a shortcut for that item. <Shortcut> has the
|
* SHORTCUT specifies a shortcut for that item. <Shortcut> has the
|
||||||
* same syntax of the shortcuts key options in the
|
* same syntax of the shortcuts key options in the
|
||||||
* ~/GNUstep/Defaults/WindowMaker file, such as RootMenuKey or MiniaturizeKey.
|
* $HOME/GNUstep/Defaults/WindowMaker file, such as RootMenuKey or MiniaturizeKey.
|
||||||
*
|
*
|
||||||
* You can't specify a shortcut for a MENU or OPEN_MENU entry.
|
* You can't specify a shortcut for a MENU or OPEN_MENU entry.
|
||||||
*
|
*
|
||||||
@@ -93,9 +93,9 @@
|
|||||||
* // creates a submenu with the contents of /usr/openwin/bin
|
* // creates a submenu with the contents of /usr/openwin/bin
|
||||||
* "XView apps" OPEN_MENU "/usr/openwin/bin"
|
* "XView apps" OPEN_MENU "/usr/openwin/bin"
|
||||||
* // some X11 apps in different directories
|
* // some X11 apps in different directories
|
||||||
* "X11 apps" OPEN_MENU /usr/X11/bin ~/bin/X11
|
* "X11 apps" OPEN_MENU /usr/X11/bin $HOME/bin/X11
|
||||||
* // set some background images
|
* // set some background images
|
||||||
* "Background" OPEN_MENU -noext ~/images /usr/share/images WITH wmsetbg -u -t
|
* "Background" OPEN_MENU -noext $HOME/images /usr/share/images WITH wmsetbg -u -t
|
||||||
* // inserts the style.menu in this entry
|
* // inserts the style.menu in this entry
|
||||||
* "Style" OPEN_MENU style.menu
|
* "Style" OPEN_MENU style.menu
|
||||||
* "Test" END
|
* "Test" END
|
||||||
@@ -173,9 +173,9 @@
|
|||||||
"Workspace" END
|
"Workspace" END
|
||||||
|
|
||||||
"Appearance" MENU
|
"Appearance" MENU
|
||||||
"Themes" OPEN_MENU -noext THEMES_DIR ~/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
"Themes" OPEN_MENU -noext THEMES_DIR $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
||||||
"Styles" OPEN_MENU -noext STYLES_DIR ~/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
"Styles" OPEN_MENU -noext STYLES_DIR $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
||||||
"Icon Sets" OPEN_MENU -noext ICON_SETS_DIR ~/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
"Icon Sets" OPEN_MENU -noext ICON_SETS_DIR $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
||||||
"Background" MENU
|
"Background" MENU
|
||||||
"Solid" MENU
|
"Solid" MENU
|
||||||
"Black" WS_BACK '(solid, black)'
|
"Black" WS_BACK '(solid, black)'
|
||||||
@@ -197,10 +197,10 @@
|
|||||||
"Grey Shades" WS_BACK '(vgradient, "#636380", "#131318")'
|
"Grey Shades" WS_BACK '(vgradient, "#636380", "#131318")'
|
||||||
"Wine Shades" WS_BACK '(vgradient, "#600040", "#180010")'
|
"Wine Shades" WS_BACK '(vgradient, "#600040", "#180010")'
|
||||||
"Gradient" END
|
"Gradient" END
|
||||||
"Images" OPEN_MENU -noext BACKGROUNDS_DIR ~/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
"Images" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
||||||
"Background" END
|
"Background" END
|
||||||
"Save Theme" EXEC getstyle -t ~/GNUstep/Library/WindowMaker/Themes/"%a(Theme name,Enter file name:)"
|
"Save Theme" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name,Enter file name:)"
|
||||||
"Save IconSet" EXEC geticonset ~/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name,Enter file name:)"
|
"Save IconSet" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name,Enter file name:)"
|
||||||
"Appearance" END
|
"Appearance" END
|
||||||
|
|
||||||
"Exit" MENU
|
"Exit" MENU
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
*
|
*
|
||||||
* TECLA especifica una combinaci<63> de tecles per aquest objecte. <Tecla> t<>
|
* TECLA especifica una combinaci<63> de tecles per aquest objecte. <Tecla> t<>
|
||||||
* la mateixa sintaxis que les combinacions de tecles especificades al
|
* la mateixa sintaxis que les combinacions de tecles especificades al
|
||||||
* fitxer ~/GNUstep/Defaults/WindowMaker , com a RootMenuKey o b<>
|
* fitxer $HOME/GNUstep/Defaults/WindowMaker , com a RootMenuKey o b<>
|
||||||
* MiniaturizeKey.
|
* MiniaturizeKey.
|
||||||
*
|
*
|
||||||
* No es pot especificar una combinaci<63> de tecles per a un MENU o un
|
* No es pot especificar una combinaci<63> de tecles per a un MENU o un
|
||||||
@@ -96,9 +96,9 @@
|
|||||||
* // crea un submenu amb els continguts de /usr/openwin/bin
|
* // crea un submenu amb els continguts de /usr/openwin/bin
|
||||||
* "XView apps" OPEN_MENU "/usr/openwin/bin"
|
* "XView apps" OPEN_MENU "/usr/openwin/bin"
|
||||||
* // Algunes aplicacions X de diferents directoris
|
* // Algunes aplicacions X de diferents directoris
|
||||||
* "X11 apps" OPEN_MENU /usr/X11/bin ~/bin/X11
|
* "X11 apps" OPEN_MENU /usr/X11/bin $HOME/bin/X11
|
||||||
* // algunes imatges de fondo de l'escriptori
|
* // algunes imatges de fondo de l'escriptori
|
||||||
* "Background" OPEN_MENU ~/images /usr/share/images WITH wmsetbg -u -t
|
* "Background" OPEN_MENU $HOME/images /usr/share/images WITH wmsetbg -u -t
|
||||||
* // inserta el fitxer style.menu
|
* // inserta el fitxer style.menu
|
||||||
* "Style" OPEN_MENU style.menu
|
* "Style" OPEN_MENU style.menu
|
||||||
* "Test" END
|
* "Test" END
|
||||||
@@ -175,9 +175,9 @@
|
|||||||
"Escriptori" END
|
"Escriptori" END
|
||||||
|
|
||||||
"Aparen<65>a" MENU
|
"Aparen<65>a" MENU
|
||||||
"Temes" OPEN_MENU THEMES_DIR ~/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
"Temes" OPEN_MENU THEMES_DIR $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
||||||
"Estils" OPEN_MENU STYLES_DIR ~/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
"Estils" OPEN_MENU STYLES_DIR $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
||||||
"Jocs d'Icones" OPEN_MENU ICON_SETS_DIR ~/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
"Jocs d'Icones" OPEN_MENU ICON_SETS_DIR $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
||||||
"Fons de pantalla" MENU
|
"Fons de pantalla" MENU
|
||||||
"S<>lid" MENU
|
"S<>lid" MENU
|
||||||
"Negre" WS_BACK '(solid, black)'
|
"Negre" WS_BACK '(solid, black)'
|
||||||
@@ -199,10 +199,10 @@
|
|||||||
"Degradat Gris" WS_BACK '(vgradient,"#636380", "#131318")'
|
"Degradat Gris" WS_BACK '(vgradient,"#636380", "#131318")'
|
||||||
"Degradat Lila" WS_BACK '(vgradient,"#600040", "#180010")'
|
"Degradat Lila" WS_BACK '(vgradient,"#600040", "#180010")'
|
||||||
"Degradat" END
|
"Degradat" END
|
||||||
"Imatges" OPEN_MENU BACKGROUNDS_DIR ~/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
"Imatges" OPEN_MENU BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
||||||
"Fons de pantalla" END
|
"Fons de pantalla" END
|
||||||
"Guardar Tema" EXEC getstyle -t ~/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
|
"Guardar Tema" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
|
||||||
"Guardar Joc d'Icones" EXEC geticonset ~/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
|
"Guardar Joc d'Icones" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
|
||||||
"Aparen<65>a" END
|
"Aparen<65>a" END
|
||||||
|
|
||||||
"Sortir" MENU
|
"Sortir" MENU
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
* skal omgives med " hvis den indeholder mellemrum.
|
* skal omgives med " hvis den indeholder mellemrum.
|
||||||
*
|
*
|
||||||
* SHORTCUT angiver en genvej for menuobjektet. <Genvej> har samme
|
* SHORTCUT angiver en genvej for menuobjektet. <Genvej> har samme
|
||||||
* syntaks som genvejene i filen ~/GNUStep/Defaults/WindowMaker.
|
* syntaks som genvejene i filen $HOME/GNUStep/Defaults/WindowMaker.
|
||||||
*
|
*
|
||||||
* Man kan ikke angive en genvej for kommandoerne MENU og OPEN_MENU.
|
* Man kan ikke angive en genvej for kommandoerne MENU og OPEN_MENU.
|
||||||
*
|
*
|
||||||
@@ -88,9 +88,9 @@
|
|||||||
* // skaber en undermenu med indholdet af /usr/openwin/bin
|
* // skaber en undermenu med indholdet af /usr/openwin/bin
|
||||||
* "XView apps" OPEN_MENU "/usr/openwin/bin"
|
* "XView apps" OPEN_MENU "/usr/openwin/bin"
|
||||||
* // nogle X11-programmer i forskellige kataloger
|
* // nogle X11-programmer i forskellige kataloger
|
||||||
* "X11 apps" OPEN_MENU /usr/X11/bin ~/bin/X11
|
* "X11 apps" OPEN_MENU /usr/X11/bin $HOME/bin/X11
|
||||||
* // s<>t et baggrundsbillede
|
* // s<>t et baggrundsbillede
|
||||||
* "Baggrund" OPEN_MENU ~/images /usr/share/images WITH wmsetbg -u -t
|
* "Baggrund" OPEN_MENU $HOME/images /usr/share/images WITH wmsetbg -u -t
|
||||||
* // indf<64>jer style.menu her
|
* // indf<64>jer style.menu her
|
||||||
* "Stil" OPEN_MENU style.menu
|
* "Stil" OPEN_MENU style.menu
|
||||||
* "Test" END
|
* "Test" END
|
||||||
@@ -169,9 +169,9 @@
|
|||||||
"Arbejdsbord" END
|
"Arbejdsbord" END
|
||||||
|
|
||||||
"Udseende" MENU
|
"Udseende" MENU
|
||||||
"Temaer" OPEN_MENU -noext THEMES_DIR ~/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
"Temaer" OPEN_MENU -noext THEMES_DIR $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
||||||
"Stil" OPEN_MENU -noext STYLES_DIR ~/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
"Stil" OPEN_MENU -noext STYLES_DIR $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
||||||
"Ikons<6E>t" OPEN_MENU -noext ICON_SETS_DIR ~/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
"Ikons<6E>t" OPEN_MENU -noext ICON_SETS_DIR $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
||||||
"Baggrund" MENU
|
"Baggrund" MENU
|
||||||
"Ensfarvet" MENU
|
"Ensfarvet" MENU
|
||||||
"Sort" WS_BACK '(solid, black)'
|
"Sort" WS_BACK '(solid, black)'
|
||||||
@@ -187,10 +187,10 @@
|
|||||||
"Flag" WS_BACK '(mdgradient, green, red, white, green)'
|
"Flag" WS_BACK '(mdgradient, green, red, white, green)'
|
||||||
"Himmel" WS_BACK '(vgradient, blue4, white)'
|
"Himmel" WS_BACK '(vgradient, blue4, white)'
|
||||||
"Nuancer" END
|
"Nuancer" END
|
||||||
"Billeder" OPEN_MENU -noext BACKGROUNDS_DIR ~/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
"Billeder" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
||||||
"Baggrund" END
|
"Baggrund" END
|
||||||
"Gem tema" EXEC getstyle -t ~/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
|
"Gem tema" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
|
||||||
"Gem ikons<6E>t" EXEC geticonset ~/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
|
"Gem ikons<6E>t" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
|
||||||
"Udseende" END
|
"Udseende" END
|
||||||
|
|
||||||
"Afslut" MENU
|
"Afslut" MENU
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
*
|
*
|
||||||
* SHORTCUT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>.<EFBFBD>:
|
* SHORTCUT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>.<EFBFBD>:
|
||||||
* "Meta+1". <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
* "Meta+1". <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||||
* ~/GNUstep/Defaults/WindowMaker
|
* $HOME/GNUstep/Defaults/WindowMaker
|
||||||
*
|
*
|
||||||
* <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> shortcut <EFBFBD><EFBFBD><EFBFBD> MENU <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> OPEN_MENU <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
* <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> shortcut <EFBFBD><EFBFBD><EFBFBD> MENU <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> OPEN_MENU <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
*
|
*
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> Window Maker <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SAVE_SESSION <EFBFBD>
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> Window Maker <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SAVE_SESSION <EFBFBD>
|
||||||
* CLEAR_SESSION <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Window Maker <EFBFBD><EFBFBD><EFBFBD>
|
* CLEAR_SESSION <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Window Maker <EFBFBD><EFBFBD><EFBFBD>
|
||||||
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "~/GNUstep/Defaults/" <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "$HOME/GNUstep/Defaults/" <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||||
* "SaveSessionOnExit = Yes;", <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* "SaveSessionOnExit = Yes;", <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> Window Maker,
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> Window Maker,
|
||||||
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -97,9 +97,9 @@
|
|||||||
* // creates a submenu with the contents of /usr/openwin/bin
|
* // creates a submenu with the contents of /usr/openwin/bin
|
||||||
* "XView apps" OPEN_MENU "/usr/openwin/bin"
|
* "XView apps" OPEN_MENU "/usr/openwin/bin"
|
||||||
* // some X11 apps in different directories
|
* // some X11 apps in different directories
|
||||||
* "X11 apps" OPEN_MENU /usr/X11/bin ~/bin/X11
|
* "X11 apps" OPEN_MENU /usr/X11/bin $HOME/bin/X11
|
||||||
* // set some background images
|
* // set some background images
|
||||||
* "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" OPEN_MENU ~/images /usr/share/images WITH wmsetbg -u -t
|
* "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" OPEN_MENU $HOME/images /usr/share/images WITH wmsetbg -u -t
|
||||||
* // inserts the style.menu in this entry
|
* // inserts the style.menu in this entry
|
||||||
* "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>" OPEN_MENU style.menu
|
* "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>" OPEN_MENU style.menu
|
||||||
* "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" END
|
* "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" END
|
||||||
@@ -177,9 +177,9 @@
|
|||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" END
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" END
|
||||||
|
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" MENU
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" MENU
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" OPEN_MENU -noext THEMES_DIR ~/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" OPEN_MENU -noext THEMES_DIR $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>" OPEN_MENU -noext STYLES_DIR ~/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>" OPEN_MENU -noext STYLES_DIR $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" OPEN_MENU -noext ICON_SETS_DIR ~/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" OPEN_MENU -noext ICON_SETS_DIR $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" MENU
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" MENU
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" MENU
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" MENU
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" WS_BACK '(solid, black)'
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" WS_BACK '(solid, black)'
|
||||||
@@ -195,10 +195,10 @@
|
|||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" WS_BACK '(mdgradient, green, red, white, green)'
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" WS_BACK '(mdgradient, green, red, white, green)'
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" WS_BACK '(vgradient, blue4, white)'
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" WS_BACK '(vgradient, blue4, white)'
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" END
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" END
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" OPEN_MENU -noext BACKGROUNDS_DIR ~/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" END
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" END
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" EXEC getstyle -t ~/GNUstep/Library/WindowMaker/Themes/"%a(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)"
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)"
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" EXEC geticonset ~/GNUstep/Library/WindowMaker/IconSets/"%a(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)"
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)"
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" END
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" END
|
||||||
|
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" MENU
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" MENU
|
||||||
|
|||||||
@@ -78,9 +78,9 @@
|
|||||||
* // crea un submenu con los contenidos de /usr/openwin/bin
|
* // crea un submenu con los contenidos de /usr/openwin/bin
|
||||||
* "XView apps" OPEN_MENU "/usr/openwin/bin"
|
* "XView apps" OPEN_MENU "/usr/openwin/bin"
|
||||||
* // algunas aplicaciones X11 de diversos directorios
|
* // algunas aplicaciones X11 de diversos directorios
|
||||||
* "X11 apps" OPEN_MENU /usr/X11/bin ~/bin/X11
|
* "X11 apps" OPEN_MENU /usr/X11/bin $HOME/bin/X11
|
||||||
* // algunos fondos de escritorio
|
* // algunos fondos de escritorio
|
||||||
* "Background" OPEN_MENU ~/images /usr/share/images WITH wmsetbg -u -t
|
* "Background" OPEN_MENU $HOME/images /usr/share/images WITH wmsetbg -u -t
|
||||||
* // inserta el fichero style.menu en esta entrada de menu
|
* // inserta el fichero style.menu en esta entrada de menu
|
||||||
* "Style" OPEN_MENU style.menu
|
* "Style" OPEN_MENU style.menu
|
||||||
* "Test" END
|
* "Test" END
|
||||||
@@ -158,9 +158,9 @@
|
|||||||
"Escritorio" END
|
"Escritorio" END
|
||||||
|
|
||||||
"Apariencia" MENU
|
"Apariencia" MENU
|
||||||
"Temas" OPEN_MENU -noext THEMES_DIR ~/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
"Temas" OPEN_MENU -noext THEMES_DIR $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
||||||
"Estilos" OPEN_MENU -noext STYLES_DIR ~/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
"Estilos" OPEN_MENU -noext STYLES_DIR $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
||||||
"Juegos de Iconos" OPEN_MENU -noext ICON_SETS_DIR ~/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
"Juegos de Iconos" OPEN_MENU -noext ICON_SETS_DIR $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
||||||
"Fondo" MENU
|
"Fondo" MENU
|
||||||
"S<EFBFBD>lido" MENU
|
"S<EFBFBD>lido" MENU
|
||||||
"Black" WS_BACK '(solid, black)'
|
"Black" WS_BACK '(solid, black)'
|
||||||
@@ -176,10 +176,10 @@
|
|||||||
"Flag" WS_BACK '(mdgradient, green, red, white, green)'
|
"Flag" WS_BACK '(mdgradient, green, red, white, green)'
|
||||||
"Sky" WS_BACK '(vgradient, blue4, white)'
|
"Sky" WS_BACK '(vgradient, blue4, white)'
|
||||||
"Gradiente" END
|
"Gradiente" END
|
||||||
"Imagenes" OPEN_MENU -noext BACKGROUNDS_DIR ~/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
"Imagenes" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
||||||
"Fondo" END
|
"Fondo" END
|
||||||
"Guardar Tema" EXEC getstyle -t ~/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
|
"Guardar Tema" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
|
||||||
"Guardar Juego de Iconos" EXEC geticonset ~/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
|
"Guardar Juego de Iconos" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
|
||||||
"Apariencia" END
|
"Apariencia" END
|
||||||
|
|
||||||
"Salir" MENU
|
"Salir" MENU
|
||||||
|
|||||||
@@ -82,9 +82,9 @@
|
|||||||
* // creates a submenu with the contents of /usr/openwin/bin
|
* // creates a submenu with the contents of /usr/openwin/bin
|
||||||
* "XView apps" OPEN_MENU "/usr/openwin/bin"
|
* "XView apps" OPEN_MENU "/usr/openwin/bin"
|
||||||
* // some X11 apps in different directories
|
* // some X11 apps in different directories
|
||||||
* "X11 apps" OPEN_MENU /usr/X11/bin ~/bin/X11
|
* "X11 apps" OPEN_MENU /usr/X11/bin $HOME/bin/X11
|
||||||
* // set some background images
|
* // set some background images
|
||||||
* "Background" OPEN_MENU ~/images /usr/share/images WITH wmsetbg -u -t
|
* "Background" OPEN_MENU $HOME/images /usr/share/images WITH wmsetbg -u -t
|
||||||
* // inserts the style.menu in this entry
|
* // inserts the style.menu in this entry
|
||||||
* "Style" OPEN_MENU style.menu
|
* "Style" OPEN_MENU style.menu
|
||||||
* "Test" END
|
* "Test" END
|
||||||
@@ -162,9 +162,9 @@
|
|||||||
"Ty<54>tilat" END
|
"Ty<54>tilat" END
|
||||||
|
|
||||||
"Ulkon<6F>k<EFBFBD>" MENU
|
"Ulkon<6F>k<EFBFBD>" MENU
|
||||||
"Teemat" OPEN_MENU -noext THEMES_DIR ~/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
"Teemat" OPEN_MENU -noext THEMES_DIR $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
||||||
"Tyylit" OPEN_MENU -noext STYLES_DIR ~/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
"Tyylit" OPEN_MENU -noext STYLES_DIR $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
||||||
"Kuvakeryhm<68>t" OPEN_MENU -noext ICON_SETS_DIR ~/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
"Kuvakeryhm<68>t" OPEN_MENU -noext ICON_SETS_DIR $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
||||||
"Taustat" MENU
|
"Taustat" MENU
|
||||||
"Taustav<61>ri" MENU
|
"Taustav<61>ri" MENU
|
||||||
"Musta" WS_BACK '(solid, black)'
|
"Musta" WS_BACK '(solid, black)'
|
||||||
@@ -180,10 +180,10 @@
|
|||||||
"Lippu" WS_BACK '(mdgradient, green, red, white, green)'
|
"Lippu" WS_BACK '(mdgradient, green, red, white, green)'
|
||||||
"Taivas" WS_BACK '(vgradient, blue4, white)'
|
"Taivas" WS_BACK '(vgradient, blue4, white)'
|
||||||
"Liukuv<75>ri" END
|
"Liukuv<75>ri" END
|
||||||
"Taustakuvat" OPEN_MENU -noext BACKGROUNDS_DIR ~/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
"Taustakuvat" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
||||||
"Taustat" END
|
"Taustat" END
|
||||||
"Talleta teema" EXEC getstyle -t ~/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
|
"Talleta teema" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
|
||||||
"Talleta kuvakeryhm<68>t" EXEC geticonset ~/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
|
"Talleta kuvakeryhm<68>t" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
|
||||||
"Ulkon<6F>k<EFBFBD>" END
|
"Ulkon<6F>k<EFBFBD>" END
|
||||||
|
|
||||||
"Poistu" MENU
|
"Poistu" MENU
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
*
|
*
|
||||||
* SHORTCUT sp<73>cifie un raccourci pour une entr<74>e dans le menu. <Raccourci>
|
* SHORTCUT sp<73>cifie un raccourci pour une entr<74>e dans le menu. <Raccourci>
|
||||||
* a la m<>me syntaxe que les options pour les raccourcis clavier dans le
|
* a la m<>me syntaxe que les options pour les raccourcis clavier dans le
|
||||||
* fichier ~/GNUstep/Defaults/WindowMaker, comme par example RootMenuKey ou
|
* fichier $HOME/GNUstep/Defaults/WindowMaker, comme par example RootMenuKey ou
|
||||||
* encore MiniaturizeKey.
|
* encore MiniaturizeKey.
|
||||||
*
|
*
|
||||||
* Il n'est pas possible de sp<73>cifier un raccourci pour une entr<74>e MENU
|
* Il n'est pas possible de sp<73>cifier un raccourci pour une entr<74>e MENU
|
||||||
@@ -142,9 +142,9 @@
|
|||||||
* / Cr<43>e un sous menu avec le contenu de /usr/openwin/bin
|
* / Cr<43>e un sous menu avec le contenu de /usr/openwin/bin
|
||||||
* "Applications XView" OPEN_MENU "/usr/openwin/bin"
|
* "Applications XView" OPEN_MENU "/usr/openwin/bin"
|
||||||
* / Quelques applications X11 dans diff<66>rents r<>pertoires
|
* / Quelques applications X11 dans diff<66>rents r<>pertoires
|
||||||
* "Applications X11" OPEN_MENU /usr/X11/bin ~/bin/X11
|
* "Applications X11" OPEN_MENU /usr/X11/bin $HOME/bin/X11
|
||||||
* / D<>finir quelques images de fond
|
* / D<>finir quelques images de fond
|
||||||
* "Fond d'<27>cran" OPEN_MENU ~/images /usr/share/images WITH wmsetbg -u -t
|
* "Fond d'<27>cran" OPEN_MENU $HOME/images /usr/share/images WITH wmsetbg -u -t
|
||||||
* / Ins<6E>re le fichier "style.menu" dans cette entr<74>e
|
* / Ins<6E>re le fichier "style.menu" dans cette entr<74>e
|
||||||
* "Style" OPEN_MENU style.menu
|
* "Style" OPEN_MENU style.menu
|
||||||
* "Test" END
|
* "Test" END
|
||||||
@@ -222,9 +222,9 @@
|
|||||||
"Espace de travail" END
|
"Espace de travail" END
|
||||||
|
|
||||||
"Apparence" MENU
|
"Apparence" MENU
|
||||||
"Th<54>mes" OPEN_MENU -noext THEMES_DIR ~/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
"Th<54>mes" OPEN_MENU -noext THEMES_DIR $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
||||||
"Styles" OPEN_MENU -noext STYLES_DIR ~/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
"Styles" OPEN_MENU -noext STYLES_DIR $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
||||||
"Jeu d'ic<69>nes" OPEN_MENU -noext ICON_SETS_DIR ~/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
"Jeu d'ic<69>nes" OPEN_MENU -noext ICON_SETS_DIR $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
||||||
"Fond d'<27>cran" MENU
|
"Fond d'<27>cran" MENU
|
||||||
"Unifi<66>" MENU
|
"Unifi<66>" MENU
|
||||||
"Noir" WS_BACK '(solid, black)'
|
"Noir" WS_BACK '(solid, black)'
|
||||||
@@ -246,10 +246,10 @@
|
|||||||
"D<>grad<61>s de Gris" WS_BACK '(vgradient, "#636380", "#131318")'
|
"D<>grad<61>s de Gris" WS_BACK '(vgradient, "#636380", "#131318")'
|
||||||
"D<>grad<61>s de Bordeau" WS_BACK '(vgradient, "#600040", "#180010")'
|
"D<>grad<61>s de Bordeau" WS_BACK '(vgradient, "#600040", "#180010")'
|
||||||
"Degrad<61>" END
|
"Degrad<61>" END
|
||||||
"Images" OPEN_MENU -noext BACKGROUNDS_DIR ~/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
"Images" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
||||||
"Fond d'<27>cran" END
|
"Fond d'<27>cran" END
|
||||||
"Sauver le th<74>me" EXEC getstyle -t ~/GNUstep/Library/WindowMaker/Themes/"%a(Nom du th<74>me,Entrez un nom de fichier:)"
|
"Sauver le th<74>me" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Nom du th<74>me,Entrez un nom de fichier:)"
|
||||||
"Sauver le jeu d'ic<69>nes" EXEC geticonset ~/GNUstep/Library/WindowMaker/IconSets/"%a(Nom du jeu d'ic<69>nes,Entrez un nom de fichier:)"
|
"Sauver le jeu d'ic<69>nes" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(Nom du jeu d'ic<69>nes,Entrez un nom de fichier:)"
|
||||||
"Apparence" END
|
"Apparence" END
|
||||||
|
|
||||||
"Quitter" MENU
|
"Quitter" MENU
|
||||||
|
|||||||
@@ -82,9 +82,9 @@
|
|||||||
* // creates a submenu with the contents of /usr/openwin/bin
|
* // creates a submenu with the contents of /usr/openwin/bin
|
||||||
* "XView apps" OPEN_MENU "/usr/openwin/bin"
|
* "XView apps" OPEN_MENU "/usr/openwin/bin"
|
||||||
* // some X11 apps in different directories
|
* // some X11 apps in different directories
|
||||||
* "X11 apps" OPEN_MENU /usr/X11/bin ~/bin/X11
|
* "X11 apps" OPEN_MENU /usr/X11/bin $HOME/bin/X11
|
||||||
* // set some background images
|
* // set some background images
|
||||||
* "Background" OPEN_MENU ~/images /usr/share/images WITH wmsetbg -u -t
|
* "Background" OPEN_MENU $HOME/images /usr/share/images WITH wmsetbg -u -t
|
||||||
* // inserts the style.menu in this entry
|
* // inserts the style.menu in this entry
|
||||||
* "Style" OPEN_MENU style.menu
|
* "Style" OPEN_MENU style.menu
|
||||||
* "Test" END
|
* "Test" END
|
||||||
@@ -161,9 +161,9 @@
|
|||||||
"<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>" END
|
"<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>" END
|
||||||
|
|
||||||
"<22><><EFBFBD><EFBFBD>" MENU
|
"<22><><EFBFBD><EFBFBD>" MENU
|
||||||
"Themes" OPEN_MENU -noext THEMES_DIR ~/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
"Themes" OPEN_MENU -noext THEMES_DIR $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
||||||
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" OPEN_MENU -noext STYLES_DIR ~/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" OPEN_MENU -noext STYLES_DIR $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
||||||
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>" OPEN_MENU -noext ICON_SETS_DIR ~/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>" OPEN_MENU -noext ICON_SETS_DIR $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
||||||
"<22><><EFBFBD>" MENU
|
"<22><><EFBFBD>" MENU
|
||||||
"Solid" MENU
|
"Solid" MENU
|
||||||
"<22><><EFBFBD><EFBFBD>" WS_BACK '(solid, black)'
|
"<22><><EFBFBD><EFBFBD>" WS_BACK '(solid, black)'
|
||||||
@@ -179,10 +179,10 @@
|
|||||||
"Flag" WS_BACK '(vdgradient, blue, white, blue)'
|
"Flag" WS_BACK '(vdgradient, blue, white, blue)'
|
||||||
"Sky" WS_BACK '(vgradient, blue4, white)'
|
"Sky" WS_BACK '(vgradient, blue4, white)'
|
||||||
"Gradient" END
|
"Gradient" END
|
||||||
"Images" OPEN_MENU -noext BACKGROUNDS_DIR ~/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
"Images" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
||||||
"<22><><EFBFBD>" END
|
"<22><><EFBFBD>" END
|
||||||
"Save Theme" EXEC getstyle -t ~/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
|
"Save Theme" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
|
||||||
"Save IconSet" EXEC geticonset ~/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
|
"Save IconSet" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
|
||||||
"<22><><EFBFBD><EFBFBD>" END
|
"<22><><EFBFBD><EFBFBD>" END
|
||||||
|
|
||||||
"<22><><EFBFBD><EFBFBD><EFBFBD>" MENU
|
"<22><><EFBFBD><EFBFBD><EFBFBD>" MENU
|
||||||
|
|||||||
@@ -82,9 +82,9 @@
|
|||||||
* // creates a submenu with the contents of /usr/openwin/bin
|
* // creates a submenu with the contents of /usr/openwin/bin
|
||||||
* "XView apps" OPEN_MENU "/usr/openwin/bin"
|
* "XView apps" OPEN_MENU "/usr/openwin/bin"
|
||||||
* // some X11 apps in different directories
|
* // some X11 apps in different directories
|
||||||
* "X11 apps" OPEN_MENU /usr/X11/bin ~/bin/X11
|
* "X11 apps" OPEN_MENU /usr/X11/bin $HOME/bin/X11
|
||||||
* // set some background images
|
* // set some background images
|
||||||
* "Background" OPEN_MENU ~/images /usr/share/images WITH wmsetbg -u -t
|
* "Background" OPEN_MENU $HOME/images /usr/share/images WITH wmsetbg -u -t
|
||||||
* // inserts the style.menu in this entry
|
* // inserts the style.menu in this entry
|
||||||
* "Style" OPEN_MENU style.menu
|
* "Style" OPEN_MENU style.menu
|
||||||
* "Test" END
|
* "Test" END
|
||||||
@@ -163,9 +163,9 @@
|
|||||||
"Radni prostor" END
|
"Radni prostor" END
|
||||||
|
|
||||||
"Izgled" MENU
|
"Izgled" MENU
|
||||||
"Teme" OPEN_MENU -noext THEMES_DIR ~/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
"Teme" OPEN_MENU -noext THEMES_DIR $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
||||||
"Stilovi" OPEN_MENU -noext STYLES_DIR ~/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
"Stilovi" OPEN_MENU -noext STYLES_DIR $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
||||||
"Setovi Ikona" OPEN_MENU -noext ICON_SETS_DIR ~/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
"Setovi Ikona" OPEN_MENU -noext ICON_SETS_DIR $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
||||||
"Pozadina" MENU
|
"Pozadina" MENU
|
||||||
"Boja" MENU
|
"Boja" MENU
|
||||||
"Crna" WS_BACK '(solid, black)'
|
"Crna" WS_BACK '(solid, black)'
|
||||||
@@ -181,10 +181,10 @@
|
|||||||
"Zastava" WS_BACK '(mdgradient, green, red, white, green)'
|
"Zastava" WS_BACK '(mdgradient, green, red, white, green)'
|
||||||
"Nebo" WS_BACK '(vgradient, blue4, white)'
|
"Nebo" WS_BACK '(vgradient, blue4, white)'
|
||||||
"Preljev" END
|
"Preljev" END
|
||||||
"Slike" OPEN_MENU -noext BACKGROUNDS_DIR ~/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
"Slike" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
||||||
"Pozadina" END
|
"Pozadina" END
|
||||||
"Snimi temu" EXEC getstyle -t ~/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
|
"Snimi temu" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
|
||||||
"Snimi set ikona" EXEC geticonset ~/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
|
"Snimi set ikona" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
|
||||||
"Izgled" END
|
"Izgled" END
|
||||||
|
|
||||||
"Izlaz" MENU
|
"Izlaz" MENU
|
||||||
|
|||||||
Binary file not shown.
@@ -88,9 +88,9 @@
|
|||||||
* // /usr/openwin/bin<69><6E><EFBFBD>Υե<CEA5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><C7A5>֥<EFBFBD><D6A5>˥塼<CBA5><E5A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* // /usr/openwin/bin<69><6E><EFBFBD>Υե<CEA5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><C7A5>֥<EFBFBD><D6A5>˥塼<CBA5><E5A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
* "XView apps" OPEN_MENU "/usr/openwin/bin"
|
* "XView apps" OPEN_MENU "/usr/openwin/bin"
|
||||||
* // <20>ۤʤ<DBA4><CAA4>ǥ<EFBFBD><C7A5>쥯<EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD>X11<31><31><EFBFBD>ץꥱ<D7A5><EAA5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD>
|
* // <20>ۤʤ<DBA4><CAA4>ǥ<EFBFBD><C7A5>쥯<EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD>X11<31><31><EFBFBD>ץꥱ<D7A5><EAA5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD>
|
||||||
* "X11 apps" OPEN_MENU /usr/X11/bin ~/bin/X11
|
* "X11 apps" OPEN_MENU /usr/X11/bin $HOME/bin/X11
|
||||||
* // <20>طʤβ<CAA4><CEB2><EFBFBD><EFBFBD>åȤ<C3A5><C8A4>롣
|
* // <20>طʤβ<CAA4><CEB2><EFBFBD><EFBFBD>åȤ<C3A5><C8A4>롣
|
||||||
* "<22>ط<EFBFBD>" OPEN_MENU ~/images /usr/share/images WITH wmsetbg -u -t
|
* "<22>ط<EFBFBD>" OPEN_MENU $HOME/images /usr/share/images WITH wmsetbg -u -t
|
||||||
* // style.menu<6E><75><EFBFBD><EFBFBD><EFBFBD>Ƥ<C6A4><F2A4B3A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>롣
|
* // style.menu<6E><75><EFBFBD><EFBFBD><EFBFBD>Ƥ<C6A4><F2A4B3A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>롣
|
||||||
* "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" OPEN_MENU style.menu
|
* "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" OPEN_MENU style.menu
|
||||||
* "<22>ƥ<EFBFBD><C6A5><EFBFBD>" END
|
* "<22>ƥ<EFBFBD><C6A5><EFBFBD>" END
|
||||||
@@ -168,9 +168,9 @@
|
|||||||
"<22><EFBFBD><EFA1BC><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD><DAA1><EFBFBD>" END
|
"<22><EFBFBD><EFA1BC><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD><DAA1><EFBFBD>" END
|
||||||
|
|
||||||
"<22><><EFBFBD><EFBFBD>" MENU
|
"<22><><EFBFBD><EFBFBD>" MENU
|
||||||
"<22>ơ<EFBFBD><C6A1><EFBFBD>" OPEN_MENU -noext THEMES_DIR ~/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
"<22>ơ<EFBFBD><C6A1><EFBFBD>" OPEN_MENU -noext THEMES_DIR $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle
|
||||||
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" OPEN_MENU -noext STYLES_DIR ~/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" OPEN_MENU -noext STYLES_DIR $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle
|
||||||
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" OPEN_MENU -noext ICON_SETS_DIR ~/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" OPEN_MENU -noext ICON_SETS_DIR $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons
|
||||||
"<22>ط<EFBFBD>" MENU
|
"<22>ط<EFBFBD>" MENU
|
||||||
"<22><><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD>" MENU
|
"<22><><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD>" MENU
|
||||||
"Black" WS_BACK '(solid, black)'
|
"Black" WS_BACK '(solid, black)'
|
||||||
@@ -186,10 +186,10 @@
|
|||||||
"Flag" WS_BACK '(mdgradient, green, red, white, green)'
|
"Flag" WS_BACK '(mdgradient, green, red, white, green)'
|
||||||
"Sky" WS_BACK '(vgradient, blue4, white)'
|
"Sky" WS_BACK '(vgradient, blue4, white)'
|
||||||
"<22><><EFBFBD><EFBFBD><EFBFBD>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" END
|
"<22><><EFBFBD><EFBFBD><EFBFBD>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" END
|
||||||
"<22><><EFBFBD><EFBFBD><E1A1BC>" OPEN_MENU -noext BACKGROUNDS_DIR ~/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
"<22><><EFBFBD><EFBFBD><E1A1BC>" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
|
||||||
"<22>ط<EFBFBD>" END
|
"<22>ط<EFBFBD>" END
|
||||||
"<22><><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD><C6A1>ޤȤ<DEA4><C8A4>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD>" EXEC getstyle -t ~/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
|
"<22><><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD><C6A1>ޤȤ<DEA4><C8A4>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD>" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
|
||||||
"<22><><EFBFBD>ߤΥ<DFA4><CEA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3BDB8A4><F2A5BBA1><EFBFBD>" EXEC geticonset ~/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
|
"<22><><EFBFBD>ߤΥ<DFA4><CEA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3BDB8A4><F2A5BBA1><EFBFBD>" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
|
||||||
"<22><><EFBFBD><EFBFBD>" END
|
"<22><><EFBFBD><EFBFBD>" END
|
||||||
|
|
||||||
"<22><>λ" MENU
|
"<22><>λ" MENU
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user