Patch: Custom Lockscreen

I made a simple patch allowing you to customize your lockscreen by adjusting scale, alignment and offsets of clock, date and weather. Additionally you can change clock’s typeface.

Example customization:

Patchmanager Web Catalog: Project: custom-lockscreen
Source code: staple/sfos-patch-custom-lockscreen: A patchmanager patch allowing you to customize your Sailfish OS lockscreen. - Codeberg.org
Patch archive: Releases - staple/sfos-patch-custom-lockscreen - Codeberg.org

Tested on Jolla Phone (2026) with Sailfish OS 5.2.0.20, 5.2.0.22 and 5.3.0.10

Patch was developed with LLM assistance.

14 Likes

Could be that the site is in read-only mode just as Openrepos is right now.

Openrepos is in Read-Only Mode

Submitted by basil on Wed, 2026/10/21 - 21:45

Hi, as you might have heard, CVE-2026-109618 and CVE-2026-109619 has been identified in PHP.
While impact is being assessed, openrepos is in read-only mode.

2 Likes

Could you add a Text panel for “In case of emergency” use? I magine it should be easy to do

oh yeah that makes sense! i’ll upload it as soon as i can then

sure! just a label on the bottom of the screen or did you have something else in mind?

Could you add an option for the seconds?

any text box would do, people can decide if they want to put, say, contact info, or medical data, whatever

v0.2 is available now! Download the archive here

Changelog:

  • Split the main page into sub-pages
  • Add opacity and color customization
  • Add an option to show seconds in the clock (@moripeluka)
  • Add a customizable emergency text, shown between the player and the SIM info (@defactofactotum)

Great! Thanks. How do I install the zip via terminal?

This should work assuming the zip is saved as “patch.zip” in Downloads

devel-su
cd /usr/share/patchmanager/patches
mkdir -p sfos-patch-custom-lockscreen
unzip -o /home/defaultuser/Downloads/patch.zip -d sfos-patch-custom-lockscreen
/usr/sbin/patchmanager -a sfos-patch-custom-lockscreen

You might also have to put a patch.json file into sfos-patch-custom-lockscreen with these contents:

{
    "id": 315,
    "description": "Customize the lock screen",
    "last_updated": "2026-10-24T09:20:44.000",
    "name": "sfos-patch-custom-lockscreen",
    "display_name": "Custom Lockscreen",
    "category": "homescreen",
    "author": "staple",
    "discussion": "",
    "donations": "",
    "sources": "",
    "version": "0.2.0",
    "compatible": [
        "5.2.0.20",
        "5.2.0.18",
    ]
}

I’m using an xperia 10 ii, still running 5.1.0.11, so I’ll have to wait

I can’t say for sure but it should also work on 5.1 since the lockscreen hasn’t changed all that much, if it doesn’t work you can just disable the patch before patchmanager activates it

Just upgraded to 5.2! Little problem, when I first followed instructions on 5.1 the patch appeared along with others but said it was not installable. Now it doesn’t appear at all. Also, /usr/sbin/patchmanager is not a directory.

That’s right, the patches are stored in /usr/share/patchmanager/patches, /usr/sbin/patchmanager just installs/activates them

I followed the steps, but the patch is not shown in Patchmanager, what is wrong?

can you run ls -R /usr/share/patchmanager/patches/ and show the output?

/usr/share/patchmanager/patches:
aliendalvik-statusbar
android-settings
coverload
customise_close-app_gesture
eugenio-restore-swipe-to-lock
felis-phone-start-page
felis-sharp-caller-photo
force-cover-size
laucher_combined_cfb
mediaplayer-in-eventsview
no-home-carousel
old_remorse_timer
patch-glass-everywhere
patch-glass-popups
patch-hide-launcher-handles
patch-i-see-a-red-door
patch-topmenu-control-redux
patch-volume-fine-control
return-old-button-style-iv
return-old-pulley-menu-iv
sfos-patch-custom-lockscreen
sfos-patch-keyboard-configurable-height
sfos-patch-launcher-list
sfos-patch-roundedrectangle-launcher-peek-rows

/usr/share/patchmanager/patches/aliendalvik-statusbar:
icon-s-dalvik.svg
patch.json
unified_diff.patch

/usr/share/patchmanager/patches/android-settings:
patch.json
unified_diff.patch

/usr/share/patchmanager/patches/coverload:
covers
main.qml
patch.json
qml
unified_diff.patch

/usr/share/patchmanager/patches/coverload/covers:
mpris
notifications
privacy

/usr/share/patchmanager/patches/coverload/covers/mpris:
Cover.qml
Settings.qml
cover.json

/usr/share/patchmanager/patches/coverload/covers/notifications:
Cover.qml
Settings.qml
cover.json

/usr/share/patchmanager/patches/coverload/covers/privacy:
Cover.qml
Settings.qml
cover.json

/usr/share/patchmanager/patches/coverload/qml:
CoverActionStrip.qml
CoverCanvas.qml
CoverOverride.qml
RoundedMask.qml
coverload.js
settings

/usr/share/patchmanager/patches/coverload/qml/settings:
AppPickerPage.qml
CoverCatalog.qml
RuleDialog.qml

/usr/share/patchmanager/patches/customise_close-app_gesture:
main-light.png
main.png
main.qml
patch.json
unified_diff.patch

/usr/share/patchmanager/patches/eugenio-restore-swipe-to-lock:
patch.json
unified_diff.patch

/usr/share/patchmanager/patches/felis-phone-start-page:

/usr/share/patchmanager/patches/felis-sharp-caller-photo:

/usr/share/patchmanager/patches/force-cover-size:
main-light.png
main.png
main.qml
patch.json
unified_diff.patch

/usr/share/patchmanager/patches/laucher_combined_cfb:
main-light.png
main.png
main.qml
patch.json
translation_es.qm
translation_fr.qm
translation_nb_NO.qm
translation_nl.qm
translation_sv.qm
unified_diff.patch

/usr/share/patchmanager/patches/mediaplayer-in-eventsview:
patch.json
unified_diff.patch

/usr/share/patchmanager/patches/no-home-carousel:
patch.json
unified_diff.patch

/usr/share/patchmanager/patches/old_remorse_timer:
patch.json
unified_diff.patch

/usr/share/patchmanager/patches/patch-glass-everywhere:
patch.json
unified_diff.patch

/usr/share/patchmanager/patches/patch-glass-popups:
patch.json
unified_diff.patch

/usr/share/patchmanager/patches/patch-hide-launcher-handles:
patch.json
unified_diff.patch

/usr/share/patchmanager/patches/patch-i-see-a-red-door:
patch.json
unified_diff.patch

/usr/share/patchmanager/patches/patch-topmenu-control-redux:
graphic-restart-lipstick.svg
main.qml
patch.json
unified_diff.patch

/usr/share/patchmanager/patches/patch-volume-fine-control:
patch.json
unified_diff.patch

/usr/share/patchmanager/patches/return-old-button-style-iv:
main.png
patch.json
unified_diff.patch

/usr/share/patchmanager/patches/return-old-pulley-menu-iv:
main.png
patch.json
unified_diff.patch

/usr/share/patchmanager/patches/sfos-patch-custom-lockscreen:
ClockPage.qml
ColorSetting.qml
DatePage.qml
EmergencyPage.qml
LockColorPicker.qml
OverallPage.qml
ResetSlider.qml
SectionButton.qml
WeatherPage.qml
WeekdayPage.qml
main.qml
patch.json
unified_diff.patch

/usr/share/patchmanager/patches/sfos-patch-keyboard-configurable-height:
PatchDetails.qml
main.qml
patch.json
unified_diff.patch

/usr/share/patchmanager/patches/sfos-patch-launcher-list:
PatchDetails.qml
PinnedAppsRow.qml
main.qml
patch.json
translation_pl.qm
unified_diff.patch

/usr/share/patchmanager/patches/sfos-patch-roundedrectangle-launcher-peek-rows:
main.qml
patch.json
unified_diff.patch

The patch is now available in Patchmanager Web Catalog! Project: custom-lockscreen

3 Likes