From 3e6eeaaf087fe881587a1a4a685fb1e460e76914 Mon Sep 17 00:00:00 2001 From: okan Date: Fri, 24 Jun 2011 06:52:23 +0000 Subject: add 'normal' cursor and shuffle the others we use to make a bit more sense and to be slightly less un-expected. from Alexander Polakov. re-use 'normal' cursor now instead XC_hand1 for menu selection. i really wish X had real docs and made sense. ok on earlier diff with '?' removed (but it's back now) oga@ --- calmwm.c | 23 ++++++++++++----------- calmwm.h | 8 ++++---- menu.c | 4 ++-- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/calmwm.c b/calmwm.c index 577ac8c..a519100 100644 --- a/calmwm.c +++ b/calmwm.c @@ -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.55 2011/06/24 05:58:51 okan Exp $ + * $OpenBSD: calmwm.c,v 1.56 2011/06/24 06:52:23 okan Exp $ */ #include @@ -35,11 +35,11 @@ Display *X_Dpy; -Cursor Cursor_move; -Cursor Cursor_resize; -Cursor Cursor_select; 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); @@ -120,6 +120,12 @@ x_setup(void) struct keybinding *kb; int i; + 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); + for (i = 0; i < ScreenCount(X_Dpy); i++) { sc = xcalloc(1, sizeof(*sc)); x_setupscreen(sc, i); @@ -132,12 +138,6 @@ x_setup(void) */ TAILQ_FOREACH(kb, &Conf.keybindingq, entry) conf_grab(&Conf, kb); - - Cursor_move = XCreateFontCursor(X_Dpy, XC_fleur); - Cursor_resize = XCreateFontCursor(X_Dpy, XC_bottom_right_corner); - Cursor_select = XCreateFontCursor(X_Dpy, XC_hand1); - Cursor_default = XCreateFontCursor(X_Dpy, XC_X_cursor); - Cursor_question = XCreateFontCursor(X_Dpy, XC_question_arrow); } static void @@ -179,11 +179,12 @@ x_setupscreen(struct screen_ctx *sc, u_int which) xu_setwmname(sc); + rootattr.cursor = Cursor_normal; rootattr.event_mask = ChildMask|PropertyChangeMask|EnterWindowMask| LeaveWindowMask|ColormapChangeMask|ButtonMask; XChangeWindowAttributes(X_Dpy, sc->rootwin, - CWEventMask, &rootattr); + CWEventMask|CWCursor, &rootattr); /* Deal with existing clients. */ XQueryTree(X_Dpy, sc->rootwin, &w0, &w1, &wins, &nwins); diff --git a/calmwm.h b/calmwm.h index bb6aa86..7f25c61 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. * - * $OpenBSD: calmwm.h,v 1.132 2011/06/24 06:09:26 okan Exp $ + * $OpenBSD: calmwm.h,v 1.133 2011/06/24 06:52:23 okan Exp $ */ #ifndef _CALMWM_H_ @@ -473,11 +473,11 @@ char *xstrdup(const char *); /* Externs */ extern Display *X_Dpy; -extern Cursor Cursor_move; -extern Cursor Cursor_resize; -extern Cursor Cursor_select; 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; diff --git a/menu.c b/menu.c index b2f980c..7987100 100644 --- a/menu.c +++ b/menu.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: menu.c,v 1.27 2011/05/11 13:53:51 okan Exp $ + * $OpenBSD: menu.c,v 1.28 2011/06/24 06:52:23 okan Exp $ */ #include @@ -405,7 +405,7 @@ menu_handle_move(XEvent *e, struct menu_ctx *mc, struct screen_ctx *sc) XFillRectangle(X_Dpy, sc->menuwin, sc->gc, 0, font_height(sc) * mc->prev, mc->width, font_height(sc)); if (mc->entry != -1) { - xu_ptr_regrab(MenuGrabMask, Cursor_select); + xu_ptr_regrab(MenuGrabMask, Cursor_normal); XFillRectangle(X_Dpy, sc->menuwin, sc->gc, 0, font_height(sc) * mc->entry, mc->width, font_height(sc)); } else -- cgit v1.2.3-2-gb3c3