aboutsummaryrefslogtreecommitdiffstats
path: root/calmwm.h
diff options
context:
space:
mode:
authorokan2013-12-13 14:40:52 +0000
committerokan2013-12-13 14:40:52 +0000
commit8bf0caccf5ae3af242795fe54cb48ec4b847d0e3 (patch)
tree2f1b843524267a87193b4f21e9b478e5646cbf96 /calmwm.h
parent754e61eb263aa34c713a1854a432f4fc979453d7 (diff)
downloadcwm-8bf0caccf5ae3af242795fe54cb48ec4b847d0e3.tar.gz
Add support for XUrgency and matching _NET_WM_STATE_DEMANDS_ATTENTION
ewmh hint; urgencyborder is configurable. The urgency flag will stick, even while on a client in a non-viewable group, until the client receives focus (where the border is reset). Initial diff from Thomas Adam with some changes/enhancements from me.
Diffstat (limited to '')
-rw-r--r--calmwm.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/calmwm.h b/calmwm.h
index c479077..780fa1a 100644
--- a/calmwm.h
+++ b/calmwm.h
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $OpenBSD: calmwm.h,v 1.234 2013/12/12 20:15:07 okan Exp $
+ * $OpenBSD: calmwm.h,v 1.235 2013/12/13 14:40:52 okan Exp $
*/
#ifndef _CALMWM_H_
@@ -97,6 +97,7 @@ enum cursor_font {
enum color {
CWM_COLOR_BORDER_ACTIVE,
CWM_COLOR_BORDER_INACTIVE,
+ CWM_COLOR_BORDER_URGENCY,
CWM_COLOR_BORDER_GROUP,
CWM_COLOR_BORDER_UNGROUP,
CWM_COLOR_MENU_FG,
@@ -162,6 +163,7 @@ struct client_ctx {
#define CLIENT_INPUT 0x0080
#define CLIENT_WM_DELETE_WINDOW 0x0100
#define CLIENT_WM_TAKE_FOCUS 0x0200
+#define CLIENT_URGENCY 0x0400
#define CLIENT_HIGHLIGHT (CLIENT_GROUP | CLIENT_UNGROUP)
#define CLIENT_MAXFLAGS (CLIENT_VMAXIMIZED | CLIENT_HMAXIMIZED)
@@ -350,9 +352,10 @@ enum {
_NET_WM_DESKTOP,
_NET_CLOSE_WINDOW,
_NET_WM_STATE,
-#define _NET_WM_STATES_NITEMS 2
+#define _NET_WM_STATES_NITEMS 3
_NET_WM_STATE_MAXIMIZED_VERT,
_NET_WM_STATE_MAXIMIZED_HORZ,
+ _NET_WM_STATE_DEMANDS_ATTENTION,
EWMH_NITEMS
};
enum {
@@ -396,6 +399,7 @@ void client_setname(struct client_ctx *);
int client_snapcalc(int, int, int, int, int);
void client_transient(struct client_ctx *);
void client_unhide(struct client_ctx *);
+void client_urgency(struct client_ctx *);
void client_vmaximize(struct client_ctx *);
void client_vtile(struct client_ctx *);
void client_warp(struct client_ctx *);