aboutsummaryrefslogtreecommitdiffstats
path: root/calmwm.h
diff options
context:
space:
mode:
authorokan2009-05-17 23:40:57 +0000
committerokan2009-05-17 23:40:57 +0000
commita83ec02263f57eac22f091d37c7e678aed7b8d38 (patch)
tree4b34676783c097eb00c55658b30e6c56c0fc8267 /calmwm.h
parent915104a67e5e6fc2c55c6a44b9360c290ea2e61d (diff)
downloadcwm-a83ec02263f57eac22f091d37c7e678aed7b8d38.tar.gz
a long time coming - re-work the way we deal with colors: since we're
using Xft(3), use it to select the font color as well instead of trying to build one; properly allocate and free colors at-will, e.g. we now have configurable colors. feedback and ok's todd@ and oga@
Diffstat (limited to 'calmwm.h')
-rw-r--r--calmwm.h38
1 files changed, 31 insertions, 7 deletions
diff --git a/calmwm.h b/calmwm.h
index 1b19641..36ca0a6 100644
--- a/calmwm.h
+++ b/calmwm.h
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $Id: calmwm.h,v 1.87 2009/05/17 17:04:59 sthen Exp $
+ * $Id: calmwm.h,v 1.88 2009/05/17 23:40:57 okan Exp $
*/
#ifndef _CALMWM_H_
@@ -34,6 +34,21 @@
#define ButtonMask (ButtonPressMask|ButtonReleaseMask)
#define MouseMask (ButtonMask|PointerMotionMask)
+enum cwmcolor {
+ CWM_COLOR_BORDOR_ACTIVE,
+ CWM_COLOR_BORDER_INACTIVE,
+ CWM_COLOR_BORDER_GROUP,
+ CWM_COLOR_BORDER_UNGROUP,
+ CWM_COLOR_FG_MENU,
+ CWM_COLOR_BG_MENU,
+ CWM_COLOR_MAX
+};
+
+struct color {
+ unsigned long pixel;
+ char *name;
+};
+
struct client_ctx;
TAILQ_HEAD(cycle_entry_q, client_ctx);
@@ -44,10 +59,8 @@ struct screen_ctx {
u_int which;
Window rootwin;
Window menuwin;
- Colormap colormap;
- XColor bgcolor, fgcolor, fccolor, redcolor, graycolor,
- whitecolor, blackcolor;
- unsigned long blackpixl, whitepixl, redpixl, bluepixl, graypixl;
+
+ struct color color[CWM_COLOR_MAX];
GC gc;
int altpersist;
@@ -78,8 +91,8 @@ TAILQ_HEAD(screen_ctx_q, screen_ctx);
#define CLIENT_DOVMAXIMIZE 0x10
#define CLIENT_VMAXIMIZED 0x20
-#define CLIENT_HIGHLIGHT_BLUE 1
-#define CLIENT_HIGHLIGHT_RED 2
+#define CLIENT_HIGHLIGHT_GROUP 1
+#define CLIENT_HIGHLIGHT_UNGROUP 2
struct winname {
TAILQ_ENTRY(winname) entry;
@@ -259,6 +272,14 @@ struct conf {
#define CONF_MAMOUNT 1
int mamount;
+#define CONF_COLOR_ACTIVEBORDER "#CCCCCC"
+#define CONF_COLOR_INACTIVEBORDER "#666666"
+#define CONF_COLOR_GROUPBORDER "blue"
+#define CONF_COLOR_UNGROUPBORDER "red"
+#define CONF_COLOR_MENUFG "black"
+#define CONF_COLOR_MENUBG "white"
+ struct color color[CWM_COLOR_MAX];
+
char termpath[MAXPATHLEN];
char lockpath[MAXPATHLEN];
@@ -393,6 +414,8 @@ int xu_getprop(struct client_ctx *, Atom, Atom, long,
char *xu_getstrprop(struct client_ctx *, Atom atm);
void xu_setstate(struct client_ctx *, int);
int xu_getstate(struct client_ctx *, int *);
+unsigned long xu_getcolor(struct screen_ctx *, char *);
+void xu_freecolor(struct screen_ctx *, unsigned long);
int u_spawn(char *);
void u_exec(char *);
@@ -422,6 +445,7 @@ void conf_mouseunbind(struct conf *, struct mousebinding *);
void conf_grab_mouse(struct client_ctx *);
void conf_reload(struct conf *);
void conf_font(struct conf *);
+void conf_color(struct conf *);
void conf_init(struct conf *);
void conf_clear(struct conf *);
void conf_cmd_add(struct conf *, char *, char *, int);