i3 - improved tiling WM


Additional GNOME integration.

Patch status: rejected

Patch by Emil Mikulic

To apply this patch, use:
curl http://cr.i3wm.org/patch/17/raw.patch | git am

b/gnome-session-i3

25
@@ -0,0 +1,2 @@
26
+#! /bin/sh
27
+exec gnome-session --session i3-gnome "$@"

b/i3-gnome

33
@@ -0,0 +1,4 @@
34
+#! /bin/sh
35
+i3 &
36
+sleep 1
37
+dbus-send --session --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.RegisterClient string:org.i3wm.session string:$DESKTOP_AUTOSTART_ID

b/i3-gnome.applications.desktop

43
@@ -0,0 +1,9 @@
44
+[Desktop Entry]
45
+Type=Application
46
+Name=i3-gnome
47
+Comment=improved dynamic tiling window manager with GNOME integration
48
+Exec=i3-gnome
49
+X-GNOME-WMName=i3-gnome
50
+X-GNOME-Autostart-Phase=WindowManager
51
+X-GNOME-Provides=windowmanager
52
+X-GNOME-Autostart-Notify=true

b/i3-gnome.xsession.desktop

58
@@ -0,0 +1,5 @@
59
+[Desktop Entry]
60
+Name=i3-gnome
61
+Comment=improved dynamic tiling window manager with GNOME integration
62
+Exec=gnome-session-i3
63
+Type=Application

b/i3.applications.desktop

68
@@ -6,4 +6,4 @@ Exec=i3
69
 X-GNOME-WMName=i3
70
 X-GNOME-Autostart-Phase=WindowManager
71
 X-GNOME-Provides=windowmanager
72
-X-GNOME-Autostart-Notify=false
73
+X-GNOME-Autostart-Notify=true

b/i3.gnome.session

79
@@ -0,0 +1,6 @@
80
+[GNOME Session]
81
+Name=i3-gnome
82
+RequiredComponents=gnome-settings-daemon;
83
+RequiredProviders=windowmanager;
84
+DefaultProvider-windowmanager=i3-gnome
85
+DefaultProvider-notifications=notify-osd

b/src/i3.mk

90
@@ -70,19 +70,25 @@ install-i3: i3
91
 	echo "[i3] Install"
92
 	$(INSTALL) -d -m 0755 $(DESTDIR)$(PREFIX)/bin
93
 	$(INSTALL) -d -m 0755 $(DESTDIR)$(SYSCONFDIR)/i3
94
-	$(INSTALL) -d -m 0755 $(DESTDIR)$(PREFIX)/include/i3
95
 	$(INSTALL) -d -m 0755 $(DESTDIR)$(PREFIX)/share/xsessions
96
 	$(INSTALL) -d -m 0755 $(DESTDIR)$(PREFIX)/share/applications
97
+	$(INSTALL) -d -m 0755 $(DESTDIR)$(PREFIX)/share/gnome-session/sessions
98
+	$(INSTALL) -d -m 0755 $(DESTDIR)$(PREFIX)/include/i3
99
 	$(INSTALL) -m 0755 i3 $(DESTDIR)$(PREFIX)/bin/
100
+	$(INSTALL) -m 0755 i3-gnome $(DESTDIR)$(PREFIX)/bin/
101
 	$(INSTALL) -m 0755 i3-migrate-config-to-v4 $(DESTDIR)$(PREFIX)/bin/
102
 	$(INSTALL) -m 0755 i3-sensible-editor $(DESTDIR)$(PREFIX)/bin/
103
 	$(INSTALL) -m 0755 i3-sensible-pager $(DESTDIR)$(PREFIX)/bin/
104
 	$(INSTALL) -m 0755 i3-sensible-terminal $(DESTDIR)$(PREFIX)/bin/
105
 	$(INSTALL) -m 0755 i3-dmenu-desktop $(DESTDIR)$(PREFIX)/bin/
106
+	$(INSTALL) -m 0755 gnome-session-i3 $(DESTDIR)$(PREFIX)/bin/
107
 	test -e $(DESTDIR)$(SYSCONFDIR)/i3/config || $(INSTALL) -m 0644 i3.config $(DESTDIR)$(SYSCONFDIR)/i3/config
108
 	test -e $(DESTDIR)$(SYSCONFDIR)/i3/config.keycodes || $(INSTALL) -m 0644 i3.config.keycodes $(DESTDIR)$(SYSCONFDIR)/i3/config.keycodes
109
 	$(INSTALL) -m 0644 i3.xsession.desktop $(DESTDIR)$(PREFIX)/share/xsessions/i3.desktop
110
+	$(INSTALL) -m 0644 i3-gnome.xsession.desktop $(DESTDIR)$(PREFIX)/share/xsessions/i3-gnome.desktop
111
 	$(INSTALL) -m 0644 i3.applications.desktop $(DESTDIR)$(PREFIX)/share/applications/i3.desktop
112
+	$(INSTALL) -m 0644 i3-gnome.applications.desktop $(DESTDIR)$(PREFIX)/share/applications/i3-gnome.desktop
113
+	$(INSTALL) -m 0644 i3.gnome.session $(DESTDIR)$(PREFIX)/share/gnome-session/sessions/i3-gnome.session
114
 	$(INSTALL) -m 0644 include/i3/ipc.h $(DESTDIR)$(PREFIX)/include/i3/
115
 
116
 clean-i3: