Files
wmaker/WPrefs.app/WPrefs.h
T

175 lines
5.4 KiB
C
Raw Normal View History

1998-09-29 22:36:29 +00:00
/* WPrefs.h- general definitions
2004-10-12 21:28:27 +00:00
*
1998-10-21 14:43:47 +00:00
* WPrefs - Window Maker Preferences Program
2004-10-12 21:28:27 +00:00
*
2003-01-16 23:30:45 +00:00
* Copyright (c) 1998-2003 Alfredo K. Kojima
2004-10-12 21:28:27 +00:00
*
1998-09-29 22:36:29 +00:00
* 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.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
1998-09-29 22:36:29 +00:00
*/
#ifndef WPREFS_H_
#define WPREFS_H_
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
2011-03-24 16:07:20 +01:00
#include <strings.h>
1999-01-06 15:22:33 +00:00
#include <signal.h>
1998-09-29 22:36:29 +00:00
#include <X11/Xlib.h>
#include <wraster.h>
#include <WINGs/WINGs.h>
1998-09-29 22:36:29 +00:00
/* Needed for HAVE_LIBINTL_H and EXTENDED_WINDOWSHORTCUT */
#include "../src/wconfig.h"
/*
* The macro 'wlengthof' should be used as much as possible, this macro
* is reserved for the cases where wlengthof cannot be used because the
* static_assert. Typical symptom is this compiler error (gcc):
*
* error: braced-group within expression allowed only inside a function
*
* which appears when you try to create an array whose size is determined using
* wlengthof on some other array.
*/
#define wlengthof_nocheck(array) \
(sizeof(array) / sizeof(array[0]))
1999-01-06 15:22:33 +00:00
/****/
1999-04-12 04:54:50 +00:00
extern char *NOptionValueChanged;
extern Bool xext_xkb_supported;
1999-04-12 04:54:50 +00:00
1998-09-29 22:36:29 +00:00
typedef struct _Panel Panel;
typedef struct {
unsigned flags; /* reserved for WPrefs.c Don't access it */
2004-10-12 21:28:27 +00:00
1998-09-29 22:36:29 +00:00
void (*createWidgets)(Panel*); /* called when showing for first time */
void (*updateDomain)(Panel*); /* save the changes to the dictionary */
Bool (*requiresRestart)(Panel*); /* return True if some static option was changed */
void (*undoChanges)(Panel*); /* reset values to those in the dictionary */
void (*prepareForClose)(Panel*); /* called when exiting WPrefs */
2000-07-14 05:48:35 +00:00
void (*showPanel)(Panel*); /* called when entering the panel */
void (*hidePanel)(Panel*); /* called when exiting the panel */
1998-09-29 22:36:29 +00:00
} CallbackRec;
/* all Panels must start with the following layout */
typedef struct PanelRec {
WMBox *box;
1998-09-29 22:36:29 +00:00
char *sectionName; /* section name to display in titlebar */
1999-04-25 01:49:46 +00:00
char *description;
1998-09-29 22:36:29 +00:00
CallbackRec callbacks;
} PanelRec;
2013-05-10 18:35:43 +02:00
/* ---[ Wprefs.c ] ------------------------------------------------------- */
1999-01-06 15:22:33 +00:00
void AddSection(Panel *panel, const char *iconFile);
1998-09-29 22:36:29 +00:00
char *LocateImage(const char *name);
1998-09-29 22:36:29 +00:00
2014-01-31 20:07:56 +01:00
void SetButtonAlphaImage(WMScreen *scr, WMButton *bPtr, const char *file);
2000-09-24 02:31:58 +00:00
/* Loads `file' into `icon_normal'. If `icon_greyed' is not NULL,
* combine `icon_normal' with some grey and then optionally with image
* `xis', and store it in `icon_greyed' (typically to produce a
* greyed-out, red-crossed version of `icon_normal') */
void CreateImages(WMScreen *scr, RContext *rc, RImage *xis, const char *file,
WMPixmap **icon_normal, WMPixmap **icon_greyed);
2014-01-31 20:07:57 +01:00
WMWindow *GetWindow(void);
1998-09-29 22:36:29 +00:00
/* manipulate the dictionary for the WindowMaker domain */
WMPropList *GetObjectForKey(const char *defaultName);
1998-09-29 22:36:29 +00:00
void SetObjectForKey(WMPropList *object, const char *defaultName);
1998-09-29 22:36:29 +00:00
void RemoveObjectForKey(const char *defaultName);
1998-09-29 22:36:29 +00:00
char *GetStringForKey(const char *defaultName);
1998-09-29 22:36:29 +00:00
int GetIntegerForKey(const char *defaultName);
1998-09-29 22:36:29 +00:00
Bool GetBoolForKey(const char *defaultName);
1998-09-29 22:36:29 +00:00
int GetSpeedForKey(const char *defaultName);
1998-09-29 22:36:29 +00:00
void SetIntegerForKey(int value, const char *defaultName);
1998-09-29 22:36:29 +00:00
void SetStringForKey(const char *value, const char *defaultName);
1998-09-29 22:36:29 +00:00
void SetBoolForKey(Bool value, const char *defaultName);
1998-09-29 22:36:29 +00:00
void SetSpeedForKey(int speed, const char *defaultName);
1998-09-29 22:36:29 +00:00
1999-01-06 15:22:33 +00:00
/* ---[ KeyboardShortcuts.c ] -------------------------------------------- */
char *capture_shortcut(Display *dpy, Bool *capturing, Bool convert_case);
/* ---[ double.c ] ------------------------------------------------------- */
typedef struct W_DoubleTest DoubleTest;
DoubleTest *CreateDoubleTest(WMWidget *parent, const char *text);
2013-05-10 18:35:43 +02:00
/* ---[ main.c ] --------------------------------------------------------- */
1999-01-06 15:22:33 +00:00
void AddDeadChildHandler(pid_t pid, void (*handler)(void*), void *data);
/* ---[ xmodifier.c ] ---------------------------------------------------- */
int ModifierFromKey(Display * dpy, const char *key);
/* ---[ Panel Initializers ]---------------------------------------------- */
void Initialize(WMScreen *scr);
/* in alphabetical order - in case you'd want to add one */
Panel *InitAppearance(WMWidget *parent);
Panel *InitConfigurations(WMWidget *parent);
Panel *InitDocks(WMWidget *parent);
Panel *InitExpert(WMWidget *parent);
Panel *InitFocus(WMWidget *parent);
Panel *InitFontSimple(WMWidget *parent);
Panel *InitIcons(WMWidget *parent);
Panel *InitKeyboardShortcuts(WMWidget *parent);
Panel *InitMenu(WMWidget *parent);
Panel *InitMenuPreferences(WMWidget *parent);
Panel *InitMouseSettings(WMWidget *parent);
Panel *InitPaths(WMWidget *parent);
Panel *InitPreferences(WMWidget *parent);
Panel *InitWindowHandling(WMWidget *parent);
Panel *InitWorkspace(WMWidget *parent);
1998-09-29 22:36:29 +00:00
#define FRAME_TOP 105
2001-04-25 02:03:08 +00:00
#define FRAME_LEFT -2
#define FRAME_WIDTH 524
1998-09-29 22:36:29 +00:00
#define FRAME_HEIGHT 235
2010-04-11 21:12:01 +02:00
#endif /* WPREFS_H_ */
1998-09-29 22:36:29 +00:00