Also set DIALOG, UTILITY and SPLASH windows floating automatically
This commit is contained in:
parent
a2a8cd85d6
commit
a6d7f5451d
|
@ -3,7 +3,7 @@
|
||||||
*
|
*
|
||||||
* i3 - an improved dynamic tiling window manager
|
* i3 - an improved dynamic tiling window manager
|
||||||
*
|
*
|
||||||
* (c) 2009 Michael Stapelberg and contributors
|
* © 2009 Michael Stapelberg and contributors
|
||||||
*
|
*
|
||||||
* See file LICENSE for license information.
|
* See file LICENSE for license information.
|
||||||
*
|
*
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
#ifndef _I3_H
|
#ifndef _I3_H
|
||||||
#define _I3_H
|
#define _I3_H
|
||||||
|
|
||||||
#define NUM_ATOMS 14
|
#define NUM_ATOMS 17
|
||||||
|
|
||||||
extern char **start_argv;
|
extern char **start_argv;
|
||||||
extern Display *xkbdpy;
|
extern Display *xkbdpy;
|
||||||
|
|
|
@ -50,6 +50,9 @@ enum { _NET_SUPPORTED = 0,
|
||||||
_NET_WM_WINDOW_TYPE,
|
_NET_WM_WINDOW_TYPE,
|
||||||
_NET_WM_WINDOW_TYPE_DOCK,
|
_NET_WM_WINDOW_TYPE_DOCK,
|
||||||
_NET_WM_WINDOW_TYPE_DIALOG,
|
_NET_WM_WINDOW_TYPE_DIALOG,
|
||||||
|
_NET_WM_WINDOW_TYPE_UTILITY,
|
||||||
|
_NET_WM_WINDOW_TYPE_TOOLBAR,
|
||||||
|
_NET_WM_WINDOW_TYPE_SPLASH,
|
||||||
_NET_WM_DESKTOP,
|
_NET_WM_DESKTOP,
|
||||||
_NET_WM_STRUT_PARTIAL,
|
_NET_WM_STRUT_PARTIAL,
|
||||||
WM_PROTOCOLS,
|
WM_PROTOCOLS,
|
||||||
|
|
|
@ -924,7 +924,7 @@ void parse_command(xcb_connection_t *conn, const char *command) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (last_focused == NULL) {
|
if (last_focused == NULL) {
|
||||||
LOG("Not performing (null) \n");
|
LOG("Not performing (no window found)\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -161,6 +161,9 @@ int main(int argc, char *argv[], char *env[]) {
|
||||||
REQUEST_ATOM(_NET_WM_DESKTOP);
|
REQUEST_ATOM(_NET_WM_DESKTOP);
|
||||||
REQUEST_ATOM(_NET_WM_WINDOW_TYPE_DOCK);
|
REQUEST_ATOM(_NET_WM_WINDOW_TYPE_DOCK);
|
||||||
REQUEST_ATOM(_NET_WM_WINDOW_TYPE_DIALOG);
|
REQUEST_ATOM(_NET_WM_WINDOW_TYPE_DIALOG);
|
||||||
|
REQUEST_ATOM(_NET_WM_WINDOW_TYPE_UTILITY);
|
||||||
|
REQUEST_ATOM(_NET_WM_WINDOW_TYPE_TOOLBAR);
|
||||||
|
REQUEST_ATOM(_NET_WM_WINDOW_TYPE_SPLASH);
|
||||||
REQUEST_ATOM(_NET_WM_STRUT_PARTIAL);
|
REQUEST_ATOM(_NET_WM_STRUT_PARTIAL);
|
||||||
REQUEST_ATOM(WM_PROTOCOLS);
|
REQUEST_ATOM(WM_PROTOCOLS);
|
||||||
REQUEST_ATOM(WM_DELETE_WINDOW);
|
REQUEST_ATOM(WM_DELETE_WINDOW);
|
||||||
|
@ -265,6 +268,9 @@ int main(int argc, char *argv[], char *env[]) {
|
||||||
GET_ATOM(_NET_WM_DESKTOP);
|
GET_ATOM(_NET_WM_DESKTOP);
|
||||||
GET_ATOM(_NET_WM_WINDOW_TYPE_DOCK);
|
GET_ATOM(_NET_WM_WINDOW_TYPE_DOCK);
|
||||||
GET_ATOM(_NET_WM_WINDOW_TYPE_DIALOG);
|
GET_ATOM(_NET_WM_WINDOW_TYPE_DIALOG);
|
||||||
|
GET_ATOM(_NET_WM_WINDOW_TYPE_UTILITY);
|
||||||
|
GET_ATOM(_NET_WM_WINDOW_TYPE_TOOLBAR);
|
||||||
|
GET_ATOM(_NET_WM_WINDOW_TYPE_SPLASH);
|
||||||
GET_ATOM(_NET_WM_STRUT_PARTIAL);
|
GET_ATOM(_NET_WM_STRUT_PARTIAL);
|
||||||
GET_ATOM(WM_PROTOCOLS);
|
GET_ATOM(WM_PROTOCOLS);
|
||||||
GET_ATOM(WM_DELETE_WINDOW);
|
GET_ATOM(WM_DELETE_WINDOW);
|
||||||
|
|
|
@ -259,7 +259,10 @@ void reparent_window(xcb_connection_t *conn, xcb_window_t child,
|
||||||
SLIST_INSERT_HEAD(&(c_ws->screen->dock_clients), new, dock_clients);
|
SLIST_INSERT_HEAD(&(c_ws->screen->dock_clients), new, dock_clients);
|
||||||
/* If it’s a dock we can’t make it float, so we break */
|
/* If it’s a dock we can’t make it float, so we break */
|
||||||
break;
|
break;
|
||||||
} else if (atom[i] == atoms[_NET_WM_WINDOW_TYPE_DIALOG]) {
|
} else if (atom[i] == atoms[_NET_WM_WINDOW_TYPE_DIALOG] ||
|
||||||
|
atom[i] == atoms[_NET_WM_WINDOW_TYPE_UTILITY] ||
|
||||||
|
atom[i] == atoms[_NET_WM_WINDOW_TYPE_TOOLBAR] ||
|
||||||
|
atom[i] == atoms[_NET_WM_WINDOW_TYPE_SPLASH]) {
|
||||||
/* Set the dialog window to automatically floating, will be used below */
|
/* Set the dialog window to automatically floating, will be used below */
|
||||||
new->floating = FLOATING_AUTO_ON;
|
new->floating = FLOATING_AUTO_ON;
|
||||||
LOG("dialog window, automatically floating\n");
|
LOG("dialog window, automatically floating\n");
|
||||||
|
|
Loading…
Reference in New Issue