- `remove_desktop DESKTOP_NAME ...` — Remove the given desktops.
+- `send_desktop_to MONITOR_NAME` — Send the current desktop to the given monitor.
+
- `cycle_monitor next|prev` — Select the next or previous monitor.
- `cycle_desktop next|prev [--skip-free|--skip-occupied]` — Select the next or previous desktop.
_bspc()
{
- local messages='get set list list_desktops list_monitors list_windows list_rules list_history presel cancel ratio pad focus shift swap push pull cycle nearest biggest circulate grab_pointer track_pointer ungrab_pointer toggle_fullscreen toggle_floating toggle_locked toggle_visibility close kill send_to drop_to send_to_monitor drop_to_monitor use use_monitor alternate alternate_desktop alternate_monitor add add_in rename_monitor rename remove_desktop cycle_monitor cycle_desktop layout cycle_layout rotate flip balance rule remove_rule put_status adopt_orphans restore_layout restore_history quit'
+ local messages='get set list list_desktops list_monitors list_windows list_rules list_history presel cancel ratio pad focus shift swap push pull cycle nearest biggest circulate grab_pointer track_pointer ungrab_pointer toggle_fullscreen toggle_floating toggle_locked toggle_visibility close kill send_to drop_to send_to_monitor drop_to_monitor use use_monitor alternate alternate_desktop alternate_monitor add add_in rename_monitor rename remove_desktop send_desktop_to cycle_monitor cycle_desktop layout cycle_layout rotate flip balance rule remove_rule put_status adopt_orphans restore_layout restore_history quit'
local settings='focused_border_color active_border_color normal_border_color presel_border_color focused_locked_border_color active_locked_border_color normal_locked_border_color urgent_border_color border_width window_gap split_ratio top_padding right_padding bottom_padding left_padding wm_name borderless_monocle gapless_monocle focus_follows_pointer adaptative_raise apply_shadow_property auto_alternate focus_by_distance'
.BI remove_desktop " DESKTOP_NAME ..."
Remove the given desktops.
.TP
+.BI send_desktop_to " MONITOR_NAME"
+Send the current desktop to the given monitor.
+.TP
.BI cycle_monitor " next|prev"
Select the next or previous monitor.
.TP
desktop_show(mon->desk);
update_current();
return;
+ } else if (strcmp(cmd, "send_desktop_to") == 0) {
+ if (mon->desk_head == mon->desk_tail)
+ return;
+ char *name = strtok(NULL, TOK_SEP);
+ if (name != NULL) {
+ monitor_t *m = find_monitor(name);
+ if (m != NULL) {
+ transfer_desktop(mon, m, mon->desk);
+ desktop_show(mon->desk);
+ update_current();
+ }
+ }
+ return;
} else if (strcmp(cmd, "focus") == 0) {
if (mon->desk->focus == NULL || mon->desk->focus->client->fullscreen)
return;
void empty_desktop(desktop_t *);
void unlink_desktop(monitor_t *, desktop_t *);
void remove_desktop(monitor_t *, desktop_t *);
+void transfer_desktop(monitor_t *, monitor_t *, desktop_t *);
rule_t *make_rule(void);
pointer_state_t *make_pointer_state(void);
client_t *make_client(xcb_window_t);