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);
|
||||
/* raise if it was not already on the desktop */
|
||||
if (old != DESKTOP_ALL)
|
||||
action_run_string("Raise", self);
|
||||
client_raise(self);
|
||||
screen_update_areas();
|
||||
|
||||
/* add to the new desktop(s) */
|
||||
|
@ -2602,7 +2602,7 @@ void client_activate(ObClient *self, gboolean here)
|
|||
if (client_normal(self) && screen_showing_desktop)
|
||||
screen_show_desktop(FALSE);
|
||||
if (self->iconic)
|
||||
client_iconify(self, FALSE, FALSE);
|
||||
client_iconify(self, FALSE, here);
|
||||
if (self->desktop != DESKTOP_ALL &&
|
||||
self->desktop != screen_desktop) {
|
||||
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
|
||||
this or else the raise wont be able to raise above the to-lose-focus
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
|
@ -451,6 +451,26 @@ void client_activate(ObClient *self, gboolean here);
|
|||
/*! Calculates the stacking layer for the client window */
|
||||
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 */
|
||||
void client_update_transient_for(ObClient *self);
|
||||
/*! Update the protocols that the window supports and adjusts things if they
|
||||
|
|
Loading…
Reference in a new issue