add client_raise and client_lower which just fire off actions
This commit is contained in:
parent
411cc1d1d9
commit
dfd524926e
2 changed files with 32 additions and 2 deletions
|
@ -2289,7 +2289,7 @@ void client_set_desktop_recursive(ObClient *self,
|
||||||
client_showhide(self);
|
client_showhide(self);
|
||||||
/* raise if it was not already on the desktop */
|
/* raise if it was not already on the desktop */
|
||||||
if (old != DESKTOP_ALL)
|
if (old != DESKTOP_ALL)
|
||||||
action_run_string("Raise", self);
|
client_raise(self);
|
||||||
screen_update_areas();
|
screen_update_areas();
|
||||||
|
|
||||||
/* add to the new desktop(s) */
|
/* add to the new desktop(s) */
|
||||||
|
@ -2602,7 +2602,7 @@ void client_activate(ObClient *self, gboolean here)
|
||||||
if (client_normal(self) && screen_showing_desktop)
|
if (client_normal(self) && screen_showing_desktop)
|
||||||
screen_show_desktop(FALSE);
|
screen_show_desktop(FALSE);
|
||||||
if (self->iconic)
|
if (self->iconic)
|
||||||
client_iconify(self, FALSE, FALSE);
|
client_iconify(self, FALSE, here);
|
||||||
if (self->desktop != DESKTOP_ALL &&
|
if (self->desktop != DESKTOP_ALL &&
|
||||||
self->desktop != screen_desktop) {
|
self->desktop != screen_desktop) {
|
||||||
if (here)
|
if (here)
|
||||||
|
@ -2623,6 +2623,16 @@ void client_activate(ObClient *self, gboolean here)
|
||||||
about raising the window. when a fullscreen window loses focus, we need
|
about raising the window. when a fullscreen window loses focus, we need
|
||||||
this or else the raise wont be able to raise above the to-lose-focus
|
this or else the raise wont be able to raise above the to-lose-focus
|
||||||
fullscreen window. */
|
fullscreen window. */
|
||||||
|
client_raise(self);
|
||||||
|
}
|
||||||
|
|
||||||
|
void client_raise(ObClient *self)
|
||||||
|
{
|
||||||
|
action_run_string("Raise", self);
|
||||||
|
}
|
||||||
|
|
||||||
|
void client_lower(ObClient *self)
|
||||||
|
{
|
||||||
action_run_string("Raise", self);
|
action_run_string("Raise", self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -451,6 +451,26 @@ void client_activate(ObClient *self, gboolean here);
|
||||||
/*! Calculates the stacking layer for the client window */
|
/*! Calculates the stacking layer for the client window */
|
||||||
void client_calc_layer(ObClient *self);
|
void client_calc_layer(ObClient *self);
|
||||||
|
|
||||||
|
/*! Raises the client to the top of its stacking layer
|
||||||
|
Normally actions call to the client_* functions to make stuff go, but this
|
||||||
|
one is an exception. It just fires off an action, which will be queued.
|
||||||
|
This is because stacking order rules can be changed by focus state, and so
|
||||||
|
any time focus changes you have to wait for it to complete before you can
|
||||||
|
properly restart windows. As such, this only queues an action for later
|
||||||
|
execution, once the focus change has gone through.
|
||||||
|
*/
|
||||||
|
void client_raise(ObClient *self);
|
||||||
|
|
||||||
|
/*! Lowers the client to the bottom of its stacking layer
|
||||||
|
Normally actions call to the client_* functions to make stuff go, but this
|
||||||
|
one is an exception. It just fires off an action, which will be queued.
|
||||||
|
This is because stacking order rules can be changed by focus state, and so
|
||||||
|
any time focus changes you have to wait for it to complete before you can
|
||||||
|
properly restart windows. As such, this only queues an action for later
|
||||||
|
execution, once the focus change has gone through.
|
||||||
|
*/
|
||||||
|
void client_lower(ObClient *self);
|
||||||
|
|
||||||
/*! Updates the window's transient status, and any parents of it */
|
/*! Updates the window's transient status, and any parents of it */
|
||||||
void client_update_transient_for(ObClient *self);
|
void client_update_transient_for(ObClient *self);
|
||||||
/*! Update the protocols that the window supports and adjusts things if they
|
/*! Update the protocols that the window supports and adjusts things if they
|
||||||
|
|
Loading…
Reference in a new issue