feat: bury offline mode, ship antergos-layan-theme

remember when i thought an offline installer was a good idea?
a pre-built squashfs that still needed internet to install DEs?
"offline" in name only. it was a lie. a beautiful, naive lie.

so i killed it. ripped out the mode picker, the connectivity check,
the whole AskMode() circus. calamares-next now just shows a notice
saying "yeah that wasnt actually offline" and launches directly
into online mode. no more pretending.

also fixed the QML nav button because having a greyed out "Next"
on the last page is terrible UX. now it says "Done" and quits.
youre welcome.

and since we nuked the offline mode, might as well make the
online mode look fucking spectacular. enter antergos-layan-theme:

- kvantum theme because your apps deserve better than qt dreck
- sddm theme (AntergosDark-Layan) for a sexy login screen
- every plasma plasmoid from the rice (panel colorizer, netspeed,
  shutdown switch, applets, separators, music toolbar, the works)
- yakuake arc-dark skin
- antergos logos in /usr/share/logos and /usr/share/pixmaps
- konsole profile, desktop appletsrc, all that jazz
- kde_settings.conf now points to AntergosDark-Layan sddm theme

also replaced the old antergos-grub-theme with the Layan grub
theme because the old one was a git-sourced abomination. 75 distro
icons, terminal box, selection widgets, antergos wallpaper.
ships to /usr/share/grub/themes/antergos/ so calamares finds it.

oh and a dozen audit fixes:
- kscreenlockerrc wallpaper path fixed
- kdialogrc no longer says some other distro
- 7 stale knsregistry files deleted (dev machine was leaking)
- systemd-inhibit guarded with command -v (dinit doesnt have it)
- plasma restart uses killall not systemctl --user
- "XeroLinux Toolkit" -> "Antergos Toolkit" in appletsrc
- KDE_SESSION_VERSION=5 -> =6 (its 2026)
- mirrorlist script says Artix not Arch
- SDDM Messages.sh removed from build artifacts
This commit is contained in:
2026-07-16 21:57:36 +02:00
parent 716ff74560
commit 82ff06c4da
1302 changed files with 308189 additions and 235 deletions
@@ -0,0 +1,43 @@
# Version 1.0
# https://www.opencode.net/ashark/compare-using-meld_dolphin-service-menu
[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=inode/directory;application/octet-stream;
Icon=org.gnome.meld
Actions=setArg1;diff;diffsudo;_SEPARATOR_;selected;selectedsudo;
X-KDE-StartupNotify=false
X-KDE-Submenu=Compare using meld
X-KDE-Submenu[ru]=Сравнить используя meld
[Desktop Action setArg1]
Icon=document-compareleft
Exec=echo "%U" > /tmp/meld-menu-arg1
Name=Mark for use in left column
Name[ru]=Пометить для использования в левой колонке
[Desktop Action diff]
Icon=document-compareright
Exec=ARG1=$(cat /tmp/meld-menu-arg1);meld "$ARG1" %U; rm /tmp/meld-menu-arg1;
Name=Use in right column and compare
Name[ru]=Использовать в правой колонке и сравнить
[Desktop Action diffsudo]
Icon=document-compareright
Exec=ARG1=$(cat /tmp/meld-menu-arg1); rm /tmp/meld-menu-arg1; if [ "$XDG_SESSION_TYPE" = "wayland" ]; then xhost +si:localuser:root && pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=6 KDE_FULL_SESSION=true dbus-launch meld "$ARG1" %U && xhost -si:localuser:root ; else pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=6 KDE_FULL_SESSION=true meld "$ARG1" %U; fi;
Name=Use in right column and compare as root
Name[ru]=Использовать в правой колонке и сравнить как root
[Desktop Action selected]
Icon=kr_comparedirs
Exec=meld %U; rm /tmp/meld-menu-arg1;
Name=Compare selected (highlighted) files/folders
Name[ru]=Сравнить выделенные (подсвеченные) файлы/папки
[Desktop Action selectedsudo]
Icon=kr_comparedirs
# Exec=sudo meld %U; rm /tmp/meld-menu-arg1;
Exec=if [ "$XDG_SESSION_TYPE" = "wayland" ]; then xhost +si:localuser:root && pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=6 KDE_FULL_SESSION=true dbus-launch meld %U && xhost -si:localuser:root ; else pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=6 KDE_FULL_SESSION=true meld %U; fi;
Name=Compare selected (highlighted) files/folders as root
Name[ru]=Сравнить выделенные (подсвеченные) файлы/папки как root
@@ -0,0 +1,90 @@
#
# Copyright (C) 2024 Codelinsoft <info@codelinsoft.it>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
#
# require: poppler; notify-send; libreoffice
#
# Version 1.5.2
#
[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=application/pdf;
Icon=application-pdf
Actions=odt;word;odp;powerpoint;jpg;png;html;
X-KDE-Priority=TopLevel
X-KDE-StartupNotify=false
X-KDE-Submenu=Convert pdf to
X-KDE-Submenu[it]= Converti pdf in
X-KDE-Submenu[de]= PDF konvertieren in
X-KDE-Submenu[fr]= Convertir un pdf en
[Desktop Action odt]
Name=ODT
Icon=/usr/share/icons/convert_pdf/odt.png
Exec=soffice --infilter="writer_pdf_import" --convert-to odt %f %f;/usr/bin/notify-send -u critical --app-name="Convert ODT" --icon="/usr/share/icons/convert_pdf/odt.png" "Convert ODT successfully" "$(basename %f)"
Exec[it]=soffice --infilter="writer_pdf_import" --convert-to odt %f %f;/usr/bin/notify-send -u critical --app-name="Conversione ODT" --icon="/usr/share/icons/convert_pdf/odt.png" "Conversione ODT effettuata correttamente" "$(basename %f)"
Exec[de]=soffice --infilter="writer_pdf_import" --convert-to odt %f %f;/usr/bin/notify-send -u critical --app-name="Konvertierung ODT" --icon="/usr/share/icons/convert_pdf/odt.png" "Konvertierung ODT korrekt durchgeführt" "$(basename %f)"
Exec[fr]=soffice --infilter="writer_pdf_import" --convert-to odt %f %f;/usr/bin/notify-send -u critical --app-name="Conversion ODT" --icon="/usr/share/icons/convert_pdf/odt.png" "Conversion ODT effectué correctement" "$(basename %f)"
[Desktop Action word]
Name=WORD 2007/365
Icon=/usr/share/icons/convert_pdf/word_2007.png
Exec=soffice --infilter="writer_pdf_import" --convert-to docx:"MS Word 2007 XML" %f %f;/usr/bin/notify-send -u critical --app-name="Convert WORD 2007/365" --icon="/usr/share/icons/convert_pdf/word_2007.png" "Convert WORD 2007/365 successfully" "$(basename %f)"
Exec[it]=soffice --infilter="writer_pdf_import" --convert-to docx:"MS Word 2007 XML" %f %f;/usr/bin/notify-send -u critical --app-name="Conversione WORD 2007/365" --icon="/usr/share/icons/convert_pdf/word_2007.png" "Conversione WORD 2007/365 effettuata correttamente" "$(basename %f)"
Exec[de]=soffice --infilter="writer_pdf_import" --convert-to docx:"MS Word 2007 XML" %f %f;/usr/bin/notify-send -u critical --app-name="Konvertierung WORD 2007/365" --icon="/usr/share/icons/convert_pdf/word_2007.png" "Konvertierung WORD 2007/365 korrekt durchgeführt" "$(basename %f)"
Exec[fr]=soffice --infilter="writer_pdf_import" --convert-to docx:"MS Word 2007 XML" %f %f;/usr/bin/notify-send -u critical --app-name="Conversion WORD 2007/365" --icon="/usr/share/icons/convert_pdf/word_2007.png" "Conversion WORD 2007/365 effectué correctement" "$(basename %f)"
[Desktop Action odp]
Name=ODP
Icon=/usr/share/icons/convert_pdf/odp.png
Exec=soffice --infilter="impress_pdf_import" --convert-to odp %f %f;/usr/bin/notify-send -u critical --app-name="Convert ODP" --icon="/usr/share/icons/convert_pdf/odp.png" "Convert ODP successfully" "$(basename %f)"
Exec[it]=soffice --infilter="impress_pdf_import" --convert-to odp %f %f;/usr/bin/notify-send -u critical --app-name="Conversione ODP" --icon="/usr/share/icons/convert_pdf/odp.png" "Conversione ODP effettuata correttamente" "$(basename %f)"
Exec[de]=soffice --infilter="impress_pdf_import" --convert-to odp %f %f;/usr/bin/notify-send -u critical --app-name="Konvertierung ODP" --icon="/usr/share/icons/convert_pdf/odp.png" "Konvertierung ODP korrekt durchgeführt" "$(basename %f)"
Exec[fr]=soffice --infilter="impress_pdf_import" --convert-to odp %f %f;/usr/bin/notify-send -u critical --app-name="Conversion ODP" --icon="/usr/share/icons/convert_pdf/odp.png" "Conversion ODP effectué correctement" "$(basename %f)"
[Desktop Action powerpoint]
Name=POWERPOINT 2007/365
Icon=/usr/share/icons/convert_pdf/powerpoint_2007.png
Exec=soffice --infilter="impress_pdf_import" --convert-to pptx:"Impress MS PowerPoint 2007 XML" %f %f; /usr/bin/notify-send -u critical --app-name="Convert POWERPOINT 2007/365" --icon="/usr/share/icons/convert_pdf/powerpoint_2007.png" "Convert POWERPOINT 2007/365 successfully" "$(basename %f)"
Exec[it]=soffice --infilter="impress_pdf_import" --convert-to pptx:"Impress MS PowerPoint 2007 XML" %f %f; /usr/bin/notify-send -u critical --app-name="Conversione POWERPOINT 2007/365" --icon="/usr/share/icons/convert_pdf/powerpoint_2007.png" "Conversione POWERPOINT 2007/365 effettuata correttamente" "$(basename %f)"
Exec[de]=soffice --infilter="impress_pdf_import" --convert-to pptx:"Impress MS PowerPoint 2007 XML" %f %f; /usr/bin/notify-send -u critical --app-name="Konvertierung POWERPOINT 2007/365" --icon="/usr/share/icons/convert_pdf/powerpoint_2007.png" "Konvertierung POWERPOINT 2007/365 korrekt durchgeführt" "$(basename %f)"
Exec[fr]=soffice --infilter="impress_pdf_import" --convert-to pptx:"Impress MS PowerPoint 2007 XML" %f %f; /usr/bin/notify-send -u critical --app-name="Conversion POWERPOINT 2007/365" --icon="/usr/share/icons/convert_pdf/powerpoint_2007.png" "Conversion POWERPOINT 2007/365 effectué correctement" "$(basename %f)"
[Desktop Action jpg]
Name=JPEG
Icon=/usr/share/icons/convert_pdf/icon_jpg.png
Exec=pdftoppm -r 300 -jpeg %f %f; /usr/bin/notify-send -u critical --app-name="Convert JPEG" --icon="/usr/share/icons/convert_pdf/icon_jpg.png" "Convert JPEG successfully" "$(basename %f)"
Exec[it]=pdftoppm -r 300 -jpeg %f %f; /usr/bin/notify-send -u critical --app-name="Conversione JPEG" --icon="/usr/share/icons/convert_pdf/icon_jpg.png" "Conversione JPEG effettuata correttamente" "$(basename %f)"
Exec[de]=pdftoppm -r 300 -jpeg %f %f; /usr/bin/notify-send -u critical --app-name="Konvertierung JPEG" --icon="/usr/share/icons/convert_pdf/icon_jpg.png" "Konvertierung JPEG korrekt durchgeführt" "$(basename %f)"
Exec[fr]=pdftoppm -r 300 -jpeg %f %f; /usr/bin/notify-send -u critical --app-name="Conversion JPEG" --icon="/usr/share/icons/convert_pdf/icon_jpg.png" "Conversion JPEG effectué correctement" "$(basename %f)"
[Desktop Action png]
Name=PNG
Icon=/usr/share/icons/convert_pdf/icon_png.png
Exec=pdftoppm -r 300 -png %f %f; /usr/bin/notify-send -u critical --app-name="Convert png" --icon="/usr/share/icons/convert_pdf/icon_png.png" "Convert PNG successfully" "$(basename %f)"
Exec[it]=pdftoppm -r 300 -png %f %f; /usr/bin/notify-send -u critical --app-name="Conversione png" --icon="/usr/share/icons/convert_pdf/icon_png.png" "Conversione PNG effettuata correttamente" "$(basename %f)"
Exec[de]=pdftoppm -r 300 -png %f %f; /usr/bin/notify-send -u critical --app-name="Konvertierung png" --icon="/usr/share/icons/convert_pdf/icon_png.png" "Konvertierung PNG korrekt durchgeführt" "$(basename %f)"
Exec[fr]=pdftoppm -r 300 -png %f %f; /usr/bin/notify-send -u critical --app-name="Conversion png" --icon="/usr/share/icons/convert_pdf/icon_png.png" "Conversion PNG effectué correctement" "$(basename %f)"
[Desktop Action html]
Name=HTML
Icon=/usr/share/icons/convert_pdf/html.png
Exec=pdftohtml -c -noframes %f %f; /usr/bin/notify-send -u critical --app-name="Convert html" --icon="/usr/share/icons/convert_pdf/html.png" "Convert HTML successfully" "$(basename %f)"
Exec[it]=pdftohtml -c -noframes %f %f; /usr/bin/notify-send -u critical --app-name="Conversione html" --icon="/usr/share/icons/convert_pdf/html.png" "Conversione HTML effettuata correttamente" "$(basename %f)"
Exec[de]=pdftohtml -c -noframes %f %f; /usr/bin/notify-send -u critical --app-name="Konvertierung html" --icon="/usr/share/icons/convert_pdf/html.png" "Konvertierung HTML korrekt durchgeführt" "$(basename %f)"
Exec[fr]=pdftohtml -c -noframes %f %f; /usr/bin/notify-send -u critical --app-name="Conversion html" --icon="/usr/share/icons/convert_pdf/html.png" "Conversion HTML effectué correctement" "$(basename %f)"
@@ -0,0 +1,66 @@
[Desktop Entry]
X-KDE-ServiceTypes=KonqPopupMenu/Plugin,inode/directory,inode/directory-locked
Actions=RootKDE6;
Type=Service
MimeType=inode/directory;inode/directory-locked
Icon=system-file-manager
[Desktop Action RootKDE6]
Exec=if [ "$XDG_SESSION_TYPE" = "wayland" ]; then xhost +si:localuser:root && pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=6 KDE_FULL_SESSION=true dbus-launch dolphin %U && xhost -si:localuser:root ; else pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=6 KDE_FULL_SESSION=true dolphin %U; fi;
Icon=system-file-manager
Name=Open as Root
Name[ru]=Открыть папку с правами рут
Name[ua]=Відкрити папку з правами рут
Name[zh_CN]=打开具有根权限的文件夹
Name[zh_TW]=打開具有根許可權的資料夾
Name[de]=Öffnen des Ordners mit Root-Berechtigungen
Name[ja]=ルート権限を持つフォルダを開く
Name[ko]=루트 권한이 있는 폴더 열기
Name[fr]=Ouvrez le dossier avec les privilèges root
Name[el]=Ανοίξτε ως Root
Name[es]=Abrir en root
Name[tr]=Kök ayrıcalıkları olan klasörü açma
Name[he]=פתח תיקיה עם הרשאות שורש
Name[it]=Aprire la cartella con privilegi radice
Name[ar]=فتح المجلد بامتيازات الجذر
Name[pt_BR]=Abrir pasta com privilégios de root
Name[pt_PT]=Abrir pasta com privilégios de root
Name[sv]=Öppna mapp med root-behörigheter
Name[nb]=Åpne mappen med rotprivilegier
Name[ast]=
Name[az]=
Name[be]=
Name[bg]=
Name[ca]=
Name[ca@valencia]=
Name[cs]=
Name[da]=
Name[en_GB]=
Name[eo]=
Name[et]=
Name[eu]=
Name[fi]=
Name[gl]=
Name[hi]=
Name[hsb]=
Name[hu]=
Name[ia]=
Name[id]=
Name[is]=
Name[ka]=
Name[lt]=
Name[ml]=
Name[nl]=
Name[nn]=
Name[pa]=
Name[pl]=
Name[pt]=
Name[ro]=
Name[sa]=
Name[sk]=
Name[sl]=
Name[ta]=
Name[tg]=
Name[uk]=
Name[vi]=
Name[x-test]=
@@ -0,0 +1,79 @@
#!/bin/bash
locales_arr=("${LANGUAGE//:/}")
first_locale="${locales_arr[0]:0:2}"
function window_title() {
case "$first_locale" in
"ru")
printf "Создание новой папки";;
"be")
printf "Стварэнне новай тэчкi";;
"sr")
printf "Стварање нове мапе";;
"uk")
printf "Створення нової папки";;
"nl")
printf "Nieuwe map aanmaken";;
"de")
printf "Neuen Ordner erstellen";;
"fr")
printf "Créer un nouveau dossier";;
"it")
printf "Crea una nuova cartella";;
"es")
printf "Crear nueva carpeta";;
*)
printf "Create new folder";;
esac
}
function window_message() {
case "$first_locale" in
"ru")
printf "Укажите имя новой папки";;
"be")
printf "Пакажыце iмя новай тэчкi";;
"sr")
printf "Наведите име нове мапе";;
"uk")
printf "Вкажiть iм'я нової папки";;
"nl")
printf "Geef de nieuwe map een naam";;
"de")
printf "Neuen Ordner benennen";;
"fr")
printf "Définir le nom du nouveau dossier";;
"it")
printf "Imposta il nome della nuova cartella";;
"es")
printf "Establecer el nombre de la carpeta nueva";;
*)
printf "Set new folder name";;
esac
}
function def_name() {
case "$first_locale" in
"ru")
printf "Новая папка";;
"be")
printf "Новая тэчка";;
"sr")
printf "Нова мапа";;
"uk")
printf "Нова папка";;
"nl")
printf "Nieuwe map";;
"de")
printf "Neuer Ordner";;
"fr")
printf "Nouveau dossier";;
"it")
printf "Nuova cartella";;
"es")
printf "Nueva carpeta";;
*)
printf "New folder";;
esac
}
@@ -0,0 +1,22 @@
[Desktop Entry]
Type=Service
X-KDE-ServiceTypes=KonqPopupMenu/Plugin
#X-KDE-Submenu=KDE-Services
#X-KDE-Priority=TopLevel
MimeType=all/all;
Actions=selected2newfolder
Icon=folder-bookmark
[Desktop Action selected2newfolder]
Name=Create folder from selected
Name[ru]=Переместить в новую папку
Name[be]=Перамясцiць у новую тэчку
Name[sr]=Бити премештен у нову мапу
Name[uk]=Перемiстити в нову папку
Name[nl]=Map aanmaken met selectie
Name[de]=Ordner aus Auswahl erstellen
Name[fr]=Créer un dossier de la sélection
Name[it]=Crea cartella da selezionata
Name[es]=Crear carpeta de seleccionado
Exec=$HOME/.local/share/kio/servicemenus/selected2folder.sh %F .
Icon=folder-add
@@ -0,0 +1,26 @@
#!/bin/bash
# ver 1.0
. $HOME/.local/share/kio/servicemenus/s2fLocalization.sh
function add_prefix_name() {
NUM=0
TEMP="$1"
while [ -d "$TEMP" ]
do
NUM="$(($NUM+1))"
TEMP="$1"\ "($NUM)"
done
printf "$TEMP"
}
function ask_name() {
kdialog --title "$(window_title)" --inputbox "$(window_message)" "$1" --geometry 450x300
}
NAME="$(def_name)"
NAME="$(add_prefix_name "$NAME")"
NAME="$(ask_name "$NAME")"
while [ -d "$NAME" ]
do
NAME="$(add_prefix_name "$NAME")"
NAME="$(ask_name "$NAME")"
done
mkdir -p "$NAME" && cd "$NAME" && mv "$@"