Laxkit Namespace Reference


Detailed Description

The mother of all Laxkit classes.


Classes

class  anObject
 Base class for all Laxkit objects. More...
class  namedObject
 Further base class for objects that need to have a name. More...
class  EventData
 Class for sending data messages between windows. More...
class  StrEventData
 A EventData with a new'd char[] (copied from nstr in constructor), since they are so common. More...
class  StrsEventData
 A EventData with a new'd char[][] (first element copied from nstr in constructor), since they are so common. More...
class  anXWindow
 This is the basic window unit for the Laxkit. More...
struct  TimerInfo
 The TimerInfo class is used with anXApp. More...
class  anXApp
 This class is the control unit for programs. More...
class  SquishyBox
 A box with x,y,w,h, prefered w/h, and allowable shrink and expand values for w/h. More...
class  RowColBox
 Divvies up the child boxes into multiple rows or columns. More...
class  TableData
 Class used internally for the data of tables, oddly enough. More...
class  TableBox
class  SelBox
 Adds id,info,state to SquishyBox. Used in BoxSelector. More...
class  BoxSelector
 Abstract base class for selectors based on boxed items. More...
class  Button
 Abstract base class for single buttons. More...
class  CheckBox
 Class for a single item checkbox. More...
class  ColorBox
 A control to select an RGBA color, with each mouse button corresponding to r, g, and b. More...
class  Displayer
 Somewhat of a graphics wrapper for Xlib graphics functions. More...
class  DoubleBBox
 Class with double minx,maxx,miny,maxy. More...
class  DoublePanner
 A PanController that uses doubles as a base. More...
class  FileDialog
 A dialog for selecting files. More...
class  FileMenuItem
 Sub class of MenuItem to read in directories only when needed. More...
class  FilePreviewer
 Previews images if possible, otherwise shows a snippet of text. More...
class  FontDialog
class  LaxFont
 A wrapper for Xlib fonts that contains various metric information. More...
class  FontManager
 The font manager used by anXApp to simplify keeping track of what fonts are loaded. More...
class  FuncFrame
 A frame window that uses rpn (reverse polish notation) expressions to define the subwindow positions and dimensions. More...
class  GoodEditWW
 *** please note this class is currently seriously broken *** Multiline edit with optional word wrap. More...
class  IconButton
 Simple class for a button that is an icon with optional label. Sends message when pressed. More...
class  IconMenuItem
 A MenuItem with an element for a LaxImage. More...
class  IconSlider
 Flip through a number of icons, 1 shown at a time. More...
class  ImageDialog
 Class to allow viewing and changing info related to an image. More...
class  ImageInfo
 Kind of a shell to hold various information about an image. More...
class  InputDialog
 Dialog to enter a single line of text, with optional 3 buttons. More...
class  ItemSlider
 Abstract base class for a kind of button that increments and decrements itself based on where the mouse is clicked. More...
class  LaxImage
 Abstraction around images. More...
class  LaxImlibImage
 A LaxImage based on Imlib_Images. More...
class  LayerPicker
 Pick layers by number. More...
class  LineEditLatin1
 A generic single line text edit. More...
class  LineEdit
 A generic single line text edit. More...
class  LineInput
 A LineEdit with a label. More...
class  LinkedList
 Independent node type for doubly linked lists. More...
class  PtrList
 A simple doubly linked list of pointers. More...
class  NumStack
 A generic stack for values (like int, double), not pointers. More...
class  PtrStack
 A generic stack for pointers (like anXWindow *, char *), not values. More...
class  MenuButton
 Simple class for a button pops up a menu instead of toggling itself in and out. More...
class  MenuItem
 Node type for MenuInfo. More...
class  MenuInfo
 General container for menu types of lists. More...
class  MenuSelector
 General list and menu controller. Base class for PopupMenu. More...
class  MessageBar
 A very basic text displayer window. Pass in a chunk of text and this window will display it. You can have multiple lines by putting '\n' characters in the text. More...
class  MessageBox
 Window that puts a message and buttons like OK or Cancel. More...
class  MultiLineEdit
 *** please note this class is currently seriously broken *** Multiline edit with optional word wrap. More...
class  NumInputSlider
 Like NumSlider, but on shift-LBDown lets you type in a value. More...
class  NumSlider
 A slider control specifically for selecting integer numbers within a range. More...
class  Overwrite
 Dialog to ask whether to overwrite something. More...
class  PaletteEntry
 Color instance type for Palette. More...
class  Palette
 A color palette. You can use a PaletteWindow to handle these. More...
class  PaletteWindow
 A window to handle Palette instances. More...
class  PanController
 A convenience for scroller types of things. More...
class  PanPopup
 Press this, and a little PanWindow pops up. More...
class  PanWindow
 Lets you drag a little rectangle around an image to select viewable area. More...
class  PanUser
 Brief class to provide useful stuff for elements that use a PanController. More...
class  PopupMenu
 Class for, of all things, popup menus. More...
class  PrintContext
class  PrintDialog
 (***rather hideous at the moment...) Dialog to get some sort of context for printing. More...
class  ProgressBar
 Where would we be without the ability to measure progress? More...
class  HistoryNode
 Node class for a stack of history for PromptEdit. More...
class  PromptEdit
 An editor for a command prompt. More...
class  QuickFileOpen
 A button with "..." on it that pops up a PopupMenu sporting a menu with FileMenuItem entries. More...
class  RefCounted
 Provides inc_count() and dec_count(). More...
class  RefPtrStack
 A RefPtrStack with refcounting elements. More...
struct  WinFrameBox
 Extends SquishyBox to store anXWindow for use in RowFrame. More...
class  RowFrame
 A frame that lays out in multiple rows or by columns, but only one control deep. More...
class  RulerWindow
 A ruler that tracks the mouse. More...
class  ScrolledWindow
 Class to have a window associated with a vertical and horizontal scroller. More...
class  Scroller
 A vertical or horizontal scroll bar, with optional zooming handles, and togglable arrow positions. More...
class  SimplePrint
 Simple dialog with option to print to file or via command. More...
class  SliderPopup
 Basically an extended IconSlider to include a popup MenuSelector. More...
class  PlainWinBox
 Basically a rectangle with a anXWindow. More...
class  WinFuncNode
class  SplitWindow
 A window with resizable panes than can be split and joined. More...
class  StrIconBox
 Internal node type for StrIconSelector. More...
class  StrIconSelector
 A selector using boxes with a label and/or an icon. More...
class  StrSlider
 A slider control that uses text strings for its items. More...
class  StrSliderPopup
 Aka a combo box, this basically extends StrSlider to include a popup MenuSelector. More...
class  TabBox
 Holds the icon and a pointer to the window for elements of a TabFrame. More...
class  TabFrame
 A frame to hold tabbed windows via TabBox objects. More...
class  TestWindow
 class to test out the PanController/ScrolledWindow functions. More...
class  TextButton
 A button with text in it. More...
class  TextEditBase
 A base class for text edits using Latin-1 character arrays. More...
class  TextEditBaseUtf8
 A base class for text edits using utf8 encoded character arrays. More...
class  TextXEditBase
 The window base class for text edits using Latin-1 characters. More...
class  TextXEditBaseUtf8
 The window base class for text edits using Latin-1 characters. More...
class  ToolTip
 The ToolTip class is used within anXApp. More...
class  XYMesBar
 Designed to display 2 numbers: "32,45" or "32x45". More...

Typedefs

typedef void(* ImageOutFunc )(LaxImage *image, anXWindow *win, int ulx, int uly)
 Simply oriented drawing of image to window.
typedef void(* ImageOutRotatedFunc )(LaxImage *image, anXWindow *win, int ulx, int uly, int urx, int ury)
 Drawing image to window with rotation and scaling.
typedef void(* ImageOutSkewedFunc )(LaxImage *image, anXWindow *win, int ulx, int uly, int urx, int ury, int llx, int lly)
 Drawing image to window with rotation, scaling, and skewing.
typedef int(* GeneratePreviewFunc )(const char *original, const char *preview, const char *format, int width, int height, int fit)
typedef LaxImage *(* LoadImageFunc )(const char *filename)
 The type of function that loads a file to a LaxImage. Defines load_image().
typedef LaxImage *(* LoadImageWithPreviewFunc )(const char *filename, const char *previewfile, int maxx, int maxy, char delpreview)
 Loads an image, using a preview image.
typedef int(* CompareFunc )(const char *s1, const char *s1)
typedef int(* DeleteRefCountedFunc )(RefCounted *obj)
 The type of function in a RefCounted object optionally called on count reaching 0.
typedef anXWindow *(* NewWindowFunc )(anXWindow *parnt, const char *ntitle, unsigned long style)
 Function that returns a new window. Used in SplitWindow.

Enumerations

enum  TabFrameStyle {
  TabFrame_Top = (1<<16), TabFrame_Bottom = (1<<17), TabFrame_Right = (1<<18), TabFrame_Left = (1<<19),
  TabFrame_Stretch = (1<<20), TabFrame_Pile = (1<<21)
}

Functions

int eventscreen (int e_type, unsigned long mask)
 Check to see if some kinds of event types are in mask, and so allow them through.
const char * event_name (int e_type)
int IsWindowChild (anXWindow *top, anXWindow *check)
 Check if a window (check) is the same as or is descended from another (top).
anXWindowTopWindow (anXWindow *win)
 Return the top level window that win is somewhere nested within.
anXWindowfindsubwindow (anXWindow *w, Window win)
 Find the anXWindow having win, and ancestor w.
void printxcrossing (anXWindow *win, XEvent *e)
 cerr an XCrossingEvent. This is used in debugging mode..
unsigned int filterkeysym (KeySym keysym, unsigned int *state)
 Converts an Xlib keysym to a Laxkit key value.
unsigned int composekey (unsigned int k1, unsigned int k2)
 From 2 keys, typically an ascii key and a dead key, compose another.
int rgb_to_cmyk (int r, int g, int b, int *c, int *m, int *y, int *k, int max)
int cmyk_to_rgb (int c, int m, int y, int k, int *r, int *g, int *b, int max)
void mapname (char *buf, int m)
void dab ()
static int lark_position (const char *str, int *c)
const char * str_from_id (int id)
 Return pointer to string associated with id, or NULL if none.
int id_from_str (const char *str, char createifabsent)
 Return the id associated with str.
int _laximlib_generate_preview (const char *original, const char *preview, const char *format, int width, int height, int fit)
 Generate a preview image. Return 0 for success.
void _laximlib_image_out (LaxImage *image, anXWindow *win, int ulx, int uly)
void _laximlib_image_out_rotated (LaxImage *image, anXWindow *win, int ulx, int uly, int urx, int ury)
void _laximlib_image_out_skewed (LaxImage *image, anXWindow *win, int ulx, int uly, int urx, int ury, int llx, int lly)
LaxImage_load_imlib_image (const char *filename)
 Function that returns a new LaxImlibImage.
LaxImage_load_imlib_image_with_preview (const char *filename, const char *previewfile, int maxx, int maxy, char del)
 Function that returns a new LaxImlibImage with preview.
void printximageinfo (XImage *x)
 Print to stdout what properties the XImage has. This is mainly for debugging.
XImage * png_to_ximage (Display *dpy, Visual *vis, char *filename, XImage **alpha)
 Create an XImage from a file.
void InitLaxImlib ()
 Initialize Imlib2 using settings in anXApp::app.
int getextent_latin1 (const char *str, int *ex, int *ey, int *fasc, int *fdes, char r)
 Find the text extent with the default font on the default graphics context.
int textout_latin1 (Drawable drawable, const char *thetext, int len, int x, int y, unsigned long align)
 Write some text out with the default latin-1 font. Uses foreground color only.
int getextent (const char *str, int len, int *ex, int *ey, int *fasc, int *fdes, char r)
 Find the text extent with the default font for the given utf8 text.
int textout (Drawable drawable, const char *thetext, int len, int x, int y, unsigned long align)
 Write some utf8 text out with the default LaxFont. Uses foreground color only.
void get_placement (LaxImage *image, const char *label, int gap, unsigned int how, int *w, int *h, int *tx, int *ty, int *ix, int *iy)
 Figure out the extent and placement of an image and a label.
unsigned long screen_color_at_mouse ()
 Return the screen pixel color underneath the mouse.
int mouseisin (anXWindow *win)
 Return whether the mouse is within the bounds of win.
Window mouseposition (int *x, int *y, unsigned int *state, anXWindow **child, Window *childw)
 Find the window the mouse is finally in.
int mouseposition (anXWindow *win, int *x, int *y, unsigned int *state, anXWindow **child, Window *childw)
 Find the mouse x,y in win coordinates, also return the pointer mask, and what child it is in if any.
int xmouseposition (Window xwin, int *x, int *y, unsigned int *state, Window *childw)
 Find the mouse x,y in xwin coordinates, also return the pointer mask, and what child it is in if any.
void drawbevel (anXWindow *win, int bevel, unsigned long highlight, unsigned long shadow, int state, int x, int y, int w, int h)
 Draw a bevel within x,y,w,h. Draws state== LAX_OFF=not pressed, LAX_ON=pressed.
void drawthing (Drawable w, GC gc, int x, int y, int rx, int ry, int fill, int t)
 Draw a little graphic with current foreground and line width.
void drawthing (Drawable w, GC gc, int x, int y, int rx, int ry, int t, unsigned long fg, unsigned long bg)
 Draw a thing with outline color fg, and insides color bg.
XRenderColor * coloravg (XRenderColor *result, XRenderColor *a, XRenderColor *b, float r)
 result=a*(1-r)+b*r. Returns result.
unsigned long pixelfromcolor (XRenderColor *col)
 Return something suitable for Xlib's XSetForeground(). Ignores alpha.
XImage * xpmfiletoximages (const char *filename, int depth, XImage **clipmask)
 Create an XImage of the image and clipmask for the xpm in filename with depth depth.
Pixmap xpmfiletopixmaps (const char *filename, Drawable d, Pixmap *clipmask, int *width, int *height)
 Convert xpm file filename to Pixmaps for the image and the clipmask, syncing with d.
void printxpm (const char *filename)
 Print to stdout the contents of filename.
Cursor xpmfiletocursor (anXWindow *win, const char *filename)
 Create a cursor from the xpm file filename.
template<class T>
T *LinkedList< T > disconnectNode ()
 If this is part of a list, then remove it.
void menuinfoDump (MenuInfo *menu)
int reversestrcmp (const char *s1, const char *s2)
int reversestrcasecmp (const char *s1, const char *s2)
int strcmp123 (const char *s1, const char *s2)
int strcmp321 (const char *s1, const char *s2)
unsigned long getUniqueNumber ()
 Return a unique unsigned long.
PaletterainbowPalette (int w, int h, int max)
const char * tbutnames (unsigned int which)
void dumpctm (double *d)
 Write out the transform d to cout, or to cerr if DBG is enabled.
double * transform_identity (double *result)
 Return identity matrix. If result==NULL, then return a new'd double[6].
double * transform_invert (double *result, const double *m)
 Invert m into result. If result==NULL, then return a new double[6].
double * transform_mult (double *result, const double *m, const double *n)
 Multiply 2 6 member transform arrays: result = m x n, with matrix aligned as in discussion for DoublePanner.
double * transform_rotate (double *m, double angle)
 Rotate m by angle. If m==NULL, then return a new'd double[6] with rotation angle.
double * transform_from_basis (double *result, flatpoint o, flatpoint x, flatpoint y)
 Find a transform from the given flat basis. Return new double[6] if result==NULL.
void transform_to_basis (double *m, flatpoint *o, flatpoint *x, flatpoint *y)
 Decompose a transform to an origin, x axis, and y axis.
double * transform_from_basics (double *result, double x, double y, double sx, double sy, double angle, double shear)
 ***imp me! Compose a transform from a position, x scale, y scale, rotation, and (x) shear.
void transform_to_basics (double *m, double *x, double *y, double *sx, double *sy, double *angle, double *shear)
 ***imp me! Decompose a transform to a position, x scale, y scale, rotation, and (x) shear.
double * transform_set (double *m, double a, double b, double c, double d, double x0, double y0)
 Simple set m[]={a,b,c,d,x0,y0}.
void transform_copy (double *dest, const double *src)
 Simple copy transform dest[0..5]=src[0..5]. dest and src must both exist.
flatpoint transform_point_inverse (double *m, flatpoint p)
 Return point p transformed by the inverse of matrix m. newpoint=[x,y,1]*m^-1.
flatpoint transform_point (double *m, double x, double y)
 Return point p transformed by matrix m. newpoint=[x,y,1]*m.
flatpoint transform_point (double *m, flatpoint p)
 Return point p transformed by matrix m. newpoint=[p.x,p.y,1]*m.
flatpoint transform_vector (double *m, flatpoint p)
 Return vector p transformed by matrix m. newpoint=[p.x,p.y,0]*m. Basically rotate+scale+shear, no translate.
double * transform_from_3x3_fixed (double *result, int M[3][3])
 Create as possible an affine transform from M, which has 16.16 fixed point elements.
void transform_to_3x3_fixed (int M[3][3], double *m)
 Fill result with the affine transform m.
unsigned utf8decode (const char *p, const char *end, int *len)
const char * utf8fwd (const char *p, const char *start, const char *end)
const char * utf8back (const char *p, const char *start, const char *end)
int utf8bytes (unsigned ucs)
int utf8encode (unsigned ucs, char *buf)
unsigned utf8towc (const char *src, unsigned srclen, wchar_t *dst, unsigned dstlen)
unsigned utf8toa (const char *src, unsigned srclen, char *dst, unsigned dstlen)
unsigned utf8fromwc (char *dst, unsigned dstlen, const wchar_t *src, unsigned srclen)
unsigned utf8froma (char *dst, unsigned dstlen, const char *src, unsigned srclen)
int utf8locale ()
unsigned utf8tomb (const char *src, unsigned srclen, char *dst, unsigned dstlen)
unsigned utf8frommb (char *dst, unsigned dstlen, const char *src, unsigned srclen)
int utf8test (const char *src, unsigned srclen)

Variables

static struct tms tmsstruct
static const char compose_pairs []
static const char dead_keys []
static const char hexdigits [17] = "0123456789ABCDEF"
static PtrStack< char > lax_larks (2)
static NumStack< int > lark_alpha_sorted
ImageOutFunc image_out = _laximlib_image_out
 The default image to window drawing function.
ImageOutRotatedFunc image_out_rotated = _laximlib_image_out_rotated
 The default image to window drawing function with rotation and scaling.
ImageOutSkewedFunc image_out_skewed = _laximlib_image_out_skewed
 The default image to window drawing function with skewing.
LoadImageFunc load_image = _load_imlib_image
 The default image loading function. Sets up for imlib images...
LoadImageWithPreviewFunc load_image_with_preview = _load_imlib_image_with_preview
GeneratePreviewFunc generate_preview_image = _laximlib_generate_preview
 The base preview creator.
ImageOutFunc image_out
 The default image to window drawing function.
ImageOutRotatedFunc image_out_rotated
 The default image to window drawing function with rotation and scaling.
ImageOutSkewedFunc image_out_skewed
 The default image to window drawing function with skewing.
GeneratePreviewFunc generate_preview_image
 The base preview creator.
LoadImageFunc load_image
 The default image loading function. Sets up for imlib images...
LoadImageWithPreviewFunc load_image_with_preview
DeleteRefCountedFunc defaultDeleteRefCountedFunc = NULL
const char hexdigits [17] = "0123456789ABCDEF"
const char hexdigits [17] = "0123456789abcdef"
static unsigned short cp1252 [32]


Typedef Documentation

void Laxkit::ImageOutFunc
 

Simply oriented drawing of image to window.

Draw an image with upper left corner at window coordinates (ulx,uly). Positive y is down.

void Laxkit::ImageOutRotatedFunc
 

Drawing image to window with rotation and scaling.

Draw an image so that the upper left and right corners are at (ulx,uly) and (ulx+urx,uly+ury).

void Laxkit::ImageOutSkewedFunc
 

Drawing image to window with rotation, scaling, and skewing.

Draw an image so that the upper left and right corners are at (ulx,uly) and (ulx+urx,uly+ury), and the lower left corner is at (ulx+llx,uly+lly).

LaxImage *(* Laxkit::LoadImageWithPreviewFunc)(const char *filename, const char *pfile, int maxx, int maxy, char delpreview)
 

Loads an image, using a preview image.

If delpreview, then when the LaxImage is destroyed, the file at LaxImage::previewfile is deleted. Note that if an already existing preview is used (that is, no new one is generated), then delpreview reverts to 0, and the already existing preview is untouched in the destructor.


Function Documentation

int Laxkit::_laximlib_generate_preview const char *  original,
const char *  preview,
const char *  format,
int  width,
int  height,
int  fit
 

Generate a preview image. Return 0 for success.

WARNING: this does no sanity checking on file names, and will force an overwrite. It is the responsibility of the calling code to do those things, and to ensure that preview is in fact a writable path.

Todo:
*** afterwards, make sure preview was actually written

unsigned int Laxkit::composekey unsigned int  k1,
unsigned int  k2
 

From 2 keys, typically an ascii key and a dead key, compose another.

If k1 and k2 are not deadkeys and k1 and k2 are greater than 127, then 0 is returned.

If k2==0, then try to find a compose code for k1 on its own. In this case, if none is found, 0 is returned.

If both k1 and k2 are valid keys, and if the combination is not recognized, then k2 is returned.

This is used by anXWindow::CharInput().

void Laxkit::dab  ) 
 

this empty function is for debugging purposes to allow breakpoints for the debugger to be encountered at strange places during program execution...

template<class T>
T* LinkedList<T> Laxkit::disconnectNode  ) 
 

If this is part of a list, then remove it.

Connects prev_node to next_node if possible. Returns prev_node if it exists, or next_node otherwise. prev_node and next_node get set to NULL.

int Laxkit::eventscreen int  e_type,
unsigned long  mask
 

Check to see if some kinds of event types are in mask, and so allow them through.

Note that only KeyPress/KeyRelease/ButtonPress/ButtonRelease/MotionNotify/Enter/Leave/FocusIn/Out GraphicsExpose/Expose events are screened. All others pass right through.

Returns nonzero for allow event (not matched in mask), zero for reject event

unsigned int Laxkit::filterkeysym KeySym  keysym,
unsigned int *  state
 

Converts an Xlib keysym to a Laxkit key value.

This is called when Xutf8LookupString() returns a keysym but no buffer data. It is then assumed that the keysym corresponds to some control or function key.

If the keysym corresponds directly to a UCS value, then that value is returned. This happens when the keysym>0x01000000. The UCS value is then keysym&0x00ffffff.

If a keypad key is detected, then state is modified to have KeypadMask set.

Todo:
If the keysym corresponds to any of the keys in laxdefs.h, then it is mapped to those values. Otherwise...? CharInput() says if the returned value is > 0x1000000, then it is either a Laxkit value, or the X keysym plus 0x1000000, which is not quite how it is coded right now. need to check if the keysym can still be converted to a unicode value. keysyms correspond pretty well to it, and should have been converted to the buffer is event() if so, but not sure of that.

anXWindow * Laxkit::findsubwindow anXWindow *  w,
Window  win
 

Find the anXWindow having win, and ancestor w.

called from a loop over topwindows in run.

Perhaps this should be a window function?

int Laxkit::id_from_str const char *  str,
char  createifabsent = 0
 

Return the id associated with str.

If createifabsent!=0 and str is not known, then a new association is added, and the new id is returned.

If createifabsent==0 and the string is not known, then 0 is returned. No string can have 0 associated with it.

Todo:
*** make threadsafe

static int Laxkit::lark_position const char *  str,
int *  c
[static]
 

Return the index in the lark_alpha_sorted stack that str would be found. If str is not there, then c is filled with that position in lark_alpha_sorted that the id of the lark must be pushed into.

Todo:
make this faster via binary search

void Laxkit::mapname char *  buf,
int  m
 

Todo:
be ablte use control, meta, and alt?

const char * Laxkit::str_from_id int  id  ) 
 

Return pointer to string associated with id, or NULL if none.

Yes, lark is a take off on Glib's quarks: Laxkit+quARK.

Laxkit maintains a hash of strings and associated ids, that can be used as a shortcut for checking string equality for commonly used strings.

Todo:
*** these ultimately will replace X Atoms for the basic message types. Using X Atoms leaves lots of silly residue in the X server after programs end.

*** make threadsafe

double * Laxkit::transform_from_3x3_fixed double *  result,
int  M[3][3]
 

Create as possible an affine transform from M, which has 16.16 fixed point elements.

If result is NULL, then create and return a new double[6].

This is mainly to assist in using XTransform in the XRender extension, which allows full 3x3 transformations.

      [ a  b  0 ]
    M=[ c  d  0 ]  --> [a b c d tx ty]
      [ tx ty 1 ]
 

void Laxkit::transform_to_3x3_fixed int  M[3][3],
double *  m
 

Fill result with the affine transform m.

Note that if result is NULL, you will crash your program.


Variable Documentation

const char Laxkit::dead_keys[] [static]
 

Initial value:

 {
  '`',  
  '\'', 
  '^',  
  '~',  
  '-',  
  'u',  
  '.',  
  ':',  
  '*',  
  '"',  
  'v',  
  ',',  
  ','   




}


Tue Nov 6 08:47:49 2007, Laxkit