]> git.lizzy.rs Git - bspwm.git/commitdiff
Document and homogenize subscriber events
authorBastien Dejean <nihilhill@gmail.com>
Mon, 9 Nov 2015 14:00:47 +0000 (15:00 +0100)
committerBastien Dejean <nihilhill@gmail.com>
Mon, 9 Nov 2015 14:00:47 +0000 (15:00 +0100)
20 files changed:
Sourcedeps
bspwm.c
desktop.c
desktop.h
doc/CONTRIBUTING.md
doc/bspwm.1
doc/bspwm.1.txt
events.c
helpers.h
messages.c
monitor.c
monitor.h
pointer.c
restore.c
rule.c
stack.c
subscribe.h
tree.c
tree.h
window.c

index 894f69eb46333b455003ab4622a055ff74b1011a..8dd8a79bf20aab7701a250826d6791ec4bca972f 100644 (file)
@@ -1,13 +1,13 @@
 bspc.o: bspc.c common.h helpers.h
 bspwm.o: bspwm.c bspwm.h common.h desktop.h events.h ewmh.h helpers.h history.h messages.h monitor.h rule.h settings.h stack.h subscribe.h types.h window.h
 desktop.o: desktop.c bspwm.h desktop.h ewmh.h helpers.h history.h monitor.h query.h settings.h subscribe.h tree.h types.h window.h
-events.o: events.c bspwm.h events.h ewmh.h helpers.h monitor.h query.h settings.h tree.h types.h window.h
+events.o: events.c bspwm.h events.h ewmh.h helpers.h monitor.h query.h settings.h subscribe.h tree.h types.h window.h
 ewmh.o: ewmh.c bspwm.h ewmh.h helpers.h settings.h tree.h types.h
 helpers.o: helpers.c bspwm.h helpers.h types.h
 history.o: history.c bspwm.h helpers.h query.h types.h
 messages.o: messages.c bspwm.h common.h desktop.h ewmh.h helpers.h history.h messages.h monitor.h pointer.h query.h restore.h rule.h settings.h subscribe.h tree.h types.h window.h
 monitor.o: monitor.c bspwm.h desktop.h ewmh.h helpers.h history.h monitor.h query.h settings.h subscribe.h tree.h types.h window.h
-pointer.o: pointer.c bspwm.h helpers.h monitor.h pointer.h query.h settings.h stack.h tree.h types.h window.h
+pointer.o: pointer.c bspwm.h helpers.h monitor.h pointer.h query.h settings.h stack.h subscribe.h tree.h types.h window.h
 query.o: query.c bspwm.h desktop.h helpers.h history.h messages.h monitor.h query.h subscribe.h tree.h types.h
 restore.o: restore.c bspwm.h desktop.h ewmh.h helpers.h history.h monitor.h query.h restore.h settings.h stack.h tree.h types.h
 rule.o: rule.c bspwm.h ewmh.h helpers.h messages.h rule.h settings.h subscribe.h types.h window.h
diff --git a/bspwm.c b/bspwm.c
index a2b3f736f93bde152547f628fac00496178fb1a8..519b3882b290db99e0891e0e80f3a81fef971155 100644 (file)
--- a/bspwm.c
+++ b/bspwm.c
@@ -296,14 +296,16 @@ void setup(void)
                        for (int i = 0; i < n; i++) {
                                xcb_xinerama_screen_info_t info = xsi[i];
                                xcb_rectangle_t rect = (xcb_rectangle_t) {info.x_org, info.y_org, info.width, info.height};
-                               monitor_t *m = add_monitor(rect);
+                               monitor_t *m = make_monitor(rect);
+                               add_monitor(m);
                                add_desktop(m, make_desktop(NULL));
                        }
                        free(xsq);
                } else {
                        warn("Xinerama is inactive.\n");
                        xcb_rectangle_t rect = (xcb_rectangle_t) {0, 0, screen_width, screen_height};
-                       monitor_t *m = add_monitor(rect);
+                       monitor_t *m = make_monitor(rect);
+                       add_monitor(m);
                        add_desktop(m, make_desktop(NULL));
                }
        }
index 3e45340a34afe87a6262f4c0ba3fdf1af7f7852a..3498c372f5d9e83087903024c6d1468c889e4b8a 100644 (file)
--- a/desktop.c
+++ b/desktop.c
@@ -41,7 +41,6 @@ void focus_desktop(monitor_t *m, desktop_t *d)
        if (d == mon->desk)
                return;
 
-       PRINTF("focus desktop %s\n", d->name);
        put_status(SBSC_MASK_DESKTOP_FOCUS, "desktop_focus %s %s\n", m->name, d->name);
 
        show_desktop(d);
@@ -83,8 +82,9 @@ void change_layout(monitor_t *m, desktop_t *d, layout_t l)
 
 void transfer_desktop(monitor_t *ms, monitor_t *md, desktop_t *d)
 {
-       if (ms == md)
+       if (ms == md) {
                return;
+       }
 
        put_status(SBSC_MASK_DESKTOP_TRANSFER, "desktop_transfer %s %s %s\n", ms->name, d->name, md->name);
 
@@ -132,9 +132,14 @@ desktop_t *make_desktop(const char *name)
        return d;
 }
 
-void rename_desktop(desktop_t *d, const char *name)
+void rename_desktop(monitor_t *m, desktop_t *d, const char *name)
 {
+
+       put_status(SBSC_MASK_DESKTOP_RENAME, "desktop_rename %s %s %s\n", m->name, d->name, name);
+
        snprintf(d->name, sizeof(d->name), "%s", name);
+
+       put_status(SBSC_MASK_REPORT);
        ewmh_update_desktop_names();
 }
 
@@ -161,7 +166,6 @@ void insert_desktop(monitor_t *m, desktop_t *d)
 
 void add_desktop(monitor_t *m, desktop_t *d)
 {
-       PRINTF("add desktop %s\n", d->name);
        put_status(SBSC_MASK_DESKTOP_ADD, "desktop_add %s %s\n", m->name, d->name);
 
        insert_desktop(m, d);
@@ -198,8 +202,7 @@ void unlink_desktop(monitor_t *m, desktop_t *d)
 
 void remove_desktop(monitor_t *m, desktop_t *d)
 {
-       PRINTF("remove desktop %s\n", d->name);
-       put_status(SBSC_MASK_DESKTOP_REMOVE, "desktop_remove %s\n", d->name);
+       put_status(SBSC_MASK_DESKTOP_REMOVE, "desktop_remove %s %s\n", m->name, d->name);
 
        unlink_desktop(m, d);
        history_remove(d, NULL);
@@ -229,10 +232,10 @@ void merge_desktops(monitor_t *ms, desktop_t *ds, monitor_t *md, desktop_t *dd)
 
 void swap_desktops(monitor_t *m1, desktop_t *d1, monitor_t *m2, desktop_t *d2)
 {
-       if (d1 == NULL || d2 == NULL || d1 == d2)
+       if (d1 == NULL || d2 == NULL || d1 == d2) {
                return;
+       }
 
-       PRINTF("swap desktops %s %s\n", d1->name, d2->name);
        put_status(SBSC_MASK_DESKTOP_SWAP, "desktop_swap %s %s %s %s\n", m1->name, d1->name, m2->name, d2->name);
 
        bool d1_focused = (m1->desk == d1);
index ba0e363b8de6b22e7c242964f0b427084a2fd4e9..7ebc38d10a906c18e07f56cbd1766cfc16f2880b 100644 (file)
--- a/desktop.h
+++ b/desktop.h
@@ -32,7 +32,7 @@ desktop_t *closest_desktop(monitor_t *m, desktop_t *d, cycle_dir_t dir, desktop_
 void change_layout(monitor_t *m, desktop_t *d, layout_t l);
 void transfer_desktop(monitor_t *ms, monitor_t *md, desktop_t *d);
 desktop_t *make_desktop(const char *name);
-void rename_desktop(desktop_t *d, const char *name);
+void rename_desktop(monitor_t *m, desktop_t *d, const char *name);
 void initialize_desktop(desktop_t *d);
 void insert_desktop(monitor_t *m, desktop_t *d);
 void add_desktop(monitor_t *m, desktop_t *d);
index 2634f2d557eb45b6a1f88b5d6f5f6dd0165a2c69..f091360477be04769a9921ee7ac77b6b8749a07c 100644 (file)
@@ -4,7 +4,9 @@ You must be comfortable with [C][1], [XCB][2] and [Git][3].
 
 ## Coding Style
 
-I follow the [Linux Coding Style][4].
+I follow the [Linux Coding Style][4] with the following variations:
+- [Ident with tabs, align with spaces][5].
+- Always use braces with if/else.
 
 ## Browsing the Code
 
@@ -40,3 +42,4 @@ q
 [2]: http://www.x.org/releases/X11R7.5/doc/libxcb/tutorial/
 [3]: http://git-scm.com/documentation
 [4]: http://www.kernel.org/doc/Documentation/CodingStyle
+[5]: http://lea.verou.me/2012/01/why-tabs-are-clearly-superior/
index 852dfd814e94c5ea1e81e51cd94cb3428ecc56a1..6720bd4c253d83cd1478820d7602804338a51a2a 100644 (file)
@@ -2,12 +2,12 @@
 .\"     Title: bspwm
 .\"    Author: [see the "Author" section]
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 11/07/2015
+.\"      Date: 11/09/2015
 .\"    Manual: Bspwm Manual
 .\"    Source: Bspwm 0.9
 .\"  Language: English
 .\"
-.TH "BSPWM" "1" "11/07/2015" "Bspwm 0\&.9" "Bspwm Manual"
+.TH "BSPWM" "1" "11/09/2015" "Bspwm 0\&.9" "Bspwm Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
@@ -966,7 +966,9 @@ Enable or disable the recording of window focus history\&.
 .PP
 \fB\-\-subscribe\fR (all|report|monitor|desktop|window|\&...)*
 .RS 4
-Continuously print status information\&.
+Continuously print status information\&. See the
+\fBEVENTS\fR
+section for the detailed description of each event\&.
 .RE
 .PP
 \fB\-\-get\-status\fR
@@ -1313,9 +1315,132 @@ Window border width\&.
 .RS 4
 Size of the gap that separates windows\&.
 .RE
-.SH "STATUS FORMAT"
+.SH "EVENTS"
+.PP
+\fIreport\fR
+.RS 4
+See the next section for the description of the format\&.
+.RE
+.PP
+\fImonitor_add <monitor_name> <monitor_id> <monitor_geometry>\fR
+.RS 4
+A monitor is added\&.
+.RE
+.PP
+\fImonitor_rename <old_name> <new_name>\fR
+.RS 4
+A monitor is renamed\&.
+.RE
+.PP
+\fImonitor_remove <monitor_name>\fR
+.RS 4
+A monitor is removed\&.
+.RE
+.PP
+\fImonitor_focus <monitor_name>\fR
+.RS 4
+A monitor is focused\&.
+.RE
+.PP
+\fImonitor_geometry <monitor_name> <monitor_geometry>\fR
+.RS 4
+The geometry of a monitor changed\&.
+.RE
+.PP
+\fIdesktop_add <monitor_name> <desktop_name>\fR
+.RS 4
+A desktop is added\&.
+.RE
+.PP
+\fIdesktop_rename <monitor_name> <old_name> <new_name>\fR
+.RS 4
+A desktop is renamed\&.
+.RE
+.PP
+\fIdesktop_remove <monitor_name> <desktop_name>\fR
+.RS 4
+A desktop is removed\&.
+.RE
+.PP
+\fIdesktop_swap <src_monitor_name> <src_desktop_name> <dst_monitor_name> <dst_desktop_name>\fR
+.RS 4
+A desktop is swapped\&.
+.RE
+.PP
+\fIdesktop_transfer <src_monitor_name> <src_desktop_name> <dst_monitor_name>\fR
+.RS 4
+A desktop is transferred\&.
+.RE
+.PP
+\fIdesktop_focus <monitor_name> <desktop_name>\fR
+.RS 4
+A desktop is focused\&.
+.RE
+.PP
+\fIdesktop_layout <monitor_name> <desktop_name> tiled|monocle\fR
+.RS 4
+The layout of a desktop changed\&.
+.RE
+.PP
+\fIwindow_manage <monitor_name> <desktop_name> <window_id> <ip_id>\fR
+.RS 4
+A window is managed\&.
+.RE
+.PP
+\fIwindow_manage <monitor_name> <desktop_name> <window_id> <ip_id>\fR
+.RS 4
+A window is managed\&.
+.RE
+.PP
+\fIwindow_unmanage <monitor_name> <desktop_name> <window_id>\fR
+.RS 4
+A window is unmanaged\&.
+.RE
+.PP
+\fIwindow_swap <src_monitor_name> <src_desktop_name> <src_window_id> <dst_monitor_name> <dst_desktop_name> <dst_window_id>\fR
+.RS 4
+A window is swapped\&.
+.RE
+.PP
+\fIwindow_transfer <src_monitor_name> <src_desktop_name> <src_window_id> <dst_monitor_name> <dst_desktop_name> <dst_window_id>\fR
+.RS 4
+A window is transferred\&.
+.RE
+.PP
+\fIwindow_focus <monitor_name> <desktop_name> <window_id>\fR
+.RS 4
+A window is focused\&.
+.RE
+.PP
+\fIwindow_activate <monitor_name> <desktop_name> <window_id>\fR
+.RS 4
+A window is activated\&.
+.RE
+.PP
+\fIwindow_geometry <monitor_name> <desktop_name> <window_id> <window_geometry>\fR
+.RS 4
+The geometry of a window changed\&.
+.RE
+.PP
+\fIwindow_state <monitor_name> <desktop_name> <window_id> tiled|pseudo_tiled|floating|fullscreen on|off\fR
+.RS 4
+The state of a window changed\&.
+.RE
+.PP
+\fIwindow_flag <monitor_name> <desktop_name> <window_id> sticky|private|locked|urgent on|off\fR
+.RS 4
+One of the flags of a window changed\&.
+.RE
+.PP
+\fIwindow_layer <monitor_name> <desktop_name> <window_id> below|normal|above\fR
+.RS 4
+The layer of a window changed\&.
+.RE
+.sp
+Please note that \fBbspwm\fR initializes monitors before it reads messages on its socket, therefore the initial monitor events can\(cqt be received\&.
+.SH "REPORT FORMAT"
 .sp
-Status information is composed of items separated by colons\&.
+Each report event message is composed of items separated by colons\&.
 .sp
 Each item has the form \fI<type><value>\fR where \fI<type>\fR is the first character of the item\&.
 .PP
index d160d1d1eb2b8cd61a06136ba56c8c431da7ed44..799734e98c80b99ab17e5257c6ccf83af463a767 100644 (file)
@@ -603,7 +603,7 @@ Options
        Enable or disable the recording of window focus history.
 
 *--subscribe* (all|report|monitor|desktop|window|...)*::
-       Continuously print status information.
+       Continuously print status information. See the *EVENTS* section for the detailed description of each event.
 
 *--get-status*::
        Print the current status information.
@@ -812,10 +812,87 @@ Default and Desktop Settings
        Size of the gap that separates windows.
 
 
-Status Format
+Events
+------
+
+'report'::
+       See the next section for the description of the format.
+
+'monitor_add <monitor_name> <monitor_id> <monitor_geometry>'::
+       A monitor is added.
+
+'monitor_rename <old_name> <new_name>'::
+       A monitor is renamed.
+
+'monitor_remove <monitor_name>'::
+       A monitor is removed.
+
+'monitor_focus <monitor_name>'::
+       A monitor is focused.
+
+'monitor_geometry <monitor_name> <monitor_geometry>'::
+       The geometry of a monitor changed.
+
+'desktop_add <monitor_name> <desktop_name>'::
+       A desktop is added.
+
+'desktop_rename <monitor_name> <old_name> <new_name>'::
+       A desktop is renamed.
+
+'desktop_remove <monitor_name> <desktop_name>'::
+       A desktop is removed.
+
+'desktop_swap <src_monitor_name> <src_desktop_name> <dst_monitor_name> <dst_desktop_name>'::
+       A desktop is swapped.
+
+'desktop_transfer <src_monitor_name> <src_desktop_name> <dst_monitor_name>'::
+       A desktop is transferred.
+
+'desktop_focus <monitor_name> <desktop_name>'::
+       A desktop is focused.
+
+'desktop_layout <monitor_name> <desktop_name> tiled|monocle'::
+       The layout of a desktop changed.
+
+'window_manage <monitor_name> <desktop_name> <window_id> <ip_id>'::
+       A window is managed.
+
+'window_manage <monitor_name> <desktop_name> <window_id> <ip_id>'::
+       A window is managed.
+
+'window_unmanage <monitor_name> <desktop_name> <window_id>'::
+       A window is unmanaged.
+
+'window_swap <src_monitor_name> <src_desktop_name> <src_window_id> <dst_monitor_name> <dst_desktop_name> <dst_window_id>'::
+       A window is swapped.
+
+'window_transfer <src_monitor_name> <src_desktop_name> <src_window_id> <dst_monitor_name> <dst_desktop_name> <dst_window_id>'::
+       A window is transferred.
+
+'window_focus <monitor_name> <desktop_name> <window_id>'::
+       A window is focused.
+
+'window_activate <monitor_name> <desktop_name> <window_id>'::
+       A window is activated.
+
+'window_geometry <monitor_name> <desktop_name> <window_id> <window_geometry>'::
+       The geometry of a window changed.
+
+'window_state <monitor_name> <desktop_name> <window_id> tiled|pseudo_tiled|floating|fullscreen on|off'::
+       The state of a window changed.
+
+'window_flag <monitor_name> <desktop_name> <window_id> sticky|private|locked|urgent on|off'::
+       One of the flags of a window changed.
+
+'window_layer <monitor_name> <desktop_name> <window_id> below|normal|above'::
+       The layer of a window changed.
+
+Please note that *bspwm* initializes monitors before it reads messages on its socket, therefore the initial monitor events can't be received.
+
+Report Format
 -------------
 
-Status information is composed of items separated by colons.
+Each report event message is composed of items separated by colons.
 
 Each item has the form '<type><value>' where '<type>' is the first character of the item.
 
index 49dbedbb7d8f7b12f665e1956aa073961c1d4901..963a5161fa5bbcdaaeff0835a590a83ea73a1c76 100644 (file)
--- a/events.c
+++ b/events.c
@@ -28,6 +28,7 @@
 #include "monitor.h"
 #include "query.h"
 #include "settings.h"
+#include "subscribe.h"
 #include "tree.h"
 #include "window.h"
 #include "events.h"
@@ -77,8 +78,6 @@ void map_request(xcb_generic_event_t *evt)
 {
        xcb_map_request_event_t *e = (xcb_map_request_event_t *) evt;
 
-       PRINTF("map request %X\n", e->window);
-
        schedule_window(e->window);
 }
 
@@ -86,8 +85,6 @@ void configure_request(xcb_generic_event_t *evt)
 {
        xcb_configure_request_event_t *e = (xcb_configure_request_event_t *) evt;
 
-       PRINTF("configure request %X\n", e->window);
-
        coordinates_t loc;
        bool is_managed = locate_window(e->window, &loc);
        client_t *c = (is_managed ? loc.node->client : NULL);
@@ -190,6 +187,11 @@ void configure_request(xcb_generic_event_t *evt)
                }
 
                xcb_configure_window(dpy, e->window, mask, values);
+
+               if (is_managed && (mask & XCB_CONFIG_WINDOW_X_Y_WIDTH_HEIGHT)) {
+                       xcb_rectangle_t r = c->floating_rectangle;
+                       put_status(SBSC_MASK_WINDOW_GEOMETRY, "window_geometry %s %s 0x%X %ux%u+%i+%i\n", loc.monitor->name, loc.desktop->name, c->window, r.width, r.height, r.x, r.y);
+               }
        }
 
        if (is_managed) {
@@ -201,8 +203,6 @@ void destroy_notify(xcb_generic_event_t *evt)
 {
        xcb_destroy_notify_event_t *e = (xcb_destroy_notify_event_t *) evt;
 
-       PRINTF("destroy notify %X\n", e->window);
-
        unmanage_window(e->window);
 }
 
@@ -210,8 +210,6 @@ void unmap_notify(xcb_generic_event_t *evt)
 {
        xcb_unmap_notify_event_t *e = (xcb_unmap_notify_event_t *) evt;
 
-       PRINTF("unmap notify %X\n", e->window);
-
        unmanage_window(e->window);
 }
 
@@ -219,10 +217,9 @@ void property_notify(xcb_generic_event_t *evt)
 {
        xcb_property_notify_event_t *e = (xcb_property_notify_event_t *) evt;
 
-       /* PRINTF("property notify %X\n", e->window); */
-
-       if (e->atom != XCB_ATOM_WM_HINTS && e->atom != XCB_ATOM_WM_NORMAL_HINTS)
+       if (e->atom != XCB_ATOM_WM_HINTS && e->atom != XCB_ATOM_WM_NORMAL_HINTS) {
                return;
+       }
 
        coordinates_t loc;
        if (!locate_window(e->window, &loc))
@@ -256,8 +253,6 @@ void client_message(xcb_generic_event_t *evt)
 {
        xcb_client_message_event_t *e = (xcb_client_message_event_t *) evt;
 
-       PRINTF("client message %X %u\n", e->window, e->type);
-
        if (e->type == ewmh->_NET_CURRENT_DESKTOP) {
                coordinates_t loc;
                if (ewmh_locate_desktop(e->data.data32[0], &loc))
@@ -290,8 +285,6 @@ void focus_in(xcb_generic_event_t *evt)
 {
        xcb_focus_in_event_t *e = (xcb_focus_in_event_t *) evt;
 
-       /* PRINTF("focus in %X %d %d\n", e->event, e->mode, e->detail); */
-
        if (e->mode == XCB_NOTIFY_MODE_GRAB ||
            e->mode == XCB_NOTIFY_MODE_UNGRAB)
                return;
@@ -310,8 +303,6 @@ void enter_notify(xcb_generic_event_t *evt)
        xcb_enter_notify_event_t *e = (xcb_enter_notify_event_t *) evt;
        xcb_window_t win = e->event;
 
-       PRINTF("enter notify %X %d %d\n", win, e->mode, e->detail);
-
        if (e->mode != XCB_NOTIFY_MODE_NORMAL ||
            (mon->desk->focus != NULL &&
             mon->desk->focus->client->window == win)) {
@@ -335,8 +326,6 @@ void motion_notify(xcb_generic_event_t *evt)
 {
        xcb_motion_notify_event_t *e = (xcb_motion_notify_event_t *) evt;
 
-       PRINTF("motion notify %X %i %i\n", e->event, e->root_x, e->root_y);
-
        int dtime = e->time - last_motion_time;
        if (dtime > 1000) {
                last_motion_time = e->time;
index f550ec9df47950cc0412a50bbe1e6c936970e692..67921bccbd0867d82ed6d2299b4eba08583844ea 100644 (file)
--- a/helpers.h
+++ b/helpers.h
 
 #define streq(s1, s2)     (strcmp((s1), (s2)) == 0)
 
-#ifdef DEBUG
-#  define PUTS(x)         puts(x)
-#  define PRINTF(x,...)   printf(x, __VA_ARGS__)
-#else
-#  define PUTS(x)         ((void)0)
-#  define PRINTF(x,...)   ((void)0)
-#endif
-
 void warn(char *fmt, ...);
 void err(char *fmt, ...);
 bool get_color(char *col, xcb_window_t win, uint32_t *pxl);
index 90ecb460632893e5451033e9553dc5dfca1b6b13..5a00b7111d339d319b9e407eaf8eec4f79af384d 100644 (file)
@@ -144,7 +144,7 @@ int cmd_window(char **args, int num)
                        if (dst.desktop == mon->desk) {
                                return MSG_FAILURE;
                        }
-                       activate(dst.monitor, dst.desktop, dst.node);
+                       activate_node(dst.monitor, dst.desktop, dst.node);
                } else if (streq("-d", *args) || streq("--to-desktop", *args)) {
                        num--, args++;
                        coordinates_t dst;
@@ -461,9 +461,7 @@ int cmd_desktop(char **args, int num)
                        num--, args++;
                        if (num < 1)
                                return MSG_SYNTAX;
-                       put_status(SBSC_MASK_DESKTOP_RENAME, "desktop_rename %s %s %s\n", trg.monitor->name, trg.desktop->name, *args);
-                       rename_desktop(trg.desktop, *args);
-                       put_status(SBSC_MASK_REPORT);
+                       rename_desktop(trg.monitor, trg.desktop, *args);
                } else if (streq("-r", *args) || streq("--remove", *args)) {
                        if (trg.desktop->root == NULL &&
                            trg.monitor->desk_head != trg.monitor->desk_tail) {
@@ -559,8 +557,7 @@ int cmd_monitor(char **args, int num)
                                return MSG_SYNTAX;
                        desktop_t *d = trg.monitor->desk_head;
                        while (num > 0 && d != NULL) {
-                               put_status(SBSC_MASK_DESKTOP_RENAME, "desktop_rename %s %s %s\n", trg.monitor->name, d->name, *args);
-                               rename_desktop(d, *args);
+                               rename_desktop(trg.monitor, d, *args);
                                initialize_desktop(d);
                                arrange(trg.monitor, d);
                                d = d->next;
@@ -617,11 +614,10 @@ int cmd_monitor(char **args, int num)
                        }
                } else if (streq("-n", *args) || streq("--rename", *args)) {
                        num--, args++;
-                       if (num < 1)
+                       if (num < 1) {
                                return MSG_SYNTAX;
-                       put_status(SBSC_MASK_MONITOR_RENAME, "monitor_rename %s %s\n", trg.monitor->name, *args);
-                       snprintf(trg.monitor->name, sizeof(trg.monitor->name), "%s", *args);
-                       put_status(SBSC_MASK_REPORT);
+                       }
+                       rename_monitor(trg.monitor, *args);
                } else if (streq("-s", *args) || streq("--swap", *args)) {
                        num--, args++;
                        if (num < 1)
@@ -1210,8 +1206,8 @@ bool parse_subscriber_mask(char *s, subscriber_mask_t *mask)
                *mask = SBSC_MASK_MONITOR_REMOVE;
        } else if (streq("monitor_focus", s)) {
                *mask = SBSC_MASK_MONITOR_FOCUS;
-       } else if (streq("monitor_resize", s)) {
-               *mask = SBSC_MASK_MONITOR_RESIZE;
+       } else if (streq("monitor_geometry", s)) {
+               *mask = SBSC_MASK_MONITOR_GEOMETRY;
        } else if (streq("report", s)) {
                *mask = SBSC_MASK_REPORT;
        } else {
index 74dc57ccc08a38c89c070e57ff8027cdbdff1dcb..f11dbb470fce9b5b9ebaa46ea7b36ae6c4a432c1 100644 (file)
--- a/monitor.c
+++ b/monitor.c
@@ -57,6 +57,15 @@ monitor_t *make_monitor(xcb_rectangle_t rect)
        return m;
 }
 
+void rename_monitor(monitor_t *m, const char *name)
+{
+       put_status(SBSC_MASK_MONITOR_RENAME, "monitor_rename %s %s\n", m->name, name);
+
+       snprintf(m->name, sizeof(m->name), "%s", name);
+
+       put_status(SBSC_MASK_REPORT);
+}
+
 monitor_t *find_monitor(char *name)
 {
        for (monitor_t *m = mon_head; m != NULL; m = m->next)
@@ -123,8 +132,9 @@ void translate_client(monitor_t *ms, monitor_t *md, client_t *c)
 
 void update_root(monitor_t *m)
 {
-       xcb_rectangle_t rect = m->rectangle;
-       window_move_resize(m->root, rect.x, rect.y, rect.width, rect.height);
+       xcb_rectangle_t r = m->rectangle;
+       window_move_resize(m->root, r.x, r.y, r.width, r.height);
+       put_status(SBSC_MASK_MONITOR_GEOMETRY, "monitor_geometry %s %ux%u+%i+%i\n", m->name, r.width, r.height, r.x, r.y);
 }
 
 void focus_monitor(monitor_t *m)
@@ -132,22 +142,23 @@ void focus_monitor(monitor_t *m)
        if (mon == m)
                return;
 
-       PRINTF("focus monitor %s\n", m->name);
        put_status(SBSC_MASK_MONITOR_FOCUS, "monitor_focus %s\n", m->name);
 
        mon = m;
 
-       if (pointer_follows_monitor)
+       if (pointer_follows_monitor) {
                center_pointer(m->rectangle);
+       }
 
        ewmh_update_current_desktop();
        put_status(SBSC_MASK_REPORT);
 }
 
-monitor_t *add_monitor(xcb_rectangle_t rect)
+void add_monitor(monitor_t *m)
 {
-       monitor_t *m = make_monitor(rect);
-       put_status(SBSC_MASK_MONITOR_ADD, "monitor_add %s\n", m->name);
+       xcb_rectangle_t r = m->rectangle;
+
+       put_status(SBSC_MASK_MONITOR_ADD, "monitor_add %s 0x%X %ux%u+%i+%i\n", m->name, m->id, r.width, r.height, r.x, r.y);
 
        if (mon == NULL) {
                mon = m;
@@ -160,12 +171,10 @@ monitor_t *add_monitor(xcb_rectangle_t rect)
        }
 
        num_monitors++;
-       return m;
 }
 
 void remove_monitor(monitor_t *m)
 {
-       PRINTF("remove monitor %s (0x%X)\n", m->name, m->id);
        put_status(SBSC_MASK_MONITOR_REMOVE, "monitor_remove %s\n", m->name);
 
        while (m->desk_head != NULL) {
@@ -215,8 +224,6 @@ void merge_monitors(monitor_t *ms, monitor_t *md)
                return;
        }
 
-       PRINTF("merge %s into %s\n", ms->name, md->name);
-
        desktop_t *d = ms->desk_head;
        while (d != NULL) {
                desktop_t *next = d->next;
@@ -292,9 +299,11 @@ bool is_inside_monitor(monitor_t *m, xcb_point_t pt)
 
 monitor_t *monitor_from_point(xcb_point_t pt)
 {
-       for (monitor_t *m = mon_head; m != NULL; m = m->next)
-               if (is_inside_monitor(m, pt))
+       for (monitor_t *m = mon_head; m != NULL; m = m->next) {
+               if (is_inside_monitor(m, pt)) {
                        return m;
+               }
+       }
        return NULL;
 }
 
@@ -347,7 +356,6 @@ monitor_t *nearest_monitor(monitor_t *m, direction_t dir, desktop_select_t sel)
 
 bool update_monitors(void)
 {
-       PUTS("update monitors");
        xcb_randr_get_screen_resources_current_reply_t *sres = xcb_randr_get_screen_resources_current_reply(dpy, xcb_randr_get_screen_resources_current(dpy, root), NULL);
        if (sres == NULL)
                return false;
@@ -375,19 +383,20 @@ bool update_monitors(void)
                                        if (mm != NULL) {
                                                mm->rectangle = rect;
                                                update_root(mm);
-                                               for (desktop_t *d = mm->desk_head; d != NULL; d = d->next)
-                                                       for (node_t *n = first_extrema(d->root); n != NULL; n = next_leaf(n, d->root))
+                                               for (desktop_t *d = mm->desk_head; d != NULL; d = d->next) {
+                                                       for (node_t *n = first_extrema(d->root); n != NULL; n = next_leaf(n, d->root)) {
                                                                translate_client(mm, mm, n->client);
+                                                       }
+                                               }
                                                arrange(mm, mm->desk);
                                                mm->wired = true;
-                                               PRINTF("update monitor %s (0x%X)\n", mm->name, mm->id);
                                        } else {
-                                               mm = add_monitor(rect);
+                                               mm = make_monitor(rect);
                                                char *name = (char *)xcb_randr_get_output_info_name(info);
                                                size_t name_len = MIN(sizeof(mm->name), (size_t)xcb_randr_get_output_info_name_length(info) + 1);
                                                snprintf(mm->name, name_len, "%s", name);
                                                mm->id = outputs[i];
-                                               PRINTF("add monitor %s (0x%X)\n", mm->name, mm->id);
+                                               add_monitor(mm);
                                        }
                                }
                                free(cir);
index bdfedc85ca73b453c9e5b754d2c41fb78fcca04c..44434e9e061f441bbf9bf710027ce0bd8ef261b3 100644 (file)
--- a/monitor.h
+++ b/monitor.h
 #define DEFAULT_MON_NAME     "MONITOR"
 
 monitor_t *make_monitor(xcb_rectangle_t rect);
+void rename_monitor(monitor_t *m, const char *name);
 monitor_t *find_monitor(char *name);
 monitor_t *get_monitor_by_id(xcb_randr_output_t id);
 void embrace_client(monitor_t *m, client_t *c);
 void translate_client(monitor_t *ms, monitor_t *md, client_t *c);
 void update_root(monitor_t *m);
 void focus_monitor(monitor_t *m);
-monitor_t *add_monitor(xcb_rectangle_t rect);
+void add_monitor(monitor_t *m);
 void remove_monitor(monitor_t *m);
 void merge_monitors(monitor_t *ms, monitor_t *md);
 void swap_monitors(monitor_t *m1, monitor_t *m2);
index b3744d191a9020fa79f3bb905937b50ff5071be4..f6f45f7a1c4ed1fa88776ed7943029eccda2196e 100644 (file)
--- a/pointer.c
+++ b/pointer.c
 #include "stack.h"
 #include "tree.h"
 #include "monitor.h"
+#include "subscribe.h"
 #include "window.h"
 #include "pointer.h"
 
 void grab_pointer(pointer_action_t pac)
 {
-       PRINTF("grab pointer %u\n", pac);
-
        xcb_window_t win = XCB_NONE;
        xcb_point_t pos;
 
@@ -342,5 +341,9 @@ void track_pointer(int root_x, int root_y)
 
 void ungrab_pointer(void)
 {
+       if (frozen_pointer->action != ACTION_NONE) {
+               xcb_rectangle_t r = get_rectangle(frozen_pointer->monitor, frozen_pointer->client);
+               put_status(SBSC_MASK_WINDOW_GEOMETRY, "window_geometry %s %s 0x%X %ux%u+%i+%i\n", frozen_pointer->monitor->name, frozen_pointer->desktop->name, frozen_pointer->window, r.width, r.height, r.x, r.y);
+       }
        frozen_pointer->action = ACTION_NONE;
 }
index b6100697770b67cc3fb587c781f29a71430907ed..037496b27aa91b4da9de5c441c1b8d86e0d34fd2 100644 (file)
--- a/restore.c
+++ b/restore.c
@@ -46,8 +46,6 @@ void restore_tree(char *file_path)
                return;
        }
 
-       PUTS("restore tree");
-
        char line[MAXLEN];
        char name[MAXLEN];
        coordinates_t loc;
@@ -228,8 +226,6 @@ void restore_history(char *file_path)
                return;
        }
 
-       PUTS("restore history");
-
        char line[MAXLEN];
        char mnm[SMALEN];
        char dnm[SMALEN];
@@ -273,8 +269,6 @@ void restore_stack(char *file_path)
                return;
        }
 
-       PUTS("restore stack");
-
        char line[MAXLEN];
        xcb_window_t win;
 
diff --git a/rule.c b/rule.c
index 9120eeb486d14b37725145edc67a363bd9de2cec..ecdd87d9405d7f268a60606806384f7cb0ddb277 100644 (file)
--- a/rule.c
+++ b/rule.c
@@ -113,7 +113,6 @@ void add_pending_rule(pending_rule_t *pr)
 {
        if (pr == NULL)
                return;
-       PRINTF("add pending rule %i\n", pr->fd);
        if (pending_rule_head == NULL) {
                pending_rule_head = pending_rule_tail = pr;
        } else {
@@ -127,7 +126,6 @@ void remove_pending_rule(pending_rule_t *pr)
 {
        if (pr == NULL)
                return;
-       PRINTF("remove pending rule %i\n", pr->fd);
        pending_rule_t *a = pr->prev;
        pending_rule_t *b = pr->next;
        if (a != NULL)
diff --git a/stack.c b/stack.c
index bdff79a19917bf8266e97668f1629ad1fb8296eb..0f554f57c0ad5a804ff28378301579166c1942b3 100644 (file)
--- a/stack.c
+++ b/stack.c
@@ -150,8 +150,6 @@ void stack(node_t *n, bool focused)
                return;
        }
 
-       PRINTF("stack %X\n", n->client->window);
-
        if (stack_head == NULL) {
                stack_insert_after(NULL, n);
        } else {
index da4179b17c214eebf008c417cbe08e2d02a9e935..a140842da75887ba4a6c93e6a255b56b91665700 100644 (file)
@@ -31,7 +31,7 @@ typedef enum {
        SBSC_MASK_MONITOR_RENAME = 1 << 2,
        SBSC_MASK_MONITOR_REMOVE = 1 << 3,
        SBSC_MASK_MONITOR_FOCUS = 1 << 4,
-       SBSC_MASK_MONITOR_RESIZE = 1 << 5,
+       SBSC_MASK_MONITOR_GEOMETRY = 1 << 5,
        SBSC_MASK_DESKTOP_ADD = 1 << 6,
        SBSC_MASK_DESKTOP_RENAME = 1 << 7,
        SBSC_MASK_DESKTOP_REMOVE = 1 << 8,
diff --git a/tree.c b/tree.c
index d906a0c93d14eb552f566b8471f57f01bc631ea0..f3e75447a7f1bc9936830ed2cb2dc29a012b23c5 100644 (file)
--- a/tree.c
+++ b/tree.c
@@ -41,8 +41,6 @@ void arrange(monitor_t *m, desktop_t *d)
        if (d->root == NULL)
                return;
 
-       PRINTF("arrange %s %s\n", m->name, d->name);
-
        layout_t set_layout = d->layout;
        if (leaf_monocle && tiled_count(d) == 1) {
                d->layout = LAYOUT_MONOCLE;
@@ -110,6 +108,10 @@ void apply_layout(monitor_t *m, desktop_t *d, node_t *n, xcb_rectangle_t rect, x
                window_border_width(n->client->window, bw);
                window_draw_border(n, d->focus == n, m == mon);
 
+               if (frozen_pointer->action == ACTION_NONE) {
+                       put_status(SBSC_MASK_WINDOW_GEOMETRY, "window_geometry %s %s 0x%X %ux%u+%i+%i\n", m->name, d->name, n->client->window, r.width, r.height, r.x, r.y);
+               }
+
                if (pointer_follows_focus && mon->desk->focus == n && frozen_pointer->action == ACTION_NONE) {
                        center_pointer(r);
                }
@@ -143,8 +145,6 @@ void insert_node(monitor_t *m, desktop_t *d, node_t *n, node_t *f)
        if (d == NULL || n == NULL)
                return;
 
-       PRINTF("insert node %X\n", n->client->window);
-
        /* n: new leaf node */
        /* c: new container node */
        /* f: focus or insertion anchor */
@@ -294,7 +294,7 @@ void insert_node(monitor_t *m, desktop_t *d, node_t *n, node_t *f)
        put_status(SBSC_MASK_REPORT);
 }
 
-void activate(monitor_t *m, desktop_t *d, node_t *n)
+void activate_node(monitor_t *m, desktop_t *d, node_t *n)
 {
        if (n != NULL) {
                if (d->focus != NULL && n != d->focus && stack_cmp(n->client, d->focus->client) < 0) {
@@ -307,7 +307,7 @@ void activate(monitor_t *m, desktop_t *d, node_t *n)
                }
        }
        d->focus = n;
-       put_status(SBSC_MASK_WINDOW_ACTIVATE, "window_activate 0x%X\n", n->client->window);
+       put_status(SBSC_MASK_WINDOW_ACTIVATE, "window_activate %s %s 0x%X\n", m->name, d->name, n->client->window);
 }
 
 void focus_node(monitor_t *m, desktop_t *d, node_t *n)
@@ -370,8 +370,7 @@ void focus_node(monitor_t *m, desktop_t *d, node_t *n)
                stack(n, true);
        }
 
-       PRINTF("focus node %X\n", n->client->window);
-       put_status(SBSC_MASK_WINDOW_FOCUS, "window_focus 0x%X\n", n->client->window);
+       put_status(SBSC_MASK_WINDOW_FOCUS, "window_focus %s %s 0x%X\n", m->name, d->name, n->client->window);
 
        history_add(m, d, n);
        set_input_focus(n);
@@ -895,8 +894,6 @@ void unlink_node(monitor_t *m, desktop_t *d, node_t *n)
        if (d == NULL || n == NULL)
                return;
 
-       PRINTF("unlink node %X\n", n->client->window);
-
        node_t *p = n->parent;
 
        if (p == NULL) {
@@ -952,9 +949,8 @@ void remove_node(monitor_t *m, desktop_t *d, node_t *n)
        if (n == NULL)
                return;
 
-       PRINTF("remove node %X\n", n->client->window);
-
        bool focused = (n == mon->desk->focus);
+
        unlink_node(m, d, n);
        history_remove(d, n);
        remove_stack_node(n);
@@ -985,11 +981,12 @@ void destroy_tree(node_t *n)
 
 bool swap_nodes(monitor_t *m1, desktop_t *d1, node_t *n1, monitor_t *m2, desktop_t *d2, node_t *n2)
 {
-       if (n1 == NULL || n2 == NULL ||n1 == n2 ||
-           (d1 != d2 && (n1->client->sticky || n2->client->sticky)))
+       if (n1 == NULL || n2 == NULL || n1 == n2
+           || (d1 != d2 && (n1->client->sticky || n2->client->sticky))) {
                return false;
+       }
 
-       PRINTF("swap nodes %X %X\n", n1->client->window, n2->client->window);
+       put_status(SBSC_MASK_WINDOW_SWAP, "window_swap %s %s 0x%X %s %s 0x%X\n", m1->name, d1->name, n1->client->window, m2->name, d2->name, n2->client->window);
 
        node_t *pn1 = n1->parent;
        node_t *pn2 = n2->parent;
@@ -1070,7 +1067,6 @@ bool transfer_node(monitor_t *ms, desktop_t *ds, node_t *ns, monitor_t *md, desk
                return false;
        }
 
-       PRINTF("transfer node %X\n", ns->client->window);
        put_status(SBSC_MASK_WINDOW_TRANSFER, "window_transfer %s %s 0x%X %s %s 0x%X\n", ms->name, ds->name, ns->client->window, md->name, dd->name, nd!=NULL?nd->client->window:0);
 
        bool focused = (ns == mon->desk->focus);
@@ -1105,7 +1101,7 @@ bool transfer_node(monitor_t *ms, desktop_t *ds, node_t *ns, monitor_t *md, desk
                if (focused) {
                        focus_node(md, dd, ns);
                } else if (active) {
-                       activate(md, dd, ns);
+                       activate_node(md, dd, ns);
                }
        } else {
                if (focused) {
@@ -1168,8 +1164,6 @@ void update_vacant_state(node_t *n)
        if (n == NULL)
                return;
 
-       PUTS("update vacant state");
-
        /* n is not a leaf */
        node_t *p = n;
 
diff --git a/tree.h b/tree.h
index 1e2b31758eb2afdb25a36b39f36eef9f97b01d80..25316c451757a34ca8dfffc0c9617e874415f942 100644 (file)
--- a/tree.h
+++ b/tree.h
@@ -28,7 +28,7 @@
 void arrange(monitor_t *m, desktop_t *d);
 void apply_layout(monitor_t *m, desktop_t *d, node_t *n, xcb_rectangle_t rect, xcb_rectangle_t root_rect);
 void insert_node(monitor_t *m, desktop_t *d, node_t *n, node_t *f);
-void activate(monitor_t *m, desktop_t *d, node_t *n);
+void activate_node(monitor_t *m, desktop_t *d, node_t *n);
 void focus_node(monitor_t *m, desktop_t *d, node_t *n);
 void update_current(void);
 node_t *make_node(void);
index 22a9d3053583778de221cbe5ea1bc011b6f3a175..0347487027cee6bfb9174a4427831ccfe3cb5433 100644 (file)
--- a/window.c
+++ b/window.c
@@ -79,8 +79,6 @@ void manage_window(xcb_window_t win, rule_consequence_t *csq, int fd)
                return;
        }
 
-       PRINTF("manage %X\n", win);
-
        if (csq->node_desc[0] != '\0') {
                coordinates_t ref = {m, d, f};
                coordinates_t trg = {NULL, NULL, NULL};
@@ -127,8 +125,9 @@ void manage_window(xcb_window_t win, rule_consequence_t *csq, int fd)
 
        client_t *c = make_client(win, csq->border ? d->border_width : 0);
        update_floating_rectangle(c);
-       if (c->floating_rectangle.x == 0 && c->floating_rectangle.y == 0)
+       if (c->floating_rectangle.x == 0 && c->floating_rectangle.y == 0) {
                csq->center = true;
+       }
        c->min_width = csq->min_width;
        c->max_width = csq->max_width;
        c->min_height = csq->min_height;
@@ -147,7 +146,7 @@ void manage_window(xcb_window_t win, rule_consequence_t *csq, int fd)
        node_t *n = make_node();
        n->client = c;
 
-       put_status(SBSC_MASK_WINDOW_MANAGE, "window_manage %s %s 0x%X 0x%X\n", m->name, d->name, f!=NULL?f->client->window:0, win);
+       put_status(SBSC_MASK_WINDOW_MANAGE, "window_manage %s %s 0x%X 0x%X\n", m->name, d->name, win, f!=NULL?f->client->window:0);
        insert_node(m, d, n, f);
 
        if (f != NULL && f->client != NULL && csq->state != NULL && *(csq->state) == STATE_FLOATING) {
@@ -171,7 +170,7 @@ void manage_window(xcb_window_t win, rule_consequence_t *csq, int fd)
        if (give_focus) {
                focus_node(m, d, n);
        } else if (csq->focus) {
-               activate(m, d, n);
+               activate_node(m, d, n);
        } else {
                stack(n, false);
        }
@@ -202,8 +201,7 @@ void unmanage_window(xcb_window_t win)
 {
        coordinates_t loc;
        if (locate_window(win, &loc)) {
-               PRINTF("unmanage %X\n", win);
-               put_status(SBSC_MASK_WINDOW_UNMANAGE, "window_unmanage 0x%X\n", win);
+               put_status(SBSC_MASK_WINDOW_UNMANAGE, "window_unmanage %s %s 0x%X\n", loc.monitor, loc.desktop, win);
                remove_node(loc.monitor, loc.desktop, loc.node);
                if (frozen_pointer->window == win)
                        frozen_pointer->action = ACTION_NONE;
@@ -359,8 +357,6 @@ void adopt_orphans(void)
        if (qtr == NULL)
                return;
 
-       PUTS("adopt orphans");
-
        int len = xcb_query_tree_children_length(qtr);
        xcb_window_t *wins = xcb_query_tree_children(qtr);
        for (int i = 0; i < len; i++) {
@@ -378,8 +374,6 @@ void window_close(node_t *n)
        if (n == NULL || n->client->locked)
                return;
 
-       PRINTF("close window %X\n", n->client->window);
-
        send_client_message(n->client->window, ewmh->WM_PROTOCOLS, WM_DELETE_WINDOW);
 }
 
@@ -389,7 +383,6 @@ void window_kill(monitor_t *m, desktop_t *d, node_t *n)
                return;
 
        xcb_window_t win = n->client->window;
-       PRINTF("kill window %X\n", win);
 
        xcb_kill_client(dpy, win);
        remove_node(m, d, n);
@@ -405,7 +398,7 @@ void set_layer(monitor_t *m, desktop_t *d, node_t *n, stack_layer_t l)
 
        c->layer = l;
 
-       put_status(SBSC_MASK_WINDOW_LAYER, "window_layer %s 0x%X\n", LAYERSTR(l), c->window);
+       put_status(SBSC_MASK_WINDOW_LAYER, "window_layer %s %s 0x%X %s\n", m->name, d->name, c->window, LAYERSTR(l));
 
        if (d->focus == n) {
                neutralize_obscuring_windows(m, d, n);
@@ -437,7 +430,7 @@ void set_state(monitor_t *m, desktop_t *d, node_t *n, client_state_t s)
                        break;
        }
 
-       put_status(SBSC_MASK_WINDOW_STATE, "window_state %s off 0x%X\n", STATESTR(c->last_state), c->window);
+       put_status(SBSC_MASK_WINDOW_STATE, "window_state %s %s 0x%X %s off\n", m->name, d->name, c->window, STATESTR(c->last_state));
 
        switch (c->state) {
                case STATE_TILED:
@@ -451,7 +444,7 @@ void set_state(monitor_t *m, desktop_t *d, node_t *n, client_state_t s)
                        break;
        }
 
-       put_status(SBSC_MASK_WINDOW_STATE, "window_state %s on 0x%X\n", STATESTR(c->state), c->window);
+       put_status(SBSC_MASK_WINDOW_STATE, "window_state %s %s 0x%X %s on\n", m->name, d->name, c->window, STATESTR(c->state));
 }
 
 void set_floating(monitor_t *m, desktop_t *d, node_t *n, bool value)
@@ -530,7 +523,7 @@ void set_locked(monitor_t *m, desktop_t *d, node_t *n, bool value)
 
        client_t *c = n->client;
 
-       put_status(SBSC_MASK_WINDOW_FLAG, "window_flag locked %s 0x%X\n", ONOFFSTR(value), c->window);
+       put_status(SBSC_MASK_WINDOW_FLAG, "window_flag %s %s 0x%X locked %s\n", m->name, d->name, c->window, ONOFFSTR(value));
 
        c->locked = value;
        window_draw_border(n, d->focus == n, m == mon);
@@ -543,7 +536,7 @@ void set_sticky(monitor_t *m, desktop_t *d, node_t *n, bool value)
 
        client_t *c = n->client;
 
-       put_status(SBSC_MASK_WINDOW_FLAG, "window_flag sticky %s 0x%X\n", ONOFFSTR(value), c->window);
+       put_status(SBSC_MASK_WINDOW_FLAG, "window_flag %s %s 0x%X sticky %s\n", m->name, d->name, c->window, ONOFFSTR(value));
 
        if (d != m->desk)
                transfer_node(m, d, n, m, m->desk, m->desk->focus);
@@ -567,7 +560,7 @@ void set_private(monitor_t *m, desktop_t *d, node_t *n, bool value)
 
        client_t *c = n->client;
 
-       put_status(SBSC_MASK_WINDOW_FLAG, "window_flag private %s 0x%X\n", ONOFFSTR(value), c->window);
+       put_status(SBSC_MASK_WINDOW_FLAG, "window_flag %s %s 0x%X private %s\n", m->name, d->name, c->window, ONOFFSTR(value));
 
        c->private = value;
        update_privacy_level(n, value);
@@ -581,7 +574,7 @@ void set_urgency(monitor_t *m, desktop_t *d, node_t *n, bool value)
        n->client->urgent = value;
        window_draw_border(n, d->focus == n, m == mon);
 
-       put_status(SBSC_MASK_WINDOW_FLAG, "window_flag urgent %s 0x%X\n", ONOFFSTR(value), n->client->window);
+       put_status(SBSC_MASK_WINDOW_FLAG, "window_flag %s %s 0x%X urgent %s\n", m->name, d->name, n->client->window, ONOFFSTR(value));
        put_status(SBSC_MASK_REPORT);
 }
 
@@ -783,13 +776,11 @@ void window_set_visibility(xcb_window_t win, bool visible)
 
 void window_hide(xcb_window_t win)
 {
-       PRINTF("window hide %X\n", win);
        window_set_visibility(win, false);
 }
 
 void window_show(xcb_window_t win)
 {
-       PRINTF("window show %X\n", win);
        window_set_visibility(win, true);
 }
 
@@ -807,14 +798,12 @@ void toggle_visibility(void)
 
 void enable_motion_recorder(void)
 {
-       PUTS("motion recorder on");
        window_raise(motion_recorder);
        window_show(motion_recorder);
 }
 
 void disable_motion_recorder(void)
 {
-       PUTS("motion recorder off");
        window_hide(motion_recorder);
 }
 
@@ -824,7 +813,6 @@ void update_motion_recorder(void)
 
        if (geo != NULL) {
                window_resize(motion_recorder, geo->width, geo->height);
-               PRINTF("update motion recorder size: %ux%u\n", geo->width, geo->height);
        }
 
        free(geo);