Merge lp:~alan-griffiths/miral/miral-hosted into lp:miral

Proposed by Alan Griffiths
Status: Merged
Approved by: Alan Griffiths
Approved revision: 472
Merged at revision: 469
Proposed branch: lp:~alan-griffiths/miral/miral-hosted
Merge into: lp:miral
Diff against target: 96 lines (+61/-1)
4 files modified
debian/miral-examples.install (+1/-0)
miral-shell/CMakeLists.txt (+8/-0)
miral-shell/desktop/CMakeLists.txt (+1/-1)
miral-shell/miral-app.sh (+51/-0)
To merge this branch: bzr merge lp:~alan-griffiths/miral/miral-hosted
Reviewer Review Type Date Requested Status
Gerry Boland (community) Approve
Review via email: mp+313211@code.launchpad.net

Commit message

[examples] add miral-app script for launching hosted by an existing desktop

To post a comment you must log in.
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

This still isn't ideal in the Mir-on-Mir (a.k.a. MirAL-on-Unity8) scenario as the "nested" Mir support tries to be fullscreen.

470. By Alan Griffiths

miral-hosted => miral-app

471. By Alan Griffiths

miral-hosted => miral-app

Revision history for this message
Gerry Boland (gerboland) wrote :

 ~/dev/projects/mir/miral/miral-hosted/miral-shell ⮀ ll
<snip>
-rw-r--r-- 1 gerry gerry 1822 Dec 14 11:25 miral-app.sh
-rwxr-xr-x 1 gerry gerry 1680 Dec 14 11:25 miral-desktop.sh*
-rwxr-xr-x 1 gerry gerry 207 Dec 14 11:25 miral-run.sh*
-rwxr-xr-x 1 gerry gerry 1774 Dec 14 11:25 miral-screencast.sh*
-rwxr-xr-x 1 gerry gerry 241 Dec 14 11:25 miral-xrun.sh*

miral-app.sh doesn't have same permissions out of the box as the other scripts

Revision history for this message
Gerry Boland (gerboland) wrote :

Other than that, works ok

review: Approve
472. By Alan Griffiths

add execute permission

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/miral-examples.install'
2--- debian/miral-examples.install 2016-11-16 10:40:15 +0000
3+++ debian/miral-examples.install 2016-12-14 11:39:37 +0000
4@@ -4,5 +4,6 @@
5 usr/bin/miral-xrun
6 usr/bin/miral-screencast
7 usr/bin/miral-desktop
8+usr/bin/miral-app
9 usr/share/applications/miral-shell.desktop
10 usr/share/icons/hicolor/scalable/apps/ubuntu-logo.svg
11
12=== modified file 'miral-shell/CMakeLists.txt'
13--- miral-shell/CMakeLists.txt 2016-11-16 10:40:15 +0000
14+++ miral-shell/CMakeLists.txt 2016-12-14 11:39:37 +0000
15@@ -33,6 +33,14 @@
16 DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
17 )
18
19+add_custom_target(miral-app ALL
20+ cp ${CMAKE_CURRENT_SOURCE_DIR}/miral-app.sh ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/miral-app
21+)
22+
23+install(PROGRAMS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/miral-app
24+ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
25+)
26+
27 add_executable(miral-shell
28 shell_main.cpp
29 tiling_window_manager.cpp tiling_window_manager.h
30
31=== modified file 'miral-shell/desktop/CMakeLists.txt'
32--- miral-shell/desktop/CMakeLists.txt 2016-04-12 15:59:54 +0000
33+++ miral-shell/desktop/CMakeLists.txt 2016-12-14 11:39:37 +0000
34@@ -1,5 +1,5 @@
35 set(ICON_NAME ubuntu-logo)
36-set(PROGRAM_NAME miral-shell)
37+set(PROGRAM_NAME miral-app)
38
39 configure_file(miral-shell.desktop.in ${CMAKE_CURRENT_BINARY_DIR}/miral-shell.desktop @ONLY)
40
41
42=== added file 'miral-shell/miral-app.sh'
43--- miral-shell/miral-app.sh 1970-01-01 00:00:00 +0000
44+++ miral-shell/miral-app.sh 2016-12-14 11:39:37 +0000
45@@ -0,0 +1,51 @@
46+#! /bin/bash
47+
48+miral_server=miral-shell
49+launcher='gnome-terminal --app-id com.canonical.miral.Terminal'
50+hostsocket=
51+bindir=
52+
53+if [ -n "${MIR_SOCKET}" ]
54+then
55+ if [ ! -e "${MIR_SOCKET}" ]
56+ then
57+ echo "Error: Host endpoint '${MIR_SOCKET}' does not exists"; exit 1
58+ fi
59+ i=0; while [ -e "${XDG_RUNTIME_DIR}/mir_socket{i}" ]; do let i+=1 ;done
60+ socket=${XDG_RUNTIME_DIR}/mir_socket{i}
61+ hostsocket='--host-socket ${MIR_SOCKET}'
62+else
63+ socket=${XDG_RUNTIME_DIR}/mir_socket
64+fi
65+
66+while [ $# -gt 0 ]
67+do
68+ if [ "$1" == "--help" -o "$1" == "-h" ]
69+ then
70+ echo "$(basename $0) - Handy launch script for a hosted miral \"desktop session\""
71+ echo "Usage: $0 [options] [shell options]"
72+ echo "Options are:"
73+ echo " -kiosk use miral-kiosk instead of ${miral_server}"
74+ echo " -launcher <launcher> use <launcher> instead of '${launcher}'"
75+ echo " -socket <socket> set the mir socket [${socket}]"
76+ echo " -bindir <bindir> path to the miral executable"
77+ exit 0
78+ elif [ "$1" == "-kiosk" ]; then miral_server=miral-kiosk
79+ elif [ "$1" == "-launcher" ]; then shift; launcher=$1
80+ elif [ "$1" == "-socket" ]; then shift; socket=$1
81+ elif [ "$1" == "-bindir" ]; then shift; bindir=$1/
82+ elif [ "${1:0:2}" == "--" ]; then break
83+ fi
84+ shift
85+done
86+
87+if [ -e "${socket}" ]; then echo "Error: session endpoint '${socket}' already exists"; exit 1 ;fi
88+
89+sh -c "${bindir}${miral_server} $* ${hostsocket} --file ${socket} --desktop_file_hint=miral-shell.desktop"&
90+
91+while [ ! -e "${socket}" ]; do echo "waiting for ${socket}"; sleep 1 ;done
92+
93+unset QT_QPA_PLATFORMTHEME
94+MIR_SOCKET=${socket} GDK_BACKEND=mir QT_QPA_PLATFORM=ubuntumirclient SDL_VIDEODRIVER=mir dbus-run-session -- ${launcher}
95+killall ${bindir}${miral_server}
96+

Subscribers

People subscribed via source and target branches