Package: lomiri / 0.5.0-6

Metadata

Package Version Patches format
lomiri 0.5.0-6 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
1003_fix library permission.patch | (download)

tests/plugins/Lomiri/Session/CMakeLists.txt | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 fix 0755 -> 0644 permission of test internal .so file.
2001_disable broken test mir2.patch | (download)

tests/mocks/CMakeLists.txt | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

 disable qtmir/applications tests, mocks have been dropped from mir 2.9
1006_avoid embedding a randomized HOME value.patch | (download)

tests/plugins/Utils/CMakeLists.txt | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch 2/4] tests/plugins/utils/cmakelists.txt: avoid embedding a
 randomized HOME value.


2005_dont reset alwaysShowOsk to system defaults on login.patch | (download)

src/LomiriApplication.cpp | 4 0 + 4 - 0 !
1 file changed, 4 deletions(-)

 allow user-modified gsetting of com.lomiri.shell/always-show-osk to survive session logout/login.
0022_enable stopping the flick with just a press.patch | (download)

qml/Components/FloatingFlickable.qml | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 [patch] enable stopping the flick with just a press


0024_only load prompty if cover page is not shown.patch | (download)

qml/Greeter/GreeterView.qml | 2 1 + 1 - 0 !
tests/qmltests/Greeter/tst_GreeterView.qml | 1 1 + 0 - 0 !
2 files changed, 2 insertions(+), 1 deletion(-)

 [patch] only load prompts if cover page is not shown fixes
 https://gitlab.com/ubports/development/core/lomiri/-/issues/66


1001a_use com lomiri Shell pictureUri.patch | (download)

qml/Shell.qml | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 use com.lomiri.shell(.greeter) as gsettings storage place.
1001b_qml Shell.qml Dynamically switch gsettings context f.patch | (download)

qml/Shell.qml | 15 12 + 3 - 0 !
1 file changed, 12 insertions(+), 3 deletions(-)

 [patch] qml/shell.qml: dynamically switch gsettings context for
 backgroundPictureUri retrieval between com.lomiri.Shell and
 com.lomiri.Shell.Greeter.

This assures that bg image switching between session and lock screen
works as expected.

Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

2006_use Noto Sans Font.patch | (download)

qml/Panel/Indicators/IndicatorItem.qml | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 use noto sans instead of ubuntu fonts.
2011_skip language keymap tests.patch | (download)

tests/plugins/AccountsService/client.cpp | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

 skip ubuntu accountsservice specific unit test.
2007_fix testWindowStateStorage.patch | (download)

tests/plugins/Utils/CMakeLists.txt | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 use debian-specific build $home during unit tests.
2008_skip failing tests.patch | (download)

tests/plugins/Lomiri/CMakeLists.txt | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 disable various unit tests that fail when building against debian testing/unstable.
2009_disable qtmir tests.patch | (download)

tests/qmltests/CMakeLists.txt | 128 64 + 64 - 0 !
1 file changed, 64 insertions(+), 64 deletions(-)

 disable qtmir-based unit tests.
2010_use desktop qtmir.patch | (download)

CMakeLists.txt | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
2012_no app suspension on Debian+Ubuntu proper.patch | (download)

qml/Stage/Stage.qml | 8 1 + 7 - 0 !
1 file changed, 1 insertion(+), 7 deletions(-)

 don't suspend apps in debian + ubuntu proper
1010a_use ayatana greeter badges.patch | (download)

plugins/LightDM/SessionsModel.cpp | 97 55 + 42 - 0 !
plugins/LightDM/SessionsModel.h | 1 1 + 0 - 0 !
2 files changed, 56 insertions(+), 42 deletions(-)

 [patch 1/3] plugins/lightdm/sessionsmodel.(cpp|h): support using
 session badge icon from (new project) ayatana-greeter-badges.

Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

1010b_use ayatana greeter badges.patch | (download)

plugins/LightDM/SessionsModel.h | 7 4 + 3 - 0 !
1 file changed, 4 insertions(+), 3 deletions(-)

 [patch 2/3] plugins/lightdm/sessionsmodel.h: prefer session badge
 icons found in /usr/local/share/lomiri-greeter and /usr/share/lomiri-greeter/
 over icons shipped in Ayatana Greeter Badges and bundled-in.

This allows vendors to drop customized icons into
/usr/local/share/lomiri-greeter and /usr/share/lomiri-greeter and take
precendence.

Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

1013_fix convergence on high resolution tablets.patch | (download)

qml/OrientedShell.qml | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

 [patch] qml/orientedshell.qml: interpret high resolution touch screen
 device without pointing device as tablet.

 This fixes auto-recognition of keyboard+trackpad docking/undocking
 events for e.g. the Starlite Tablet.
 .
 This change also makes the Desktop mode toggle switch in the session
 indicator not stuck in Desktop mode on such devices. E.g. on a Lenovo
 Yoga convertible, with this change you can now use the Desktop mode
 toggle switch to switch between Windowed / Staged usageMode.
 .
 This change was inspired by Lomiri Plus by Kugi Eusebio (ENH158).

1015_greeter textprompt ESC will disable OSK again.patch | (download)

qml/Greeter/TextPrompt.qml | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 provide pathway for disabling the osk again (by hitting esc on the keyboard)
1016_rotate when orientation is locked.patch | (download)

qml/OrientedShell.qml | 168 168 + 0 - 0 !
1 file changed, 168 insertions(+)

 [patch] adds a rotate button when orientation is locked


2013_CXX standard 20.patch | (download)

CMakeLists.txt | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
1017_dont load indicators for unregistered services.patch | (download)

plugins/Lomiri/Indicators/indicatorsmanager.cpp | 32 31 + 1 - 0 !
1 file changed, 31 insertions(+), 1 deletion(-)

 [patch] plugins/lomiri/indicators/indicatorsmanager.cpp: don't load
 indicators for unregistered services

fixes https://salsa.debian.org/ubports-team/lomiri/-/issues/42

2014_lomiri greeter wrapper on wayland.patch | (download)

data/lomiri-greeter-wrapper | 91 39 + 52 - 0 !
1 file changed, 39 insertions(+), 52 deletions(-)

 for lomiri greeter on desktop we ship our very own lomiri-greeter-wrapper script.
2015_lomiri greeter use wayland.patch | (download)

data/lomiri-greeter.desktop.in.in | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 use wayland backend of lightdm.
1005_cursor always follow cursor position from mir.patch | (download)

data/lomiri-greeter-wrapper | 1 1 + 0 - 0 !
plugins/Cursor/InputDispatcherFilter.cpp | 9 8 + 1 - 0 !
2 files changed, 9 insertions(+), 1 deletion(-)

 [patch] cursor: always follow cursor position from mir

It makes no sense to not, if we dont we can quickly get out of sync with
mir.

This was done for multiscreen, but this has to be fixed another way then
tracking pointer ourself. The plan is to follow mir's screen position
anyway so we don't need this. (the current multiscreen impl is horrable)

update 2025-05-15 (Mike Gabriel <mike.gabriel@das-netzwerkteam.de):
 - Let VM workaround only take effect if running in a virtual machine.
 - Set LOMIRI_RUNNING_IN_VM=1 in lomiri-greeter-wrapper script so that
   the mouse pointer positioning hack for VMs also takes effect in
   Lomiri Greeter.

0030_lomiri upstream home logo.patch | (download)

qml/Launcher/LauncherPanel.qml | 4 1 + 3 - 0 !
1 file changed, 1 insertion(+), 3 deletions(-)

 [patch] qml/launcher/launcherpanel.qml: use lomiri upstream home logo
 and home background color.

It is not our (Lomiri upstream) business to make sure that distributors
set up their artwork / logo for the home button. We should simply provide
our (Lomiri) logo and its best bgcolor match.

Relates to: https://gitlab.com/ubports/ubuntu-touch/-/issues/2223

1007_fix scrolling issues.patch | (download)

plugins/Cursor/InputDispatcherFilter.cpp | 22 22 + 0 - 0 !
1 file changed, 22 insertions(+)

 [patch] cursor: fix scroll issues

InputEventDispatcher filters the MouseEvent coming from the underlying Mir stack
to adjust the position of the cursor in Lomiri system. Lomiri cursor
position depends on the screen(s) configuration (virtual touch pad on phone screen,
oriented shell, center reset position). The cursor bounds are also
1018a_Add shortcut to toggle side stage.patch | (download)

qml/Components/KeyboardShortcutsOverlay.qml | 14 14 + 0 - 0 !
qml/Stage/Stage.qml | 25 19 + 6 - 0 !
2 files changed, 33 insertions(+), 6 deletions(-)

 [patch 1/2] add shortcut to toggle side stage.

Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

1018b_Add shortcut for moving apps between stages.patch | (download)

qml/Components/KeyboardShortcutsOverlay.qml | 51 37 + 14 - 0 !
qml/Stage/Stage.qml | 36 32 + 4 - 0 !
2 files changed, 69 insertions(+), 18 deletions(-)

 [patch 2/2] add shortcut for moving apps between stages.

Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

1021_qml Fix WorkspacePreview positioning.patch | (download)

qml/Stage/Spread/Workspaces.qml | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

 [patch 1/8] qml: fix workspacepreview positioning

Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

1022_qml Enable live blur when in windowed mode for more .patch | (download)

qml/Components/BackgroundBlur.qml | 5 3 + 2 - 0 !
qml/Stage/ApplicationWindow.qml | 2 2 + 0 - 0 !
qml/Stage/DecoratedWindow.qml | 1 1 + 0 - 0 !
qml/Stage/Stage.qml | 1 1 + 0 - 0 !
qml/Stage/SurfaceContainer.qml | 3 3 + 0 - 0 !
5 files changed, 10 insertions(+), 2 deletions(-)

 [patch 2/8] qml: enable live blur when in windowed mode for more
 accurate effects on desktop systems where resources aren't scarce

Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

1023_qml Remove smooth property assignment to stay unifor.patch | (download)

qml/Stage/Stage.qml | 1 0 + 1 - 0 !
1 file changed, 1 deletion(-)

 [patch 3/8] qml: remove smooth property assignment to stay uniform
 across all users of MirSurfaceItem

Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

1024_qml Resize Window Decoration with surfaces.patch | (download)

qml/Stage/ApplicationWindow.qml | 3 3 + 0 - 0 !
qml/Stage/DecoratedWindow.qml | 4 4 + 0 - 0 !
qml/Stage/SurfaceContainer.qml | 9 9 + 0 - 0 !
3 files changed, 16 insertions(+)

 [patch 4/8] qml: resize window decoration with surfaces

Apparent in GIMP with its splash screen, the decorations draw outside
of the surfaces geometry limits. React to surface's sizeChanged signals
and pass the new value on to the decoration to set the size accordingly.

Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

1025_qml Rework application window surface clipping.patch | (download)

qml/Stage/ApplicationWindow.qml | 4 2 + 2 - 0 !
qml/Stage/DecoratedWindow.qml | 3 2 + 1 - 0 !
qml/Stage/Stage.qml | 2 1 + 1 - 0 !
qml/Stage/SurfaceContainer.qml | 3 0 + 3 - 0 !
4 files changed, 5 insertions(+), 7 deletions(-)

 [patch 5/8] qml: rework application window surface clipping

Don't pass the pointer too many layers down, instead rely
on a good old bool property for handling the switch.

Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

1026_qml Disallow resizing unresizeable windows follow ma.patch | (download)

qml/Stage/ApplicationWindow.qml | 12 12 + 0 - 0 !
qml/Stage/DecoratedWindow.qml | 5 1 + 4 - 0 !
2 files changed, 13 insertions(+), 4 deletions(-)

 [patch 6/8] qml: disallow resizing unresizeable windows & follow
 maximum/minimum geometry

- Set window geometry based on surface's minimum and maximum limits
- Prevent resize handles from doing anything when minimum and maximum limits match

Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

1027_qml Pass on the Stage down to the SurfaceContainer t.patch | (download)

qml/Stage/ApplicationWindow.qml | 2 2 + 0 - 0 !
qml/Stage/DecoratedWindow.qml | 1 1 + 0 - 0 !
qml/Stage/Stage.qml | 1 1 + 0 - 0 !
qml/Stage/SurfaceContainer.qml | 2 2 + 0 - 0 !
4 files changed, 6 insertions(+)

 [patch 7/8] qml: pass on the stage down to the surfacecontainer to
 determine whether it should enable clipping (slow on phones) the item in
 windowed mode

Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

1028_qml Center the WorkspacePreview in its parent horizo.patch | (download)

qml/Stage/Spread/Workspaces.qml | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 [patch 8/8] qml: center the workspacepreview in its parent
 horizontally

Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

1019_WorkspacePreview reduce lag when app enters exit ful.patch | (download)

qml/Stage/Spread/WorkspacePreview.qml | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 [patch] workspacepreview: reduce lag when app enters/exit fullscreen

As discovered in #122, after commit c4f50475 ("Fixes and adjustments in
the workspace previews") WorkspacePreview is being resized when an app
enter or leave fullscreen mode. This causes preview's background image
to be reloaded as well.

Commit 3f991507 ("Workspaces: use AvailableDesktopArea for screen space
instead") allows image reload to not be tied to animation. This commit
additionally set image to load asynchronously, which should reduce lag
further.

Bug: https://gitlab.com/ubports/development/core/lomiri/-/issues/122
Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

0031_faster session exit.patch | (download)

src/LomiriApplication.cpp | 9 8 + 1 - 0 !
1 file changed, 8 insertions(+), 1 deletion(-)

 [patch] src: fix quits & exits from qml

Exit out of the process with the respective exit code.

0032_dont ask for SIM PIN in greeter.patch | (download)

qml/Shell.qml | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch] qml: don't ask for sim pin in greeter mode

UX wise it is annoying to have the SIM PIN dialog take over
the screen twice, so avoid calling it twice with fscrypt enabled.

I call this a win since it fixes UX repetition ("if I want it
gone don't ask me again, goodbye") as well as hiding a problem
of failing DNS requests from various apps when resolving DNS.

0034_spawn apps in fullscreen when in phone+tablet mode.patch | (download)

qml/Stage/Stage.qml | 4 4 + 0 - 0 !
1 file changed, 4 insertions(+)

 [patch] qml: spawn windows maximized on phones & tablets

Make all app windows maximized once spawned in staged modes.
Has more effect on for example GTK applications, which now
fill the screen with window contents instead of spawning with
extents and window shadows.

0033_fix multi process app having phantom window.patch | (download)

plugins/WindowManager/TopLevelWindowModel.cpp | 14 13 + 1 - 0 !
plugins/WindowManager/TopLevelWindowModel.h | 1 1 + 0 - 0 !
2 files changed, 14 insertions(+), 1 deletion(-)

 [patch] plugins/windowmanager: fix multi-process app having phantom
 window

If an application has 2 sessions (i.e. has 2 processes), and one of them
exits, then by the time TLWM receives `onSurfaceDied()`, the surface
would already be removed from application's surface list. Thus, for the
purpose of determining whether we should retain a placeholder window, we
cannot rely on that.

Instead, just check against our own list of windows to count windows for
a particular application, and use that instead of application's surface
list.

0035_DisplayConfigurationStorage drop use of edid descriptors.patch | (download)

src/DisplayConfigurationStorage.cpp | 3 0 + 3 - 0 !
1 file changed, 3 deletions(-)

 [patch] displayconfigurationstorage: drop use of descriptors

These are a repeat of the properties already used above,
and we'd like to remove them in Mir.

0041_Refreshes app icons on icon cache changes.patch | (download)

plugins/Lomiri/Launcher/CMakeLists.txt | 1 1 + 0 - 0 !
plugins/Lomiri/Launcher/appdrawermodel.cpp | 5 5 + 0 - 0 !
plugins/Lomiri/Launcher/appdrawermodel.h | 2 2 + 0 - 0 !
plugins/Lomiri/Launcher/iconcachewatcher.cpp | 65 65 + 0 - 0 !
plugins/Lomiri/Launcher/iconcachewatcher.h | 34 34 + 0 - 0 !
5 files changed, 107 insertions(+)

 [patch 1/7] refreshes app icons on icon cache changes

Adds a file system watcher to monitor changes on icon cache files.
When an icon cache file is modified, a signal is emitted to refresh the
application icons, ensuring that the launcher displays the most up-to-date
icons.

Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

0042_Respects NoDisplay true in desktop files.patch | (download)

CMakeLists.txt | 2 1 + 1 - 0 !
plugins/Lomiri/Launcher/CMakeLists.txt | 2 2 + 0 - 0 !
plugins/Lomiri/Launcher/xdgwatcher.cpp | 17 16 + 1 - 0 !
plugins/Lomiri/Launcher/xdgwatcher.h | 1 1 + 0 - 0 !
4 files changed, 20 insertions(+), 2 deletions(-)

 [patch 2/7] respects nodisplay=true in desktop files

Checks the 'NoDisplay=true' key in desktop files using Gio, and does not emit the 'appAdded' event if the app should be hidden.

Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

0043_Expands icon monitoring.patch | (download)

plugins/Lomiri/Launcher/iconcachewatcher.cpp | 66 49 + 17 - 0 !
plugins/Lomiri/Launcher/iconcachewatcher.h | 1 1 + 0 - 0 !
2 files changed, 50 insertions(+), 17 deletions(-)

 [patch 3/7] expands icon monitoring

Extends the icon cache watcher to monitor pixmaps and meta/gui directories in standard share locations.
This ensures that changes to icons in these locations trigger a launcher refresh.

Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

0044_Defers launcher refresh during install.patch | (download)

plugins/Lomiri/Launcher/iconcachewatcher.cpp | 6 6 + 0 - 0 !
1 file changed, 6 insertions(+)

 [patch 4/7] defers launcher refresh during install

Prevents premature launcher refresh while a new
icon is still being installed by checking for the
presence of *.dpkg-new files in the icon directory.
Previously calling refresh multiple times only
refreshed the launcher the first time, when the
icon was not yet added.

Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

0045_Adds a mock icon cache watcher for testing.patch | (download)

tests/plugins/Lomiri/Launcher/CMakeLists.txt | 1 1 + 0 - 0 !
tests/plugins/Lomiri/Launcher/iconcachewatcher.cpp | 36 36 + 0 - 0 !
tests/plugins/Lomiri/Launcher/iconcachewatcher.h | 35 35 + 0 - 0 !
3 files changed, 72 insertions(+)

 [patch 5/7] adds a mock icon cache watcher for testing

Introduces a mock icon cache watcher to fix test failures.

Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

0046_Adds test for icon cache change.patch | (download)

tests/plugins/Lomiri/Launcher/appdrawermodeltest.cpp | 12 12 + 0 - 0 !
1 file changed, 12 insertions(+)

 [patch 6/7] adds test for icon cache change

Introduces a test case to verify that the AppDrawerModel
correctly refreshes when the icon cache changes, ensuring UI
updates are triggered as expected.

Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>