---
dwm.c | 21 ++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/dwm.c b/dwm.c
index d9443da..3ad3bf2 100644
--- a/dwm.c
+++ b/dwm.c
_AT_@ -33,6 +33,7 @@
#include <X11/cursorfont.h>
#include <X11/keysym.h>
#include <X11/Xatom.h>
+#include <X11/XKBlib.h>
#include <X11/Xlib.h>
#include <X11/Xproto.h>
#include <X11/Xutil.h>
_AT_@ -1080,7 +1081,7 @@ keypress(XEvent *e) {
XKeyEvent *ev;
ev = &e->xkey;
- keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0);
+ keysym = XkbKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0, 0);
for(i = 0; i < LENGTH(keys); i++)
if(keysym == keys[i].keysym
&& CLEANMASK(keys[i].mod) == CLEANMASK(ev->state)
_AT_@ -1413,6 +1414,20 @@ resizemouse(const Arg *arg) {
focus(NULL);
}
}
+void
+setwmname(const char *name) {
+ Window wincheck = XCreateSimpleWindow(dpy, root, -10, -10, 5, 5, 0, 0, 0);
+
+ if(wincheck != None) {
+ Atom m_net_supporting_wm_check = XInternAtom(dpy, "_NET_SUPPORTING_WM_CHECK", False);
+ Atom utf8_string = XInternAtom(dpy, "UTF8_STRING", False);
+
+ XChangeProperty(dpy, root, m_net_supporting_wm_check, XA_WINDOW, 32, PropModeReplace, (unsigned char *)&wincheck, 1);
+ XChangeProperty(dpy, wincheck, m_net_supporting_wm_check, XA_WINDOW, 32, PropModeReplace, (unsigned char *)&wincheck, 1);
+ XChangeProperty(dpy, wincheck, netatom[NetWMName], utf8_string, 8, PropModeReplace, (unsigned char *)name, strlen(name));
+ }
+}
+
void
restack(Monitor *m) {
_AT_@ -1615,6 +1630,7 @@ setup(void) {
netatom[NetWMWindowType] = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE", False);
netatom[NetWMWindowTypeDialog] = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_DIALOG", False);
netatom[NetClientList] = XInternAtom(dpy, "_NET_CLIENT_LIST", False);
+ setwmname("LG3D");
/* init cursors */
cursor[CurNormal] = XCreateFontCursor(dpy, XC_left_ptr);
cursor[CurResize] = XCreateFontCursor(dpy, XC_sizing);
_AT_@ -1626,6 +1642,9 @@ setup(void) {
dc.sel[ColBorder] = getcolor(selbordercolor);
dc.sel[ColBG] = getcolor(selbgcolor);
dc.sel[ColFG] = getcolor(selfgcolor);
+ dc.urg[ColBorder] = getcolor(urgbordercolor);
+ dc.urg[ColBG] = getcolor(selbgcolor);
+ dc.urg[ColFG] = getcolor(selfgcolor);
dc.drawable = XCreatePixmap(dpy, root, DisplayWidth(dpy, screen), bh, DefaultDepth(dpy, screen));
dc.gc = XCreateGC(dpy, root, 0, NULL);
XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter);
--
1.8.0
Received on Tue Dec 11 2012 - 09:35:12 CET
This archive was generated by hypermail 2.3.0 : Tue Dec 11 2012 - 09:48:04 CET