add the DesktopLast action, props to marius nita for this one
This commit is contained in:
parent
030fabad14
commit
854da68d0f
4 changed files with 17 additions and 0 deletions
|
@ -594,6 +594,11 @@ ActionString actionstrings[] =
|
||||||
action_unshow_desktop,
|
action_unshow_desktop,
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"desktoplast",
|
||||||
|
action_desktop_last,
|
||||||
|
NULL
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"restart",
|
"restart",
|
||||||
action_restart,
|
action_restart,
|
||||||
|
@ -1052,6 +1057,11 @@ void action_send_to_desktop_dir(union ActionData *data)
|
||||||
screen_set_desktop(d);
|
screen_set_desktop(d);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void action_desktop_last(union ActionData *data)
|
||||||
|
{
|
||||||
|
screen_set_desktop(screen_last_desktop);
|
||||||
|
}
|
||||||
|
|
||||||
void action_toggle_decorations(union ActionData *data)
|
void action_toggle_decorations(union ActionData *data)
|
||||||
{
|
{
|
||||||
ObClient *c = data->client.any.c;
|
ObClient *c = data->client.any.c;
|
||||||
|
|
|
@ -214,6 +214,8 @@ void action_send_to_desktop_dir(union ActionData *data);
|
||||||
void action_desktop(union ActionData *data);
|
void action_desktop(union ActionData *data);
|
||||||
/* DesktopDirection */
|
/* DesktopDirection */
|
||||||
void action_desktop_dir(union ActionData *data);
|
void action_desktop_dir(union ActionData *data);
|
||||||
|
/* Any */
|
||||||
|
void action_desktop_last(union ActionData *data);
|
||||||
/* ClientAction */
|
/* ClientAction */
|
||||||
void action_toggle_decorations(union ActionData *data);
|
void action_toggle_decorations(union ActionData *data);
|
||||||
/* MoveResize */
|
/* MoveResize */
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
guint screen_num_desktops;
|
guint screen_num_desktops;
|
||||||
guint screen_num_monitors;
|
guint screen_num_monitors;
|
||||||
guint screen_desktop;
|
guint screen_desktop;
|
||||||
|
guint screen_last_desktop;
|
||||||
Size screen_physical_size;
|
Size screen_physical_size;
|
||||||
gboolean screen_showing_desktop;
|
gboolean screen_showing_desktop;
|
||||||
DesktopLayout screen_desktop_layout;
|
DesktopLayout screen_desktop_layout;
|
||||||
|
@ -420,6 +421,8 @@ void screen_set_desktop(guint num)
|
||||||
|
|
||||||
if (old == num) return;
|
if (old == num) return;
|
||||||
|
|
||||||
|
screen_last_desktop = old;
|
||||||
|
|
||||||
ob_debug("Moving to desktop %d\n", num+1);
|
ob_debug("Moving to desktop %d\n", num+1);
|
||||||
|
|
||||||
/* show windows before hiding the rest to lessen the enter/leave events */
|
/* show windows before hiding the rest to lessen the enter/leave events */
|
||||||
|
|
|
@ -14,6 +14,8 @@ extern guint screen_num_desktops;
|
||||||
extern guint screen_num_monitors;
|
extern guint screen_num_monitors;
|
||||||
/*! The current desktop */
|
/*! The current desktop */
|
||||||
extern guint screen_desktop;
|
extern guint screen_desktop;
|
||||||
|
/*! The desktop which was last visible */
|
||||||
|
extern guint screen_last_desktop;
|
||||||
/*! Are we in showing-desktop mode? */
|
/*! Are we in showing-desktop mode? */
|
||||||
extern gboolean screen_showing_desktop;
|
extern gboolean screen_showing_desktop;
|
||||||
/*! The support window also used for focus and stacking */
|
/*! The support window also used for focus and stacking */
|
||||||
|
|
Loading…
Reference in a new issue