diff --git a/src/desktops.cpp b/src/desktops.cpp
index f98ff9e..01c889d 100644
--- a/src/desktops.cpp
+++ b/src/desktops.cpp
@@ -33,6 +33,9 @@ extern RrInstance* rrinst; // defined in obconf-qt.cpp
static int num_desktops;
+static const gchar* all_desktops_node_1 = "keyboard/keybind:key=A-Tab/action:name=NextWindow/allDesktops";
+static const gchar* all_desktops_node_2 = "keyboard/keybind:key=A-S-Tab/action:name=PreviousWindow/allDesktops";
+
/*
static void desktops_read_names();
static void desktops_write_names();
@@ -52,6 +55,9 @@ void MainDialog::desktops_setup_tab() {
i = tree_get_int("desktops/popupTime", 875);
ui.desktop_popup->setChecked(i != 0);
ui.desktop_popup_time->setValue(i ? i : 875);
+
+ gboolean all_desktops = tree_get_bool(all_desktops_node_1, TRUE);
+ ui.all_desktops->setChecked(all_desktops);
}
void MainDialog::on_desktop_num_valueChanged(int newValue) {
@@ -167,6 +173,11 @@ void MainDialog::on_desktop_popup_toggled(bool checked) {
tree_set_int("desktops/popupTime", 0);
}
+void MainDialog::on_all_desktops_toggled(bool checked) {
+ tree_set_bool(all_desktops_node_1, checked);
+ tree_set_bool(all_desktops_node_2, checked);
+}
+
void MainDialog::on_desktop_popup_time_valueChanged(int newValue) {
tree_set_int("desktops/popupTime", newValue);
}
diff --git a/src/maindialog.h b/src/maindialog.h
index ad1d007..b511b74 100644
--- a/src/maindialog.h
+++ b/src/maindialog.h
@@ -142,6 +142,7 @@ private Q_SLOTS:
void on_desktop_popup_toggled(bool checked);
void on_desktop_popup_time_valueChanged(int newValue);
void on_desktop_names_itemChanged(QListWidgetItem * item);
+ void on_all_desktops_toggled(bool checked);
// docks
void on_dock_float_x_valueChanged(int newValue);
diff --git a/src/obconf.ui b/src/obconf.ui
index 39c1dce..452e100 100644
--- a/src/obconf.ui
+++ b/src/obconf.ui
@@ -870,10 +870,17 @@ D: Omnipresent (On all desktops)
+ -
+
+
+ &Show windows from all desktops when task switching (Alt-Tab)
+
+
+
-
- -
+
-
&Desktop names:
@@ -1382,6 +1389,10 @@ D: Omnipresent (On all desktops)
+
+ all_desktops
+ toggled(bool)
+
dock_hide
toggled(bool)