Thèmes et SailfishOS
====================

:date: 2023-02-04
:tags: SailfishOS, thème, N9
:slug: themes-et-sailfishos
:url: themes-et-sailfishos

Thèmes et SailfishOS, plus quelques autres trucs.

. warning:: Cet article est encore en mode rédaction !

. image:: images/sfos/xperiaXA2.jpg

J'ai migré sur SailfishOS lors de mon dernier changement de téléphone mobile (Sony Xperia XA2), avec une licence Sailfish X, pour plusieurs raisons :

* Pas Google ;
* Pas Apple ;
* Développé en Europe ;
* GNU/Linux natif et non un truc bancal avec un noyau Linux patché à mort, avec une lib pas compatible glib, un environnement complètement verrouillé ;
* Pas de rootage ou hacks immondes pour avoir un accès root (c'est supporté nativement) ;
* Partiellement Open-source (oui, Android AOSP est aussi partiellement Open-Source, en mode, lis le code mais ne modifie pas) ;
* Wayland qui fonctionne ! ;
* Pulse-Audio qui fonctionne aussi (incroyable !) ;
* QT5.6 (ok, en fait, une vieille version plus du tout à jour et datant de 2013, et impossible de migrer, parce que The QT Company a changé de licence, et Jolla est bloqué partiellement à cause de cela) ;
* Pas Google ;
* Terminal avec un vrai système GNU/Linux, bash, python, perl… ;
* Briques open-source ;
* Systemd (qui fait maintenant partie du paysage) ;
* ssh natif (penser à activer le mode développeur) ;
* rpm (+ zypper, plus proche de Suse Linux voire Fedora que de Debian) ;
* Héritage de MER/Meego ;
* Interface uniformisée et cohérente ;
* Utilisation par gestes logiques et cohérents ;
* Vrai multitâches ;
* Pas Google ;
* (avec une licence Sailfish X et complètement facultatif) Conteneur LXC pour faire fonctionner un Android 11 AOSP (oui, un conteneur LXC sur un téléphone mobile). Peut être utile pour un truc chiant comme une application de validation de la banque (DSP2), à condition d'utiliser des trucs comme MicroG.

Je l'utilise au quotidien (c'est mon téléphone principal, mon vieux Galaxy Note 2 me sert de téléphone de secours, avec une ligne Free à 2€ dessus).

Loin d'être parfait, je pourrais faire une liste de reproches (également lié au XA2).

. note:: Faire la liste des trucs embêtants et chiants.

Le principal problème que je rencontre, c'est au niveau du style. Je n'aime, mais alors, absolument pas du tout, le style de Sailfish OS, notamment et surtout le thème d'icônes.


. image:: images/sfos/JollaTheme.jpg

Thème par défaut.

. image:: images/sfos/N9ishTheme.jpg

Thème N9ish, rappelant fortement le thème du Nokia N9.

Par le passé, il y avait un outil appelé “sailfishos-uithemer”, qui permettait de changer facilement de thème d'icônes, de police de caractère, de sons.

Un thème, contrairement à une ambiance, peut correspondre à un pack d'icônes, par exemple n9ish, ou un pack contenant une police de caractère ou un pack de sons, par exemple nokia-pure.

Thème n9ish :

https://openrepos.net/content/speactra/n9ish-icons
https://github.com/speactra/harbour-themepack-n9ish


Ambiances
---------

Attention : ne pas confondre un thème avec une Ambiance. Les Ambiances sont gérées nativement et consistent en :

* un fond d'écran, dans une taille bien définie (et qui est assez pénible d'ailleurs) ;
* une couleur principale, qui sera utilisée partout (sur le clavier, sur les icônes dans le menu supérieur, en sélection et j'en passe) ;
* un ensemble d'action, comme changer le volume des sonneries et notifications, changer les tonalités, donc les sons à jouer en cas d'appel, réception d'un message, d'un courriel, etc.

Une ambiance se paramètre comme ceci :

. image:: images/sfos/ambiance.jpg

Quelques exemples d'ambiances :

. image:: images/sfos/ambianceM87.jpg
. image:: images/sfos/ambianceNep.jpg
. image:: images/sfos/ambianceR.jpg
. image:: images/sfos/ambianceYN.jpg

sailfishos-uithemer
-------------------

. image:: images/sfos/uiThemer.jpg

. image:: images/sfos/n9ish.jpg

. image:: images/sfos/NokiaPure.jpg

Le principal problème de sailfishos-uithemer, c'est que son code source et ses dépendances, notamment harbour-themepacksupport, ne sont plus disponibles.
Enfin, sailfishos-uithemer l'est en passant par le site Archive·org. Malheuseusement, ce n'est pas le cas pour harbour-themepacksupport.

L'une des solutions serait de récupérer les fichiers présents sur un téléphone ayant l'application déployée et de repackager dans un fichier rpm ?

C'est faisable facilement via la commande “rpmrebuild” (penser à l'installer avant toute chose).

Commençons par ouvrir un terminal (je suis sous GNU/Linux, adaptez si vous êtes sous Windows ou Mac)

::

   ssh kasumi
   Last login: Fri Feb  3 23:54:32 2023 from [masqué]
   ,---
   | Sailfish OS 4.5.0.16 (Struven ketju)
   '---
   [nemo@Kasumi ~]$

kasumi étant le nom de mon téléphone, j'ai bien entendu une entrée dans mon .ssh/config

Tout d'abord, retrouvons le nom exact du paquet. Ça devrait contenir “theme”.

::

   [nemo@Kasumi ~]$ rpm -qa |grep them
   jolla-ambient-sound-theme-0.1.0-1.2.2.jolla.noarch
   sound-theme-freedesktop-0.8+git1-1.6.2.jolla.noarch
   harbour-themepack-n9ish-0.0.2-1.armv7hl
   harbour-themepack-nokia-pure-0.0.2-2.noarch
   harbour-themepacksupport-0.8.13-4.noarch
   sailfishos-uithemer-2.2.1-3.armv7hl
   [nemo@Kasumi ~]$

Le nom du paquet est bien “sailfishos-uithemer”.

Regardons rapidement les détails

::

   [nemo@Kasumi ~]$ rpm -qi sailfishos-uithemer
   Name        : sailfishos-uithemer
   Version     : 2.2.1
   Release     : 3
   Architecture: armv7hl
   Install Date: mar. 29 sept. 2020 23:34:47 CEST
   Group       : Qt/Qt
   Size        : 692208
   License     : GPLv3
   Signature   : (none)
   Source RPM  : sailfishos-uithemer-2.2.1-3.src.rpm
   Build Date  : sam. 14 déc. 2019 21:26:25 CET
   Build Host  : localhost.localdomain
   Packager    : fravaccaro <fravaccaro@[masqué pour limiter le spam]>
   URL         : https://github.com/uithemer/sailfishos-uithemer
   Summary     : UI Themer
   Description :
   Enables customization of icons, fonts and pixel density in Sailfish OS.
   [nemo@Kasumi ~]$

Et ses dépendances :

::

   [nemo@Kasumi ~]$ rpm -qR sailfishos-uithemer
   /bin/sh
   /bin/sh
   harbour-themepacksupport >= 0.8.11-1
   ld-linux-armhf.so.3
   ld-linux-armhf.so.3(GLIBC_2.4)
   libQt5Core.so.5
   libQt5Core.so.5(Qt_5)
   libQt5Gui.so.5
   libQt5Gui.so.5(Qt_5)
   libQt5Qml.so.5
   libQt5Qml.so.5(Qt_5)
   libQt5Quick.so.5
   libQt5Quick.so.5(Qt_5)
   libc.so.6
   libc.so.6(GLIBC_2.4)
   libgcc_s.so.1
   libgcc_s.so.1(GCC_3.5)
   libsailfishapp.so.1
   libstdc++.so.6
   libstdc++.so.6(CXXABI_1.3)
   libstdc++.so.6(CXXABI_ARM_1.3.3)
   libstdc++.so.6(GLIBCXX_3.4)
   rpmlib(CompressedFileNames) <= 3.0.4-1
   rpmlib(FileDigests) <= 4.6.0-1
   rpmlib(PayloadFilesHavePrefix) <= 4.0-1
   rpmlib(PayloadIsXz) <= 5.2-1
   sailfish-version >= 2.1.4
   [nemo@Kasumi ~]$

Spoiler : La dépendance à “harbour-themepacksupport” va être pénible à gérer.


On peut maintenant essayer de recréer le paquet rpm.

Essayer…

parce que, en fait…

::

   [nemo@Kasumi ~]$ rpmrebuild sailfishos-uithemer
   /usr/lib/rpmrebuild/rpmrebuild.sh: WARNING: some files have been modified:
   S.5....T.    /usr/share/applications/sailfishos-uithemer.desktop
   SM5....T.    /usr/share/icons/hicolor/108x108/apps/sailfishos-uithemer.png
   SM5....T.    /usr/share/icons/hicolor/128x128/apps/sailfishos-uithemer.png
   SM5....T.    /usr/share/icons/hicolor/172x172/apps/sailfishos-uithemer.png
   SM5....T.    /usr/share/icons/hicolor/256x256/apps/sailfishos-uithemer.png
   SM5....T.    /usr/share/icons/hicolor/86x86/apps/sailfishos-uithemer.png
   manque     /usr/share/sailfishos-uithemer/scripts/sailfishos-uithemer.txt
   Do you want to continue ? (y/N) Y
   Do you want to change release number ? (y/N)
   attention : Ne peut canoniser le nom d'hôte : Kasumi
   erreur : Fichier non trouvé : /home/nemo/.tmp/rpmrebuild.8537/my_root/usr/share/sailfishos-uithemer/scripts/sailfishos-uithemer.txt
       Ne peut canoniser le nom d'hôte : Kasumi
       Fichier non trouvé : /home/nemo/.tmp/rpmrebuild.8537/my_root/usr/share/sailfishos-uithemer/scripts/sailfishos-uithemer.txt
   /usr/lib/rpmrebuild/rpmrebuild.sh: ERROR: package 'sailfishos-uithemer' build failed
   [nemo@Kasumi ~]$

Autant les fichiers modifiés, ce n'est pas forcément un problème. Sauf que là, en fait, il manque un fichier >.<

Le fichier “sailfishos-uithemer.txt” n'a pas été trouvé. Échec de la reconstruction du paquet.

Comment résoudre ce problème ?

https://web.archive.org/web/20200901180418/https://github.com/uithemer/sailfishos-uithemer

Ici, c'est « relativement » simple. Ayant pu télécharger le code source de “sailfishos-uithemer", et le fichier manquant se trouvant dans “scripts/”, j'ai « juste » eu à le transférer sur le téléphone puis à le déplacer dans “/usr/share/sailfishos-uithemer/scripts“

::

   [nemo@Kasumi ~]$ sudo cp sailfishos-uithemer.txt /usr/share/sailfishos-uithemer/scripts/
   Mot de passe :
   [nemo@Kasumi ~]

Réessayons…

::

   [nemo@Kasumi ~]$ rpmrebuild sailfishos-uithemer
   /usr/lib/rpmrebuild/rpmrebuild.sh: WARNING: some files have been modified:
   S.5....T.    /usr/share/applications/sailfishos-uithemer.desktop
   SM5....T.    /usr/share/icons/hicolor/108x108/apps/sailfishos-uithemer.png
   SM5....T.    /usr/share/icons/hicolor/128x128/apps/sailfishos-uithemer.png
   SM5....T.    /usr/share/icons/hicolor/172x172/apps/sailfishos-uithemer.png
   SM5....T.    /usr/share/icons/hicolor/256x256/apps/sailfishos-uithemer.png
   SM5....T.    /usr/share/icons/hicolor/86x86/apps/sailfishos-uithemer.png
   .M.....T.    /usr/share/sailfishos-uithemer/scripts/sailfishos-uithemer.txt
   Do you want to continue ? (y/N) Y
   Do you want to change release number ? (y/N)
   attention : Ne peut canoniser le nom d'hôte : Kasumi
   result: /home/nemo/rpmbuild/RPMS/armv7hl/sailfishos-uithemer-2.2.1-3.armv7hl.rpm
   [nemo@Kasumi ~]$

Bon, le paquet a pu être recréé.

harbour-themepack-nokia-pure
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Passons ensuite au paquet “harbour-themepack-nokia-pure-0.0.2-2.noarch” (parce que n'existant plus dans Openrepos)

::

   [nemo@Kasumi ~]$ rpmrebuild harbour-themepack-nokia-pure
   attention : Ne peut canoniser le nom d'hôte : Kasumi
   result: /home/nemo/rpmbuild/RPMS/noarch/harbour-themepack-nokia-pure-0.0.2-2.noarch.rpm
   [nemo@Kasumi ~]$

Pas de surprise, ça a recréé sans souci le paquet à  la première tentative.

Maintenant, passons au paquet le plus pénible…

harbour-themepacksupport
~~~~~~~~~~~~~~~~~~~~~~~~

Le code source n'est pas disponible sur archive·org, et n'existe plus non plus côté github (enfin, j'ai trouvé une version beaucoup plus ancienne et ne correspondant pas aux fichiers).

D'abord, regardons les informations :

::

   [nemo@Kasumi ~]$ rpm -qi harbour-themepacksupport
   Name        : harbour-themepacksupport
   Version     : 0.8.13
   Release     : 4
   Architecture: noarch
   Install Date: mar. 29 sept. 2020 23:34:35 CEST
   Group       : System/Tools
   Size        : 98384
   License     : GPLv3
   Signature   : (none)
   Source RPM  : harbour-themepacksupport-0.8.13-4.src.rpm
   Build Date  : sam. 24 août 2019 20:19:50 CEST
   Build Host  : x3400
   Packager    : fravaccaro <fravaccaro@[masqué pour limiter le spam]]>
   Vendor      : fravaccaro
   URL         : https://github.com/uithemer/themepacksupport-sailfishos
   Summary     : Theme pack support
   Description :
   Theme pack support for Sailfish OS.
   [nemo@Kasumi ~]$

Bon, tentons de recréer le paquet rpm…

::

   [nemo@Kasumi ~]$ rpmrebuild harbour-themepacksupport
   /usr/lib/rpmrebuild/rpmrebuild.sh: WARNING: some files have been modified:
   .M.......    /usr/share/harbour-themepacksupport/apply_adpi.sh
   .M.......    /usr/share/harbour-themepacksupport/autoupdate-menu.sh
   .......T.    /usr/share/harbour-themepacksupport/config.cfg
   .M.......    /usr/share/harbour-themepacksupport/ddensity-menu.sh
   S.5....T.    /usr/share/harbour-themepacksupport/device-model
   .M.......    /usr/share/harbour-themepacksupport/disable-autoupdate.sh
   .M.......    /usr/share/harbour-themepacksupport/disable-dpi.sh
   .M.......    /usr/share/harbour-themepacksupport/disable-servicesu.sh
   .M.......    /usr/share/harbour-themepacksupport/enable-autoupdate.sh
   .M.......    /usr/share/harbour-themepacksupport/enable-dpi.sh
   .M.......    /usr/share/harbour-themepacksupport/font-backup.sh
   .M.......    /usr/share/harbour-themepacksupport/font-menu.sh
   .M.......    /usr/share/harbour-themepacksupport/font-restore.sh
   .M.......    /usr/share/harbour-themepacksupport/font-run.sh
   .M.......    /usr/share/harbour-themepacksupport/graphic-backup.sh
   .M.......    /usr/share/harbour-themepacksupport/graphic-menu.sh
   .M.......    /usr/share/harbour-themepacksupport/graphic-restore.sh
   .M.......    /usr/share/harbour-themepacksupport/graphic-run.sh
   manque     /usr/share/harbour-themepacksupport/harbour-themepacksupport.desktop
   manque     /usr/share/harbour-themepacksupport/harbour-themepacksupport.png
   .M.......    /usr/share/harbour-themepacksupport/icon-backup.sh
   .M.......    /usr/share/harbour-themepacksupport/icon-menu.sh
   .M.......    /usr/share/harbour-themepacksupport/icon-reinstall.sh
   .M.......    /usr/share/harbour-themepacksupport/icon-restore.sh
   .M.......    /usr/share/harbour-themepacksupport/icon-run.sh
   S.5....T.    /usr/share/harbour-themepacksupport/icon-z
   .M.......    /usr/share/harbour-themepacksupport/ocr.sh
   .M.......    /usr/share/harbour-themepacksupport/ocr_su.sh
   .M.......    /usr/share/harbour-themepacksupport/restore_adpi.sh
   .M.......    /usr/share/harbour-themepacksupport/restore_dpr.sh
   .M.......    /usr/share/harbour-themepacksupport/restore_iz.sh
   manque     /usr/share/harbour-themepacksupport/service/10-themepacksupport.conf
   .M.......    /usr/share/harbour-themepacksupport/service/apkicons.sh
   .M.......    /usr/share/harbour-themepacksupport/service/run.sh
   manque     /usr/share/harbour-themepacksupport/service/themepacksupport-autoupdate.service
   manque     /usr/share/harbour-themepacksupport/service/themepacksupport-autoupdate.timer
   manque     /usr/share/harbour-themepacksupport/service/themepacksupport-systemupgrade.service
   .M.......    /usr/share/harbour-themepacksupport/sound-backup.sh
   .M.......    /usr/share/harbour-themepacksupport/sound-menu.sh
   .M.......    /usr/share/harbour-themepacksupport/sound-restore.sh
   .M.......    /usr/share/harbour-themepacksupport/sound-run.sh
   .M.......    /usr/share/harbour-themepacksupport/systemupgrade-service.sh
   .M.......    /usr/share/harbour-themepacksupport/themepacksupport.sh
   .M.......    /usr/share/harbour-themepacksupport/tools-menu.sh
   Do you want to continue ? (y/N) Y
   Do you want to change release number ? (y/N)
   attention : Ne peut canoniser le nom d'hôte : Kasumi
   erreur : Fichier non trouvé : /home/nemo/.tmp/rpmrebuild.6506/my_root/usr/share/harbour-themepacksupport/harbour-themepacksupport.desktop
   erreur : Fichier non trouvé : /home/nemo/.tmp/rpmrebuild.6506/my_root/usr/share/harbour-themepacksupport/harbour-themepacksupport.png
   erreur : Fichier non trouvé : /home/nemo/.tmp/rpmrebuild.6506/my_root/usr/share/harbour-themepacksupport/service/10-themepacksupport.conf
   erreur : Fichier non trouvé : /home/nemo/.tmp/rpmrebuild.6506/my_root/usr/share/harbour-themepacksupport/service/themepacksupport-autoupdate.service
   erreur : Fichier non trouvé : /home/nemo/.tmp/rpmrebuild.6506/my_root/usr/share/harbour-themepacksupport/service/themepacksupport-autoupdate.timer
   erreur : Fichier non trouvé : /home/nemo/.tmp/rpmrebuild.6506/my_root/usr/share/harbour-themepacksupport/service/themepacksupport-systemupgrade.service
       Ne peut canoniser le nom d'hôte : Kasumi
       Fichier non trouvé : /home/nemo/.tmp/rpmrebuild.6506/my_root/usr/share/harbour-themepacksupport/harbour-themepacksupport.desktop
       Fichier non trouvé : /home/nemo/.tmp/rpmrebuild.6506/my_root/usr/share/harbour-themepacksupport/harbour-themepacksupport.png
       Fichier non trouvé : /home/nemo/.tmp/rpmrebuild.6506/my_root/usr/share/harbour-themepacksupport/service/10-themepacksupport.conf
       Fichier non trouvé : /home/nemo/.tmp/rpmrebuild.6506/my_root/usr/share/harbour-themepacksupport/service/themepacksupport-autoupdate.service
       Fichier non trouvé : /home/nemo/.tmp/rpmrebuild.6506/my_root/usr/share/harbour-themepacksupport/service/themepacksupport-autoupdate.timer
       Fichier non trouvé : /home/nemo/.tmp/rpmrebuild.6506/my_root/usr/share/harbour-themepacksupport/service/themepacksupport-systemupgrade.service
   /usr/lib/rpmrebuild/rpmrebuild.sh: ERROR: package 'harbour-themepacksupport' build failed
   [nemo@Kasumi ~]$

Bon, je m'y attendais un peu… échec.

Fichiers manquants :

* /usr/share/harbour-themepacksupport/harbour-themepacksupport.desktop
* /usr/share/harbour-themepacksupport/harbour-themepacksupport.png
* /usr/share/harbour-themepacksupport/service/10-themepacksupport.conf
* /usr/share/harbour-themepacksupport/service/themepacksupport-autoupdate.service
* /usr/share/harbour-themepacksupport/service/themepacksupport-autoupdate.timer
* /usr/share/harbour-themepacksupport/service/themepacksupport-systemupgrade.service

Arborescence complète :

::

   [nemo@Kasumi ~]$ tree -I backup /usr/share/harbour-themepacksupport
   /usr/share/harbour-themepacksupport
   ├── apply_adpi.sh
   ├── autoupdate-menu.sh
   ├── config.cfg
   ├── config.shlib
   ├── ddensity-menu.sh
   ├── device-model
   ├── disable-autoupdate.sh
   ├── disable-dpi.sh
   ├── disable-servicesu.sh
   ├── droiddpi-current
   ├── enable-autoupdate.sh
   ├── enable-dpi.sh
   ├── enable-servicesu.sh
   ├── font-backup.sh
   ├── font-current
   ├── font-menu.sh
   ├── font-reinstall.sh
   ├── font-restore.sh
   ├── font-run.sh
   ├── graphic-backup.sh
   ├── graphic-current
   ├── graphic-menu.sh
   ├── graphic-restore.sh
   ├── graphic-run.sh
   ├── iconapply-menu.sh
   ├── icon-backup.sh
   ├── icon-current
   ├── icon-menu.sh
   ├── icon-overlay.sh
   ├── icon-reinstall.sh
   ├── icon-restore.sh
   ├── icon-run.sh
   ├── icon-z
   ├── install_dependencies.sh
   ├── install_imagemagick.sh
   ├── LICENSE
   ├── ocr.sh
   ├── ocr_su.sh
   ├── restore_adpi.sh
   ├── restore_dpr.sh
   ├── restore_iz.sh
   ├── service
   │   ├── apkicons.sh
   │   ├── hours
   │   └── run.sh
   ├── size_droid
   ├── size_native
   ├── sound-backup.sh
   ├── sound-current
   ├── sound-menu.sh
   ├── sound-reinstall.sh
   ├── sound-restore.sh
   ├── sound-run.sh
   ├── systemupgrade-service.sh
   ├── themepacksupport.sh
   ├── tmp
   ├── tools-iconbackup.sh
   ├── tools-iconrestore.sh
   └── tools-menu.sh

   2 directories, 57 files
   [nemo@Kasumi ~]$

Pour le moment, je suis bloqué là.

Je pourrais ou bien créer des fichiers vides, ce qui génèrerait le paquet (avec des avertissements comme quoi les fichiers ont été modifiés).

Sinon, copier les scripts, les lire, les comprendre, et créer un nouveau paquet avec le minimum requis.

Ou sinon, comme ma principale utilisation, c'est juste déployer un thème d'icônes et une police de caractères, écrire juste un script qui fait ça…

Layout BÉPO
-----------

. image:: images/sfos/bepo1.jpg

L'ayant récupéré depuis le site bépo.fr https://bepo.fr/wiki/SailfishOS et les instructions sur la page étant claires, je ne vais pas les répéter ici.

Sauf que, le passage à la version 4.5 de SailfishOS a cassé la disposition bépo. Les touches point, virgule et apostrophe ne sont plus accessibles.

J'ai donc modifié le fichier bepo.qml, notamment la déclaration de la rangée du bas :

::

   KeyboardRow {

               splitIndex: 4

               SymbolKey {
                       implicitWidth: symbolKeyWidthNarrow
               }

               CharacterKey {
                       caption: ".";
                       captionShifted: "…";
                       implicitWidth: punctuationKeyWidth;
                       fixedWidth: !splitActive;
               }
               ContextAwareCommaKey {
                       implicitWidth: punctuationKeyWidth
               }

               SpacebarKey {}
               SpacebarKey {
                       active: splitActive;
                       languageLabel: ""
               }

               CharacterKey {
                       caption: "’";
                       captionShifted: "'";
                       implicitWidth: punctuationKeyWidth;
                       fixedWidth: !splitActive
               }


               EnterKey {}
       }

Le fichier complet est disponible ici : https://aeka.chibi-nah.net/~alex/brol/bepo.qml

Une fois copié, il peut être nécessaire de redémarrer maliit-server (le service clavier virtuel).

Soit passer par Réglages -> Utilitaires. Sous « Écran d'accueil », tapoter sur le bouton « Redémarrer ».

Soit via le terminal : “systemctl --user restart maliit-server” (merci https://tooting.ch/@pherjung pour l'astuce)

::

   [nemo@Kasumi ~]$ systemctl --user restart maliit-server
   [nemo@Kasumi ~]$ systemctl --user status maliit-server
   ● maliit-server.service - The Maliit server
   Loaded: loaded (/usr/lib/systemd/user/maliit-server.service; disabled; vendor preset: enabled)
   Active: active (running) since Sat 2023-02-04 02:01:57 CET; 4s ago
   Main PID: 17912 (invoker)
   CGroup: /user.slice/user-100000.slice/[email protected]/maliit-server.service
           └─17912 /usr/bin/invoker --type=qt5 /usr/bin/maliit-server

   févr. 04 02:01:57 Kasumi systemd[5219]: Starting The Maliit server...
   févr. 04 02:01:57 Kasumi systemd[5219]: Started The Maliit server.
   févr. 04 02:01:57 Kasumi invoker[17912]: WARNING: bool MIMPluginManagerPrivate::loadPlugin(const QDir&, const QString&) Error loading plugin from "/usr/lib/maliit/plugins/libmaliit-keyboard-plugin.so" "The shared library was not found."
   févr. 04 02:01:58 Kasumi invoker[17912]: WARNING: invalid inputhandler for Xt9InputHandler.qml, forcing paste input handler
   févr. 04 02:01:59 Kasumi invoker[17912]: WARNING: invalid inputhandler for , forcing paste input handler
   févr. 04 02:01:59 Kasumi invoker[17912]: WARNING: Image file path failed to resolve for "graphic-system-gradient?#e6000c"
   févr. 04 02:01:59 Kasumi invoker[17912]: WARNING: file:///usr/share/maliit/plugins/com/jolla/custom_emoji/EmojiRemorse.qml:130:5: QML Image: Failed to get image from provider: image://theme/graphic-system-gradient?#e6000c
   [nemo@Kasumi ~]$

Une fois redémarré, l'affichage des touches est correct.

. image:: images/sfos/bepo2.jpg

. note:: Une excellente remarque qui m’a été faite par courriel. La touche “W” n'est pas affichée. C'est le comportement de cette disposition bépo à cause de certaines limitations.

   C'est indiqué tout en bas de la page de cette disposition :

   https://bepo.fr/wiki/SailfishOS

   -> Considérations : “"W" n'est pas visible, il est associé au "V". De la même manière, Ç → C, Ê → E, À → A, etc.”

   Du coup, pour pouvoir taper la lettre "W", il suffit de faire un appui long sur la touche "V".


pixel-ratio
-----------

Par défaut, le ratio pour l'affichage ne me convient pas du tout. Le texte est trop gros. Et dans Réglages -> Affichage, on ne peut que agrandir le texte. Pas le réduire.

. image:: images/sfos/fontSize.jpg

Comme ce n'est plus faisable via sailfishos-uithemer (cela fonctionnait avant), je procède différemment.

M'étant basé sur les informations disponibles ici : https://forum.sailfishos.org/t/ui-themer-missing-from-openrepos/2457/63

j'ai fini par écrire un script tout simple pour automatiser les manipulations.

dans ~, j'ai un fichier “silica-configs.txt”, et un script “theme-pixel-ratio”

Contenu de “silica-configs.txt” :

::

   [desktop/sailfish/silica]
   theme_pixel_ratio=1.50
   theme_icon_subdir='z1.75'

Contenu de theme-pixel-ratio

::

   #!/bin/bash
   cp /home/nemo/silica-configs.txt /etc/dconf/db/vendor.d/silica-configs.txt
   dconf compile /etc/dconf/db/vendor.new /etc/dconf/db/vendor.d
   mv /etc/dconf/db/vendor /etc/dconf/db/vendor.bak
   mv /etc/dconf/db/vendor.new /etc/dconf/db/vendor
   echo "Redémarrer le téléphone pour que le nouveau ratio soit pris en compte"

Tout ce que j'ai à faire une fois une mise à jour de SailfishOS terminée, c'est de lancer l'application terminal, et de taper :

::

   sudo ./theme-pixel-ratio

Quand le message « Redémarrer le téléphone pour que le nouveau ratio soit pris en compte » apparaît, je n'ai plus qu'à redémarrer le téléphone pour que cela soit pris en compte.


--

C'est tout pour le moment.