mirror of
https://github.com/openbsd/xenocara.git
synced 2025-12-12 20:29:12 +00:00
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@
This commit is contained in:
@@ -15,7 +15,7 @@
|
|||||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* 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 <sys/param.h>
|
#include <sys/param.h>
|
||||||
@@ -35,11 +35,11 @@
|
|||||||
|
|
||||||
Display *X_Dpy;
|
Display *X_Dpy;
|
||||||
|
|
||||||
Cursor Cursor_move;
|
|
||||||
Cursor Cursor_resize;
|
|
||||||
Cursor Cursor_select;
|
|
||||||
Cursor Cursor_default;
|
Cursor Cursor_default;
|
||||||
|
Cursor Cursor_move;
|
||||||
|
Cursor Cursor_normal;
|
||||||
Cursor Cursor_question;
|
Cursor Cursor_question;
|
||||||
|
Cursor Cursor_resize;
|
||||||
|
|
||||||
struct screen_ctx_q Screenq = TAILQ_HEAD_INITIALIZER(Screenq);
|
struct screen_ctx_q Screenq = TAILQ_HEAD_INITIALIZER(Screenq);
|
||||||
struct client_ctx_q Clientq = TAILQ_HEAD_INITIALIZER(Clientq);
|
struct client_ctx_q Clientq = TAILQ_HEAD_INITIALIZER(Clientq);
|
||||||
@@ -120,6 +120,12 @@ x_setup(void)
|
|||||||
struct keybinding *kb;
|
struct keybinding *kb;
|
||||||
int i;
|
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++) {
|
for (i = 0; i < ScreenCount(X_Dpy); i++) {
|
||||||
sc = xcalloc(1, sizeof(*sc));
|
sc = xcalloc(1, sizeof(*sc));
|
||||||
x_setupscreen(sc, i);
|
x_setupscreen(sc, i);
|
||||||
@@ -132,12 +138,6 @@ x_setup(void)
|
|||||||
*/
|
*/
|
||||||
TAILQ_FOREACH(kb, &Conf.keybindingq, entry)
|
TAILQ_FOREACH(kb, &Conf.keybindingq, entry)
|
||||||
conf_grab(&Conf, kb);
|
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
|
static void
|
||||||
@@ -179,11 +179,12 @@ x_setupscreen(struct screen_ctx *sc, u_int which)
|
|||||||
|
|
||||||
xu_setwmname(sc);
|
xu_setwmname(sc);
|
||||||
|
|
||||||
|
rootattr.cursor = Cursor_normal;
|
||||||
rootattr.event_mask = ChildMask|PropertyChangeMask|EnterWindowMask|
|
rootattr.event_mask = ChildMask|PropertyChangeMask|EnterWindowMask|
|
||||||
LeaveWindowMask|ColormapChangeMask|ButtonMask;
|
LeaveWindowMask|ColormapChangeMask|ButtonMask;
|
||||||
|
|
||||||
XChangeWindowAttributes(X_Dpy, sc->rootwin,
|
XChangeWindowAttributes(X_Dpy, sc->rootwin,
|
||||||
CWEventMask, &rootattr);
|
CWEventMask|CWCursor, &rootattr);
|
||||||
|
|
||||||
/* Deal with existing clients. */
|
/* Deal with existing clients. */
|
||||||
XQueryTree(X_Dpy, sc->rootwin, &w0, &w1, &wins, &nwins);
|
XQueryTree(X_Dpy, sc->rootwin, &w0, &w1, &wins, &nwins);
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* 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_
|
#ifndef _CALMWM_H_
|
||||||
@@ -473,11 +473,11 @@ char *xstrdup(const char *);
|
|||||||
/* Externs */
|
/* Externs */
|
||||||
extern Display *X_Dpy;
|
extern Display *X_Dpy;
|
||||||
|
|
||||||
extern Cursor Cursor_move;
|
|
||||||
extern Cursor Cursor_resize;
|
|
||||||
extern Cursor Cursor_select;
|
|
||||||
extern Cursor Cursor_default;
|
extern Cursor Cursor_default;
|
||||||
|
extern Cursor Cursor_move;
|
||||||
|
extern Cursor Cursor_normal;
|
||||||
extern Cursor Cursor_question;
|
extern Cursor Cursor_question;
|
||||||
|
extern Cursor Cursor_resize;
|
||||||
|
|
||||||
extern struct screen_ctx_q Screenq;
|
extern struct screen_ctx_q Screenq;
|
||||||
extern struct client_ctx_q Clientq;
|
extern struct client_ctx_q Clientq;
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* 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 <sys/param.h>
|
#include <sys/param.h>
|
||||||
@@ -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,
|
XFillRectangle(X_Dpy, sc->menuwin, sc->gc, 0,
|
||||||
font_height(sc) * mc->prev, mc->width, font_height(sc));
|
font_height(sc) * mc->prev, mc->width, font_height(sc));
|
||||||
if (mc->entry != -1) {
|
if (mc->entry != -1) {
|
||||||
xu_ptr_regrab(MenuGrabMask, Cursor_select);
|
xu_ptr_regrab(MenuGrabMask, Cursor_normal);
|
||||||
XFillRectangle(X_Dpy, sc->menuwin, sc->gc, 0,
|
XFillRectangle(X_Dpy, sc->menuwin, sc->gc, 0,
|
||||||
font_height(sc) * mc->entry, mc->width, font_height(sc));
|
font_height(sc) * mc->entry, mc->width, font_height(sc));
|
||||||
} else
|
} else
|
||||||
|
|||||||
Reference in New Issue
Block a user