Introduction
Introduction Statistics Contact Development Disclaimer Help
dwm-defaulttransparency-r1521.diff - sites - public wiki contents of suckless.o…
git clone git://git.suckless.org/sites
Log
Files
Refs
---
dwm-defaulttransparency-r1521.diff (3238B)
---
1 diff -r 53d98940cb04 config.def.h
2 --- a/config.def.h Fri Jun 04 11:41:16 2010 +0100
3 +++ b/config.def.h Sun Jun 06 22:48:32 2010 +0200
4 @@ -12,14 +12,16 @@
5 static const unsigned int snap = 32; /* snap pixel */
6 static const Bool showbar = True; /* False means no bar */
7 static const Bool topbar = True; /* False means bottom b…
8 +static const double defaultopacity = 0.75;
9 @@ -52,6 +54,9 @@
10 /* modifier key function argu…
11 { MODKEY, XK_p, spawn, {.v …
12 { MODKEY|ShiftMask, XK_Return, spawn, {.v …
13 + { MODKEY|ShiftMask, XK_s, spawn, …
14 + { MODKEY|ShiftMask, XK_d, spawn, …
15 + { MODKEY|ShiftMask, XK_f, spawn, …
16 { MODKEY, XK_b, togglebar, {0} …
17 { MODKEY, XK_j, focusstack, {.i …
18 { MODKEY, XK_k, focusstack, {.i …
19 diff -r 53d98940cb04 dwm.c
20 --- a/dwm.c Fri Jun 04 11:41:16 2010 +0100
21 +++ b/dwm.c Sun Jun 06 22:48:32 2010 +0200
22 @@ -58,7 +58,7 @@
23 enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */
24 enum { ColBorder, ColFG, ColBG, ColLast }; /* color */
25 enum { NetSupported, NetWMName, NetWMState,
26 - NetWMFullscreen, NetLast }; /* EWMH atoms */
27 + NetWMFullscreen, NetLast, NetWMWindowsOpacity }; /* EWMH atoms */
28 enum { WMProtocols, WMDelete, WMState, WMLast }; /* default atom…
29 enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle,
30 ClkClientWin, ClkRootWin, ClkLast }; /* clicks */
31 @@ -179,6 +179,7 @@
32 static void drawtext(const char *text, unsigned long col[ColLast], Bool…
33 static void enternotify(XEvent *e);
34 static void expose(XEvent *e);
35 +static void opacity(Client *c, double opacity);
36 static void focus(Client *c);
37 static void focusin(XEvent *e);
38 static void focusmon(const Arg *arg);
39 @@ -816,6 +817,18 @@
40 }
41
42 void
43 +opacity(Client *c, double opacity)
44 +{
45 + if(opacity >= 0 && opacity <= 1) {
46 + unsigned long real_opacity[] = { opacity * 0xffffffff };
47 + XChangeProperty(dpy, c->win, netatom[NetWMWindowsOpacit…
48 + 32, PropModeReplace, (unsigned char *)r…
49 + 1);
50 + } else
51 + XDeleteProperty(dpy, c->win, netatom[NetWMWindowsOpacit…
52 +}
53 +
54 +void
55 focus(Client *c) {
56 if(!c || !ISVISIBLE(c))
57 for(c = selmon->stack; c && !ISVISIBLE(c); c = c->snext…
58 @@ -1104,6 +1117,7 @@
59 *c = cz;
60 c->win = w;
61 updatetitle(c);
62 + opacity(c, defaultopacity);
63 if(XGetTransientForHint(dpy, w, &trans))
64 t = wintoclient(trans);
65 if(t) {
66 @@ -1539,6 +1553,7 @@
67 netatom[NetWMName] = XInternAtom(dpy, "_NET_WM_NAME", False);
68 netatom[NetWMState] = XInternAtom(dpy, "_NET_WM_STATE", False);
69 netatom[NetWMFullscreen] = XInternAtom(dpy, "_NET_WM_STATE_FULL…
70 + netatom[NetWMWindowsOpacity] = XInternAtom(dpy, "_NET_WM_WINDOW…
71 /* init cursors */
72 cursor[CurNormal] = XCreateFontCursor(dpy, XC_left_ptr);
73 cursor[CurResize] = XCreateFontCursor(dpy, XC_sizing);
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.