mirror of
https://github.com/gryf/wmaker.git
synced 2026-02-11 19:25:49 +01:00
Initial revision
This commit is contained in:
102
WINGs/README
Normal file
102
WINGs/README
Normal file
@@ -0,0 +1,102 @@
|
||||
|
||||
WINGs - WINGs Is Not GNUstep
|
||||
|
||||
by
|
||||
|
||||
Alfredo Kengi Kojima
|
||||
|
||||
kojima@windowmaker.org
|
||||
|
||||
|
||||
WINGs is a small widget set with the N*XTSTEP look and feel. It's API
|
||||
is inspired in OpenStep and it's implementation borrows some ideas
|
||||
from Tk. It has a reasonable set of widgets, sufficient for building
|
||||
small applications (like a CDPlayer or hacking something like rxvt). It
|
||||
also has other functions that are usefull for applications, like a
|
||||
User Defaults like configuration manager and a notification system.
|
||||
|
||||
The library is limited and it's design is a little sloppy,
|
||||
so it's not intended to build large or complex applications, like
|
||||
anything more complex than a CDPlayer. GNUstep should be used for such
|
||||
applications.
|
||||
|
||||
Since WINGs is written in C and is sort of low-level it is small
|
||||
and faster than say, Motif or even Athena. Knowing Xlib will help you to
|
||||
workaround some of it's limitations, although you'll probably be able to
|
||||
write something like a trivial tic-tac-toe game without knowing much Xlib.
|
||||
|
||||
Some of it's functions are designed to support the WindowMaker window
|
||||
manager (see http://windowmaker.org) In fact, it's primary role is to
|
||||
support WindowMaker. All other uses of it are just an added bonus.
|
||||
|
||||
It will help you to understand the API if you read the ApplicationKit
|
||||
reference manual, distributed as a PDF by Apple. The function names,
|
||||
structs and most of the intrinsics are very close to OpenStep classes.
|
||||
|
||||
|
||||
Internationalization:
|
||||
---------------------
|
||||
|
||||
WINGs supports display of multibyte characters (kanji etc) without the
|
||||
to specify any flags (ie: there is no way to disable i18n support).
|
||||
Change ~/GNUstep/Defaults/WMGLOBAL to set the desired font set.
|
||||
|
||||
|
||||
Widgets provided by WINGs:
|
||||
--------------------------
|
||||
|
||||
- button (command button, radio, switch etc. - all buttons defined in OpenStep)
|
||||
- label
|
||||
- textfield
|
||||
- frame
|
||||
- window
|
||||
- popup menu button
|
||||
- scroller
|
||||
- selection list
|
||||
- browser
|
||||
- slider
|
||||
- scrollable view
|
||||
- color well
|
||||
- split view (only 2 subviews)
|
||||
|
||||
- input box
|
||||
- file panel
|
||||
- alert panel
|
||||
|
||||
Planned:
|
||||
--------
|
||||
|
||||
- selection (pasteboard like)
|
||||
- drag&drop
|
||||
|
||||
If you think you can code the following, please do. They are needed by
|
||||
WPrefs.app, but the number of other things I have to do is huge.
|
||||
|
||||
- color panel
|
||||
- font panel (the UI part is done. Might require a rewrite of the font list
|
||||
retrievel code. Might also require a WMFontManager)
|
||||
- input method support (XIM). I have no idea of how to code it. People who use
|
||||
different characters than ASCII will have trouble editing menus without it...
|
||||
|
||||
|
||||
Wish list: (I don't have the know-how or time to do them)
|
||||
---------------------------------------------------------
|
||||
|
||||
- text (with support for RTF)
|
||||
- matrix (like NSMatrix)
|
||||
- splitviews with more than 2 subviews
|
||||
- font manager (like NSFontManager)
|
||||
- finish file panel, open/save
|
||||
- finish other wigets
|
||||
- optimize list scrolling (XCopyArea() the area that's already drawn)
|
||||
- InterfaceMaker?
|
||||
- use XSetWMName and XSetWMIconName for the window/icon title setting.
|
||||
This requires transforming the received text to a text property with
|
||||
the proper encoding.
|
||||
|
||||
Copyright
|
||||
---------
|
||||
|
||||
WINGs is copyright (c) Alfredo K. Kojima and is licensed through the GNU
|
||||
Library General Public License (LGPL).
|
||||
|
||||
Reference in New Issue
Block a user