Go to file
Marco Hunsicker 00ee86de79 Send IPC window events for focus and title changes
This patch fixes ticket #1168 to extend the window IPC event mechanism
to send IPC events for window focus and title changes. The newly added
window events use the same format as the already established "new"
event.

Specifically this patch:

* Moves the ipc_send_window_event() function from src/manage.c into
  src/ipc.c and adds an argument for the change property of the event
* Updates src/manage.c to use the new function signature. To ensure
  that the "new" event does not send the same event data as the
  "focus" event, setting focus now happens after the "new" event
  has been sent
* Adds IPC focus event notification to src/x.c. To workaround a problem
  during window close when accessing the window name, a function has been
  added to query whether a window is actually attached to its parent. To
  avoid obsolete focus notification, a new field has been added to keep
  track of the focus without any interference by the click handling
* Adds IPC title event notification to src/handlers.c. To avoid
  obsolete title notification, a function has been added to determine
  whether a window title has actually changed
* Updates the IPC documentation to include the new events
* Updates testcases/t/205-ipc-windows.t to include the "focus" event
  in order to ensure the correct event sequence
* Adds two new unit tests, b/testcases/t/219-ipc-window-focus.t and
  b/testcases/t/220-ipc-window-title.t to ensure proper "focus" and
 "title" events
2014-02-26 22:24:19 +01:00
contrib contrib: add per-workspace-layout.pl 2014-01-26 16:51:32 +01:00
debian debian/rules: get rid of hardcoded release notes file name 2014-01-26 16:22:06 +01:00
docs Send IPC window events for focus and title changes 2014-02-26 22:24:19 +01:00
i3-config-wizard Fix 'gcc -Wextra -Wno-unused-parameter'. 2014-01-04 20:43:30 +01:00
i3-dump-log make i3bar use libi3’s root_atom_contents() 2013-11-22 15:48:45 +01:00
i3-input Use #pragma once 2014-01-01 15:06:57 +01:00
i3-msg use designated initializers for yajl_callbacks struct 2014-01-06 22:12:14 +01:00
i3-nagbar Fix 'gcc -Wextra -Wno-unused-parameter'. 2014-01-04 20:43:30 +01:00
i3bar i3bar: Do not kill watcher on EOF 2014-02-15 12:55:30 +01:00
include Send IPC window events for focus and title changes 2014-02-26 22:24:19 +01:00
libi3 Fix clang -Wextra except -Wunused-parameter. 2014-01-02 22:15:33 +01:00
man man/i3.man: Update font doc to reflect i3.config 2014-02-15 13:23:08 +01:00
parser-specs Fix command parser: resizing tiling windows 2013-10-13 18:02:40 +02:00
src Send IPC window events for focus and title changes 2014-02-26 22:24:19 +01:00
testcases Send IPC window events for focus and title changes 2014-02-26 22:24:19 +01:00
tests Use #pragma once 2014-01-01 15:06:57 +01:00
yajl-fallback/yajl Make code compatible with yajl 2.0 *and* 1.0 2011-04-27 20:04:34 +02:00
.gitignore ignore symbol files on OS X (only for debugging, breaks git-add -A) 2013-11-26 19:56:59 +01:00
common.mk enable shmlog when invoked as i3-with-shmlog, install symlink + .desktop file 2014-01-04 12:18:45 +01:00
DEPENDS update DEPENDS 2013-12-22 21:52:49 +01:00
generate-command-parser.pl Bugfix: Properly parse commands like “move workspace torrent” (Thanks rasi) 2013-02-19 00:27:55 +01:00
i3-dmenu-desktop i3-dmenu-desktop: honor Path= key (Thanks Alexander) 2013-07-13 17:47:10 +02:00
i3-migrate-config-to-v4 i3-migrate-config-to-v4: use layout toggle split (Thanks eeemsi) 2012-08-04 12:46:37 +02:00
i3-save-tree i3-save-tree: only create "swallows" key for leaf nodes (Thanks xeen) 2014-01-05 20:10:24 +01:00
i3-sensible-editor update i3-sensible-* (Thanks Han) 2011-12-29 00:01:49 +01:00
i3-sensible-pager update i3-sensible-* (Thanks Han) 2011-12-29 00:01:49 +01:00
i3-sensible-terminal Add xfce4-terminal to i3-sensible-terminal 2012-08-02 15:20:17 +02:00
i3-with-shmlog.xsession.desktop enable shmlog when invoked as i3-with-shmlog, install symlink + .desktop file 2014-01-04 12:18:45 +01:00
i3.applications.desktop Add 'NoDisplay=true' to i3.application.desktop 2013-06-12 19:47:57 +02:00
i3.config Add scratchpad bindings to the default config. 2013-09-16 03:01:57 +02:00
i3.config.keycodes recommend i3-dmenu-desktop in the default config 2012-12-11 22:36:29 +01:00
i3.xsession.desktop Fix xsession.desktop to comply to fdo standard 2012-09-20 11:34:11 +02:00
LICENSE remove obsolete CMDMODE and TODO files, update LICENSE 2011-10-08 15:18:04 +01:00
logo.svg s/i3.zekjur.net/i3wm.org/g 2011-08-28 17:44:42 +02:00
Makefile Merge branch 'master' into next 2014-01-04 12:20:12 +01:00
PACKAGE-MAINTAINER Introduce the i3-sensible-{pager,editor,terminal} scripts 2011-09-25 18:46:37 +01:00
pseudo-doc.doxygen s/i3.zekjur.net/i3wm.org/g 2011-08-28 17:44:42 +02:00
RELEASE-NOTES-4.2 add release notes for v4.2 2012-04-25 23:06:39 +02:00
RELEASE-NOTES-4.3 release-notes: s/mod+l/mod+e/ (Thanks hax404) 2012-10-04 17:04:37 +02:00
RELEASE-NOTES-4.4 add release notes for v4.4 2012-12-11 22:45:34 +01:00
RELEASE-NOTES-4.5 add release notes for i3 v4.5 2013-03-12 13:40:52 +01:00
RELEASE-NOTES-4.5.1 add release notes for v4.5.1 2013-03-18 22:42:33 +01:00
RELEASE-NOTES-4.6 add release notes for v4.6 2013-08-07 21:04:18 +02:00
RELEASE-NOTES-4.7 add release notes for v4.7 2013-12-22 21:12:10 +01:00
RELEASE-NOTES-4.7.1 add release notes for 4.7.1, update manpage version 2014-01-21 19:20:36 +01:00
RELEASE-NOTES-4.7.2 add release notes for 4.7.2 2014-01-23 22:51:55 +01:00