diff options
author | okan | 2013-06-17 17:11:10 +0000 |
---|---|---|
committer | okan | 2013-06-17 17:11:10 +0000 |
commit | 44880fc9e1b308e5fdd1070fbd2d7fd012b1dc75 (patch) | |
tree | 8c660ca028101e2dd039988fef2c9d08764e5f6b | |
parent | 99bf11e128ef433ba54ef1899d937d2f99f9069b (diff) | |
download | cwm-44880fc9e1b308e5fdd1070fbd2d7fd012b1dc75.tar.gz |
move Cursors into conf.
-rw-r--r-- | calmwm.c | 14 | ||||
-rw-r--r-- | calmwm.h | 19 | ||||
-rw-r--r-- | conf.c | 20 | ||||
-rw-r--r-- | menu.c | 9 | ||||
-rw-r--r-- | mousefunc.c | 6 | ||||
-rw-r--r-- | screen.c | 4 |
6 files changed, 42 insertions, 30 deletions
@@ -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. * - * $OpenBSD: calmwm.c,v 1.77 2013/06/17 14:08:51 okan Exp $ + * $OpenBSD: calmwm.c,v 1.78 2013/06/17 17:11:10 okan Exp $ */ #include <sys/param.h> @@ -38,12 +38,6 @@ char **cwm_argv; Display *X_Dpy; -Cursor Cursor_default; -Cursor Cursor_move; -Cursor Cursor_normal; -Cursor Cursor_question; -Cursor Cursor_resize; - struct screen_ctx_q Screenq = TAILQ_HEAD_INITIALIZER(Screenq); struct client_ctx_q Clientq = TAILQ_HEAD_INITIALIZER(Clientq); @@ -139,11 +133,7 @@ x_init(const char *dpyname) xu_getatoms(); - Cursor_default = XCreateFontCursor(X_Dpy, XC_X_cursor); - Cursor_move = XCreateFontCursor(X_Dpy, XC_fleur); - Cursor_normal = XCreateFontCursor(X_Dpy, XC_left_ptr); - Cursor_question = XCreateFontCursor(X_Dpy, XC_question_arrow); - Cursor_resize = XCreateFontCursor(X_Dpy, XC_bottom_right_corner); + conf_cursor(&Conf); for (i = 0; i < ScreenCount(X_Dpy); i++) screen_init(i); @@ -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. * - * $OpenBSD: calmwm.h,v 1.212 2013/06/10 21:37:30 okan Exp $ + * $OpenBSD: calmwm.h,v 1.213 2013/06/17 17:11:10 okan Exp $ */ #ifndef _CALMWM_H_ @@ -85,6 +85,15 @@ union arg { int i; }; +enum cursor_font { + CF_DEFAULT, + CF_MOVE, + CF_NORMAL, + CF_QUESTION, + CF_RESIZE, + CF_NITEMS +}; + enum color { CWM_COLOR_BORDER_ACTIVE, CWM_COLOR_BORDER_INACTIVE, @@ -294,6 +303,7 @@ struct conf { char known_hosts[MAXPATHLEN]; #define CONF_FONT "sans-serif:pixelsize=14:bold" char *font; + Cursor cursor[CF_NITEMS]; }; /* MWM hints */ @@ -437,6 +447,7 @@ void conf_bindname(struct conf *, char *, char *); void conf_clear(struct conf *); void conf_client(struct client_ctx *); void conf_cmd_add(struct conf *, char *, char *); +void conf_cursor(struct conf *); void conf_grab_kbd(Window); void conf_grab_mouse(Window); void conf_init(struct conf *); @@ -498,12 +509,6 @@ int xasprintf(char **, const char *, ...) /* Externs */ extern Display *X_Dpy; -extern Cursor Cursor_default; -extern Cursor Cursor_move; -extern Cursor Cursor_normal; -extern Cursor Cursor_question; -extern Cursor Cursor_resize; - extern struct screen_ctx_q Screenq; extern struct client_ctx_q Clientq; extern struct conf Conf; @@ -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. * - * $OpenBSD: conf.c,v 1.134 2013/06/17 00:57:47 okan Exp $ + * $OpenBSD: conf.c,v 1.135 2013/06/17 17:11:10 okan Exp $ */ #include <sys/param.h> @@ -625,6 +625,23 @@ conf_mouseunbind(struct conf *c, struct mousebinding *unbind) } } +static int cursor_binds[CF_NITEMS] = { + XC_X_cursor, /* CF_DEFAULT */ + XC_fleur, /* CF_MOVE */ + XC_left_ptr, /* CF_NORMAL */ + XC_question_arrow, /* CF_QUESTION */ + XC_bottom_right_corner, /* CF_RESIZE */ +}; + +void +conf_cursor(struct conf *c) +{ + u_int i; + + for (i = 0; i < nitems(cursor_binds); i++) + c->cursor[i] = XCreateFontCursor(X_Dpy, cursor_binds[i]); +} + void conf_grab_mouse(Window win) { @@ -647,4 +664,3 @@ conf_grab_kbd(Window win) TAILQ_FOREACH(kb, &Conf.keybindingq, entry) xu_key_grab(win, kb->modmask, kb->keysym); } - @@ -16,7 +16,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $OpenBSD: menu.c,v 1.65 2013/05/20 21:32:00 okan Exp $ + * $OpenBSD: menu.c,v 1.66 2013/06/17 17:11:10 okan Exp $ */ #include <sys/param.h> @@ -122,7 +122,8 @@ menu_filter(struct screen_ctx *sc, struct menu_q *menuq, char *prompt, XSelectInput(X_Dpy, sc->menuwin, evmask); XMapRaised(X_Dpy, sc->menuwin); - if (xu_ptr_grab(sc->menuwin, MENUGRABMASK, Cursor_question) < 0) { + if (xu_ptr_grab(sc->menuwin, MENUGRABMASK, + Conf.cursor[CF_QUESTION]) < 0) { XUnmapWindow(X_Dpy, sc->menuwin); return (NULL); } @@ -472,10 +473,10 @@ menu_handle_move(XEvent *e, struct menu_ctx *mc, struct menu_q *resultq) if (mc->prev != -1) menu_draw_entry(mc, resultq, mc->prev, 0); if (mc->entry != -1) { - (void)xu_ptr_regrab(MENUGRABMASK, Cursor_normal); + (void)xu_ptr_regrab(MENUGRABMASK, Conf.cursor[CF_NORMAL]); menu_draw_entry(mc, resultq, mc->entry, 1); } else - (void)xu_ptr_regrab(MENUGRABMASK, Cursor_default); + (void)xu_ptr_regrab(MENUGRABMASK, Conf.cursor[CF_DEFAULT]); if (mc->hasprompt) menu_draw_entry(mc, resultq, 1, 1); diff --git a/mousefunc.c b/mousefunc.c index 1b52433..1872aef 100644 --- a/mousefunc.c +++ b/mousefunc.c @@ -16,7 +16,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $OpenBSD: mousefunc.c,v 1.52 2013/05/20 20:21:04 okan Exp $ + * $OpenBSD: mousefunc.c,v 1.53 2013/06/17 17:11:10 okan Exp $ */ #include <sys/param.h> @@ -81,7 +81,7 @@ mousefunc_window_resize(struct client_ctx *cc, void *arg) client_raise(cc); client_ptrsave(cc); - if (xu_ptr_grab(cc->win, MOUSEMASK, Cursor_resize) < 0) + if (xu_ptr_grab(cc->win, MOUSEMASK, Conf.cursor[CF_RESIZE]) < 0) return; xu_ptr_setpos(cc->win, cc->geom.w, cc->geom.h); @@ -137,7 +137,7 @@ mousefunc_window_move(struct client_ctx *cc, void *arg) if (cc->flags & CLIENT_FREEZE) return; - if (xu_ptr_grab(cc->win, MOUSEMASK, Cursor_move) < 0) + if (xu_ptr_grab(cc->win, MOUSEMASK, Conf.cursor[CF_MOVE]) < 0) return; xu_ptr_getpos(cc->win, &px, &py); @@ -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. * - * $OpenBSD: screen.c,v 1.51 2013/05/20 20:21:04 okan Exp $ + * $OpenBSD: screen.c,v 1.52 2013/06/17 17:11:10 okan Exp $ */ #include <sys/param.h> @@ -57,7 +57,7 @@ screen_init(int which) group_init(sc); - rootattr.cursor = Cursor_normal; + rootattr.cursor = Conf.cursor[CF_NORMAL]; rootattr.event_mask = SubstructureRedirectMask|SubstructureNotifyMask| PropertyChangeMask|EnterWindowMask|LeaveWindowMask| ColormapChangeMask|BUTTONMASK; |