sites

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 0a3b02016e763df15efad5a3792df07882dec2bc
parent acde9cf323ada48ed5c0bc400c26152a1c4f462c
Author: Christoph Lohmann <20h@r-36.net>
Date:   Sun, 26 Feb 2012 12:52:05 +0100

Reducing dependency on r-36.net.
Diffstat:
Mdwm.suckless.org/patches/defaulttransparency.md | 3++-
Adwm.suckless.org/patches/dwm.defaultopacity.patch | 73+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 75 insertions(+), 1 deletion(-)

diff --git a/dwm.suckless.org/patches/defaulttransparency.md b/dwm.suckless.org/patches/defaulttransparency.md @@ -15,7 +15,8 @@ It is based on the transparency patch of Stefan Mark. ## Download - * [dwm.defaultopacity.patch](http://www.r-36.net/src/tmp/dwm.defaultopacity.patch) latest patch (against r1521) + * [dwm.defaultopacity.patch](http://dwm.suckless.org/patches/defaulttransparency) + latest patch (against r1521) ## Author diff --git a/dwm.suckless.org/patches/dwm.defaultopacity.patch b/dwm.suckless.org/patches/dwm.defaultopacity.patch @@ -0,0 +1,73 @@ +diff -r 53d98940cb04 config.def.h +--- a/config.def.h Fri Jun 04 11:41:16 2010 +0100 ++++ b/config.def.h Sun Jun 06 22:48:32 2010 +0200 +@@ -12,14 +12,16 @@ + static const unsigned int snap = 32; /* snap pixel */ + static const Bool showbar = True; /* False means no bar */ + static const Bool topbar = True; /* False means bottom bar */ ++static const double defaultopacity = 0.75; +@@ -52,6 +54,9 @@ + /* modifier key function argument */ + { MODKEY, XK_p, spawn, {.v = dmenucmd } }, + { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, ++ { MODKEY|ShiftMask, XK_s, spawn, SHCMD("transset-df -a --dec .1") }, ++ { MODKEY|ShiftMask, XK_d, spawn, SHCMD("transset-df -a --inc .1") }, ++ { MODKEY|ShiftMask, XK_f, spawn, SHCMD("transset-df -a .75") }, + { MODKEY, XK_b, togglebar, {0} }, + { MODKEY, XK_j, focusstack, {.i = +1 } }, + { MODKEY, XK_k, focusstack, {.i = -1 } }, +diff -r 53d98940cb04 dwm.c +--- a/dwm.c Fri Jun 04 11:41:16 2010 +0100 ++++ b/dwm.c Sun Jun 06 22:48:32 2010 +0200 +@@ -58,7 +58,7 @@ + enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */ + enum { ColBorder, ColFG, ColBG, ColLast }; /* color */ + enum { NetSupported, NetWMName, NetWMState, +- NetWMFullscreen, NetLast }; /* EWMH atoms */ ++ NetWMFullscreen, NetLast, NetWMWindowsOpacity }; /* EWMH atoms */ + enum { WMProtocols, WMDelete, WMState, WMLast }; /* default atoms */ + enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, + ClkClientWin, ClkRootWin, ClkLast }; /* clicks */ +@@ -179,6 +179,7 @@ + static void drawtext(const char *text, unsigned long col[ColLast], Bool invert); + static void enternotify(XEvent *e); + static void expose(XEvent *e); ++static void opacity(Client *c, double opacity); + static void focus(Client *c); + static void focusin(XEvent *e); + static void focusmon(const Arg *arg); +@@ -816,6 +817,18 @@ + } + + void ++opacity(Client *c, double opacity) ++{ ++ if(opacity >= 0 && opacity <= 1) { ++ unsigned long real_opacity[] = { opacity * 0xffffffff }; ++ XChangeProperty(dpy, c->win, netatom[NetWMWindowsOpacity], XA_CARDINAL, ++ 32, PropModeReplace, (unsigned char *)real_opacity, ++ 1); ++ } else ++ XDeleteProperty(dpy, c->win, netatom[NetWMWindowsOpacity]); ++} ++ ++void + focus(Client *c) { + if(!c || !ISVISIBLE(c)) + for(c = selmon->stack; c && !ISVISIBLE(c); c = c->snext); +@@ -1104,6 +1117,7 @@ + *c = cz; + c->win = w; + updatetitle(c); ++ opacity(c, defaultopacity); + if(XGetTransientForHint(dpy, w, &trans)) + t = wintoclient(trans); + if(t) { +@@ -1539,6 +1553,7 @@ + netatom[NetWMName] = XInternAtom(dpy, "_NET_WM_NAME", False); + netatom[NetWMState] = XInternAtom(dpy, "_NET_WM_STATE", False); + netatom[NetWMFullscreen] = XInternAtom(dpy, "_NET_WM_STATE_FULLSCREEN", False); ++ netatom[NetWMWindowsOpacity] = XInternAtom(dpy, "_NET_WM_WINDOW_OPACITY", False); + /* init cursors */ + cursor[CurNormal] = XCreateFontCursor(dpy, XC_left_ptr); + cursor[CurResize] = XCreateFontCursor(dpy, XC_sizing);