59 |
59 |
60 /* enums */ |
60 /* enums */ |
61 enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */ |
61 enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */ |
62 enum { ColBorder, ColFG, ColBG, ColLast }; /* color */ |
62 enum { ColBorder, ColFG, ColBG, ColLast }; /* color */ |
63 enum { NetSupported, NetWMName, NetLast }; /* EWMH atoms */ |
63 enum { NetSupported, NetWMName, NetLast }; /* EWMH atoms */ |
64 enum { WMProtocols, WMDelete, WMName, WMState, WMLast };/* default atoms */ |
64 enum { WMProtocols, WMDelete, WMState, WMLast }; /* default atoms */ |
65 enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, |
65 enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, |
66 ClkClientWin, ClkRootWin, ClkLast }; /* clicks */ |
66 ClkClientWin, ClkRootWin, ClkLast }; /* clicks */ |
67 |
67 |
68 typedef union { |
68 typedef union { |
69 int i; |
69 int i; |
1324 updategeom(); |
1324 updategeom(); |
1325 |
1325 |
1326 /* init atoms */ |
1326 /* init atoms */ |
1327 wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False); |
1327 wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False); |
1328 wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False); |
1328 wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False); |
1329 wmatom[WMName] = XInternAtom(dpy, "WM_NAME", False); |
|
1330 wmatom[WMState] = XInternAtom(dpy, "WM_STATE", False); |
1329 wmatom[WMState] = XInternAtom(dpy, "WM_STATE", False); |
1331 netatom[NetSupported] = XInternAtom(dpy, "_NET_SUPPORTED", False); |
1330 netatom[NetSupported] = XInternAtom(dpy, "_NET_SUPPORTED", False); |
1332 netatom[NetWMName] = XInternAtom(dpy, "_NET_WM_NAME", False); |
1331 netatom[NetWMName] = XInternAtom(dpy, "_NET_WM_NAME", False); |
1333 |
1332 |
1334 /* init cursors */ |
1333 /* init cursors */ |
1632 } |
1631 } |
1633 |
1632 |
1634 void |
1633 void |
1635 updatetitle(Client *c) { |
1634 updatetitle(Client *c) { |
1636 if(!gettextprop(c->win, netatom[NetWMName], c->name, sizeof c->name)) |
1635 if(!gettextprop(c->win, netatom[NetWMName], c->name, sizeof c->name)) |
1637 gettextprop(c->win, wmatom[WMName], c->name, sizeof c->name); |
1636 gettextprop(c->win, XA_WM_NAME, c->name, sizeof c->name); |
1638 } |
1637 } |
1639 |
1638 |
1640 void |
1639 void |
1641 updatewmhints(Client *c) { |
1640 updatewmhints(Client *c) { |
1642 XWMHints *wmh; |
1641 XWMHints *wmh; |