1description "Unity Shell v8"
2author "Ricardo Mendoza <ricmm@ubuntu.com>"
4emits indicator-services-start
5emits indicator-services-end
7start on ((xsession SESSION=ubuntu-touch) or (xsession SESSION=unity8-mir) or (xsession SESSION=unity8)) and started dbus
13# Ensure the shell always gets unthrottled touch events, so that applications
14# who want full speed low-latency input can get it (LP: #1497105) and so that
15# apps can use QML touch compression safely (the QML touch compression
16# algorithm does not support nesting well - LP: #1486341, LP: #1556763 - so
17# must be fed by the raw input event stream from Unity8).
19env QML_NO_TOUCH_COMPRESSION=1
24# FIXME Create an autopilot test that makes sure start+stop and restart
25# work fine at least 2 times
28 # Tell unity-mir to raise SIGSTOP after we start
29 initctl set-env UNITY_MIR_EMITS_SIGSTOP=1
31 # Save original value of MIR_SOCKET so that we can restore it when stopped,
32 # as we modify the variable for future jobs, including ourself.
33 initctl set-env UNITY_MIR_SOCKET=$MIR_SOCKET
35 # Decide where we are going to put our own socket file
36 if [ -n "$SNAP" ]; then
37 # In snappy, we want to hard code our path because our apparmor profile
38 # only lets us put the socket in one place. And consumers expect it
40 MIR_SERVER_FILE=/run/user/$(id -u)/mir_socket
42 MIR_SERVER_FILE=$XDG_RUNTIME_DIR/mir_socket
44 initctl set-env MIR_SERVER_FILE=$MIR_SERVER_FILE
46 # Point all future jobs in this session to our Mir socket instead of
47 # unity-system-compositor's socket.
48 initctl set-env --global MIR_SOCKET=$MIR_SERVER_FILE
49 gdbus call --session --dest org.freedesktop.DBus --object-path /org/freedesktop/DBus --method org.freedesktop.DBus.UpdateActivationEnvironment "@a{ss} {'MIR_SOCKET': '$MIR_SERVER_FILE'}"
51 # Remove the normal and trusted sockets if still there
52 if [ -S "$MIR_SERVER_FILE" ]; then
56 if [ -S "${MIR_SERVER_FILE}_trusted" ]; then
57 rm "${MIR_SERVER_FILE}_trusted"
60 initctl set-env --global MIR_SERVER_PROMPT_FILE=1
62 # Disable Qt's stuttering 'touch compression' to fix scrolling smoothness
63 # issues (LP: #1486341, LP: #1556763). As a bonus, this eliminates most of
64 # the lag seen in the indicator panel pull-down (LP: #1488327) and also
65 # reduces lag seen in apps:
66 initctl set-env --global QML_NO_TOUCH_COMPRESSION=1
68 # Workaround for text not rendering correctly
69 initctl set-env --global QT_ENABLE_GLYPH_CACHE_WORKAROUND=1
71 if [ "$XDG_SESSION_DESKTOP" = "ubuntu-touch" ]; then
72 # On Ubuntu Touch, we currently use a trick where we auto-login the
73 # user without a LightDM greeter at all. In this case, we want to
74 # start with the lockscreen visible. Once we switch to using a
75 # proper greeter for the first login, we can remove this code path.
76 initctl set-env MODE=full-greeter
78 initctl set-env MODE=full-shell
81 # HACK! WORKAROUND FOR HALIUM MISSING UBUNTU_PLATFORM_API
82 if [ ! -f /system/lib/libubuntu_application_api.so ]; then
83 initctl set-env --global UBUNTU_PLATFORM_API_BACKEND=test.so.3
84 initctl set-env --global UBUNTU_PLATFORM_API_SENSOR_TEST=/etc/ubuntusensors/test.sensors
88exec ${BINARY:-unity8} --mode=$MODE $ARGS
91 initctl emit --no-wait indicator-services-start
95 initctl set-env --global MIR_SOCKET=$UNITY_MIR_SOCKET
96 initctl unset-env --global MIR_SERVER_PROMPT_FILE
97 initctl emit application-end
98 initctl emit indicator-services-end
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list