Add option for no workspace switch on click
In sway/workspaces, just like disable-scroll turns on/off the ability to change workspaces by scrolling the mouse add disable-click that turns on/off the ability to change workspaces by clicking.
This commit is contained in:
parent
3bb04e82a5
commit
8f10c9056c
|
@ -31,6 +31,11 @@ Addressed by *sway/workspaces*
|
||||||
default: false ++
|
default: false ++
|
||||||
If set to false, you can scroll to cycle through workspaces. If set to true this behaviour is disabled.
|
If set to false, you can scroll to cycle through workspaces. If set to true this behaviour is disabled.
|
||||||
|
|
||||||
|
*disable-click*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
If set to false, you can click to change workspace. If set to true this behaviour is disabled.
|
||||||
|
|
||||||
*smooth-scrolling-threshold*: ++
|
*smooth-scrolling-threshold*: ++
|
||||||
typeof: double ++
|
typeof: double ++
|
||||||
Threshold to be used when scrolling.
|
Threshold to be used when scrolling.
|
||||||
|
|
|
@ -249,22 +249,24 @@ Gtk::Button &Workspaces::addButton(const Json::Value &node) {
|
||||||
auto &&button = pair.first->second;
|
auto &&button = pair.first->second;
|
||||||
box_.pack_start(button, false, false, 0);
|
box_.pack_start(button, false, false, 0);
|
||||||
button.set_relief(Gtk::RELIEF_NONE);
|
button.set_relief(Gtk::RELIEF_NONE);
|
||||||
button.signal_pressed().connect([this, node] {
|
if (!config_["disable-click"].asBool()) {
|
||||||
try {
|
button.signal_pressed().connect([this, node] {
|
||||||
if (node["target_output"].isString()) {
|
try {
|
||||||
ipc_.sendCmd(
|
if (node["target_output"].isString()) {
|
||||||
IPC_COMMAND,
|
ipc_.sendCmd(
|
||||||
fmt::format(workspace_switch_cmd_ + "; move workspace to output \"{}\"; " + workspace_switch_cmd_,
|
IPC_COMMAND,
|
||||||
node["name"].asString(),
|
fmt::format(workspace_switch_cmd_ + "; move workspace to output \"{}\"; " + workspace_switch_cmd_,
|
||||||
node["target_output"].asString(),
|
node["name"].asString(),
|
||||||
node["name"].asString()));
|
node["target_output"].asString(),
|
||||||
} else {
|
node["name"].asString()));
|
||||||
ipc_.sendCmd(IPC_COMMAND, fmt::format(workspace_switch_cmd_, node["name"].asString()));
|
} else {
|
||||||
|
ipc_.sendCmd(IPC_COMMAND, fmt::format(workspace_switch_cmd_, node["name"].asString()));
|
||||||
|
}
|
||||||
|
} catch (const std::exception &e) {
|
||||||
|
spdlog::error("Workspaces: {}", e.what());
|
||||||
}
|
}
|
||||||
} catch (const std::exception &e) {
|
});
|
||||||
spdlog::error("Workspaces: {}", e.what());
|
}
|
||||||
}
|
|
||||||
});
|
|
||||||
return button;
|
return button;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue