aboutsummaryrefslogtreecommitdiffstats
path: root/launcher/src/shell-desktop.cpp
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2020-05-29 13:30:15 +0300
committerMarius Vlad <marius.vlad@collabora.com>2020-05-29 13:41:01 +0300
commit82bfc3a25532c9de903613d3eb71f8453fd01682 (patch)
tree10b6e3b3f054810671f3f18fbfd6331062ddd40c /launcher/src/shell-desktop.cpp
parent83496d2f6968f7d12a183581d320065bdba52132 (diff)
homescreenhandler: Add the ability to specify the output based on the
screen Pass the output when activing the surface in Launcher.qml Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Diffstat (limited to 'launcher/src/shell-desktop.cpp')
-rw-r--r--launcher/src/shell-desktop.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/launcher/src/shell-desktop.cpp b/launcher/src/shell-desktop.cpp
index 42cc6d1..b8e6ef0 100644
--- a/launcher/src/shell-desktop.cpp
+++ b/launcher/src/shell-desktop.cpp
@@ -52,6 +52,31 @@ Shell::activate_app(QWindow *win, const QString &app_id,
}
void
+Shell::activate_app_by_screen(const QString &screen_name, const QString &app_id,
+ const QString &app_data)
+{
+ QScreen *qscreen_to_put = nullptr;
+ for (auto &ss: qApp->screens()) {
+ if (ss->name() == screen_name) {
+ qscreen_to_put = ss;
+ break;
+ }
+ }
+
+ /* use the primary one */
+ if (!qscreen_to_put) {
+ qscreen_to_put = qApp->screens().first();
+ }
+
+ struct wl_output *output = getWlOutput(qscreen_to_put);
+ qDebug() << "will activate app: " << app_id << " on output " <<
+ qscreen_to_put->name();
+ agl_shell_desktop_activate_app(this->shell.get(),
+ app_id.toStdString().c_str(),
+ app_data.toStdString().c_str(), output);
+}
+
+void
Shell::deactivate_app(const QString &app_id)
{
agl_shell_desktop_deactivate_app(this->shell.get(),