add support for _NET_WM_WINDOW_TYPE_DIALOG
This commit is contained in:
parent
b4ff03c27e
commit
7faa483e89
7
ewmh.c
7
ewmh.c
|
@ -47,6 +47,7 @@ static Atom net_wm_window_type;
|
||||||
static Atom net_wm_window_type_normal;
|
static Atom net_wm_window_type_normal;
|
||||||
static Atom net_wm_window_type_dock;
|
static Atom net_wm_window_type_dock;
|
||||||
static Atom net_wm_window_type_splash;
|
static Atom net_wm_window_type_splash;
|
||||||
|
static Atom net_wm_window_type_dialog;
|
||||||
static Atom net_wm_icon;
|
static Atom net_wm_icon;
|
||||||
static Atom net_wm_state;
|
static Atom net_wm_state;
|
||||||
static Atom net_wm_state_sticky;
|
static Atom net_wm_state_sticky;
|
||||||
|
@ -78,6 +79,7 @@ static AtomItem AtomNames[] =
|
||||||
{ "_NET_WM_WINDOW_TYPE_NORMAL", &net_wm_window_type_normal },
|
{ "_NET_WM_WINDOW_TYPE_NORMAL", &net_wm_window_type_normal },
|
||||||
{ "_NET_WM_WINDOW_TYPE_DOCK", &net_wm_window_type_dock },
|
{ "_NET_WM_WINDOW_TYPE_DOCK", &net_wm_window_type_dock },
|
||||||
{ "_NET_WM_WINDOW_TYPE_SPLASH", &net_wm_window_type_splash },
|
{ "_NET_WM_WINDOW_TYPE_SPLASH", &net_wm_window_type_splash },
|
||||||
|
{ "_NET_WM_WINDOW_TYPE_DIALOG", &net_wm_window_type_dialog },
|
||||||
{ "_NET_WM_ICON", &net_wm_icon },
|
{ "_NET_WM_ICON", &net_wm_icon },
|
||||||
{ "_NET_WM_STATE", &net_wm_state },
|
{ "_NET_WM_STATE", &net_wm_state },
|
||||||
{ "_NET_WM_STATE_STICKY", &net_wm_state_sticky },
|
{ "_NET_WM_STATE_STICKY", &net_wm_state_sticky },
|
||||||
|
@ -128,6 +130,7 @@ ewmh_set_supported_hints(int phys_screen)
|
||||||
atom[i++] = net_wm_window_type_normal;
|
atom[i++] = net_wm_window_type_normal;
|
||||||
atom[i++] = net_wm_window_type_dock;
|
atom[i++] = net_wm_window_type_dock;
|
||||||
atom[i++] = net_wm_window_type_splash;
|
atom[i++] = net_wm_window_type_splash;
|
||||||
|
atom[i++] = net_wm_window_type_dialog;
|
||||||
atom[i++] = net_wm_icon;
|
atom[i++] = net_wm_icon;
|
||||||
atom[i++] = net_wm_state;
|
atom[i++] = net_wm_state;
|
||||||
atom[i++] = net_wm_state_sticky;
|
atom[i++] = net_wm_state_sticky;
|
||||||
|
@ -273,7 +276,7 @@ ewmh_process_window_type_atom(Client *c, Atom state)
|
||||||
{
|
{
|
||||||
if(state == net_wm_window_type_normal)
|
if(state == net_wm_window_type_normal)
|
||||||
{
|
{
|
||||||
/* do nothing */
|
/* do nothing. this is REALLY IMPORTANT */
|
||||||
}
|
}
|
||||||
else if(state == net_wm_window_type_dock
|
else if(state == net_wm_window_type_dock
|
||||||
|| state == net_wm_window_type_splash)
|
|| state == net_wm_window_type_splash)
|
||||||
|
@ -283,6 +286,8 @@ ewmh_process_window_type_atom(Client *c, Atom state)
|
||||||
c->isfixed = True;
|
c->isfixed = True;
|
||||||
c->isfloating = True;
|
c->isfloating = True;
|
||||||
}
|
}
|
||||||
|
else if (state == net_wm_window_type_dialog)
|
||||||
|
c->isfloating = True;
|
||||||
}
|
}
|
||||||
void
|
void
|
||||||
ewmh_process_client_message(XClientMessageEvent *ev)
|
ewmh_process_client_message(XClientMessageEvent *ev)
|
||||||
|
|
Loading…
Reference in New Issue