]> git.sur5r.net Git - i3/i3/commitdiff
Revert "Handle WM_CHANGE_STATE requests for iconic state"
authorMichael Stapelberg <michael@stapelberg.de>
Sat, 7 Mar 2015 10:46:43 +0000 (11:46 +0100)
committerMichael Stapelberg <michael@stapelberg.de>
Sat, 7 Mar 2015 10:47:01 +0000 (11:47 +0100)
This reverts commit 136b3e345bfde637d3270eafaa2d8aa3555cc3d5.

fixes #1516

include/atoms.xmacro
src/handlers.c
testcases/t/231-wm-change-state.t [deleted file]

index 1f28c01405209022c8567c6d9370fe0a1d7426e7..59dab6eddd1c1eeeff16b3b5b26d5992b137ad85 100644 (file)
@@ -39,4 +39,3 @@ xmacro(I3_PID)
 xmacro(_NET_REQUEST_FRAME_EXTENTS)
 xmacro(_NET_FRAME_EXTENTS)
 xmacro(_MOTIF_WM_HINTS)
-xmacro(WM_CHANGE_STATE)
index b0a27df55360c770c3237209ad756a50798ced82..529a4b58c34deda1b63612f006f167c0812366dd 100644 (file)
@@ -804,21 +804,6 @@ static void handle_client_message(xcb_client_message_event_t *event) {
             XCB_ATOM_CARDINAL, 32, 4,
             &r);
         xcb_flush(conn);
-    } else if (event->type == A_WM_CHANGE_STATE) {
-        /* http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.4 */
-        Con *con = con_by_window_id(event->window);
-
-        if (con && event->data.data32[0] == 3) {
-            /* this request is so we can play some animiation showing the
-             * window physically moving to the tray before we close it (I
-             * think) */
-            DLOG("Client has requested iconic state. Closing this con. (con = %p)\n", con);
-            tree_close(con, DONT_KILL_WINDOW, false, false);
-            tree_render();
-        } else {
-            DLOG("Not handling WM_CHANGE_STATE request. (window = %d, state = %d)\n", event->window, event->data.data32[0]);
-        }
-
     } else if (event->type == A__NET_CURRENT_DESKTOP) {
         /* This request is used by pagers and bars to change the current
          * desktop likely as a result of some user action. We interpret this as
diff --git a/testcases/t/231-wm-change-state.t b/testcases/t/231-wm-change-state.t
deleted file mode 100644 (file)
index 92992b4..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#!perl
-# vim:ts=4:sw=4:expandtab
-#
-# Please read the following documents before working on tests:
-# • http://build.i3wm.org/docs/testsuite.html
-#   (or docs/testsuite)
-#
-# • http://build.i3wm.org/docs/lib-i3test.html
-#   (alternatively: perldoc ./testcases/lib/i3test.pm)
-#
-# • http://build.i3wm.org/docs/ipc.html
-#   (or docs/ipc)
-#
-# • http://onyxneon.com/books/modern_perl/modern_perl_a4.pdf
-#   (unless you are already familiar with Perl)
-#
-# Correctly handle WM_CHANGE_STATE requests for the iconic state
-# See http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.4
-# Ticket: #1279
-# Bug still in: 4.8-7-gf4a8253
-use i3test;
-
-sub send_iconic_state_request {
-    my ($win) = @_;
-
-    my $msg = pack "CCSLLLLLL",
-        X11::XCB::CLIENT_MESSAGE, # response_type
-        32, # format
-        0, # sequence
-        $win->id, # window
-        $x->atom(name => 'WM_CHANGE_STATE')->id, # message type
-        3, # data32[0]
-        0, # data32[1]
-        0, # data32[2]
-        0, # data32[3]
-        0; # data32[4]
-
-    $x->send_event(0, $x->get_root_window(), X11::XCB::EVENT_MASK_SUBSTRUCTURE_REDIRECT, $msg);
-}
-
-my $ws = fresh_workspace;
-my $win = open_window;
-
-send_iconic_state_request($win);
-sync_with_i3;
-
-is(@{get_ws($ws)->{nodes}}, 0, 'When a window requests the iconic state, the container should be closed');
-
-done_testing;