Simon Quigley
358099a9b9
|
11 months ago | |
---|---|---|
img | 11 months ago | |
scripts | 11 months ago | |
src | 11 months ago | |
.gitignore | 2 years ago | |
CMakeLists.txt | 11 months ago | |
LICENSE | 2 years ago | |
README.md | 11 months ago | |
gen_ts.sh | 11 months ago | |
lubuntu-live-environment.desktop | 2 years ago |
README.md
Lubuntu Installer Prompt
This project is in alpha. It may change drastically, or not. It presents a "Try or Install Lubuntu" screen. Eventually we want to extend this to support multiple flavors.
Releases are signed with Simon Quigley's GPG key: 5C7ABEA20F8630459CC8C8B5E27F2CF8458C2FA4
Licensing info:
- Everything is GPL-3 by 2022 Lubuntu Developers lubuntu-devel@lists.ubuntu.com unless stated otherwise.
- img/background.png is licensed CC-BY-4.0, authored by Aaron Rainbolt arraybolt3@gmail.com, copyright ownership the same as source
Architecture
This section serves to explain how lubuntu-installer-prompt's various components work together to provide the Lubuntu ISO boot experience.
- SDDM loads.
- /etc/sddm.conf is read. This file has been generated (or modified?) by Casper to point to a lubuntu-live-environment.desktop X session.
- lubuntu-live-environment.desktop executes /bin/start-lubuntu-live-env.
- start-lubuntu-live-env starts Openbox and backgrounds it.
- start-lubuntu-live-env starts /bin/lubuntu-installer-prompt but does not background it.
- The installer prompt appears.
- The user clicks "Install Lubuntu" or "Try Lubuntu".
- If "Install Lubuntu" is clicked, the installer prompt executes /usr/libexec/lubuntu-installer.sh, which then executes Calamares. The installer prompt then removes the buttons from the screen.
- The installer window appears on the user's screen.
- If Calamares closes, the installer prompt detects this and exits.
- When the installer prompt exits, start-lubuntu-live-env kills Openbox, then runs startlxqt.
- If "Try Lubuntu" is clicked, steps 10 and 11 are executed immediately.
Translations
Run the gen_ts.sh
script after making any code modifications to ensure that the translations files are up-to-date for translators to work on.
To add a new language to be translated:
- Open the
gen_ts.sh
script and add the locale code for the new language to thelangList
array. - Run the script after doing this - a new template .ts file will be generated under
src/translations/
. - Next, add the new template file to the
TS_FILES
list inCMakeLists.txt
- it will be namedsrc/translations/lubuntu-installer-prompt-locale_CODE.ts
, wherelocale_CODE
is the locale code of the added language. - Finally, add a line in the src/translations.qrc resource file to include the new translation file. The line should look like
<file alias="locale_CODE">lubuntu-installer-prompt_locale_CODE.qm</file>
, wherelocale_CODE
is the locale code of the added language. This line should go inside the<qresource>
tag.
For instance, if I were to add Chinese to the list of languages that could be translated into, I would do this:
vim gen_ts.sh
# add this code to the langList array:
# 'zh_CN'
./gen_ts.sh
vim CMakeLists.txt
# add this line to the TS_FILES list:
# src/translations/lubuntu-installer-prompt_zh_CN.ts
vim src/translations.qrc
# add this line to the list of file resources:
# <file alias="zh_CN">lubuntu-installer-prompt_zh_CN.qm</file>
The program will now pick up the added language at build time. Any translations added to the newly created .ts file will be shown to program users who select the new language.