lxqt: fix themes and translations
LXQt binaries look for their themes and translations based on the name of the binary, which is changed by the wrapper script. This patches liblxqt to recover the original name from the wrapped binary name.
This commit is contained in:
parent
6e83386e82
commit
b6779d541a
@ -39,6 +39,9 @@ mkDerivation rec {
|
||||
xorg.libXScrnSaver
|
||||
];
|
||||
|
||||
# convert name of wrapped binary, e.g. .lxqt-whatever-wrapped to the original name, e.g. lxqt-whatever so binaries can find their resources
|
||||
patches = [ ./fix-application-path.patch ];
|
||||
|
||||
postPatch = ''
|
||||
sed -i "s|\''${POLKITQT-1_POLICY_FILES_INSTALL_DIR}|''${out}/share/polkit-1/actions|" CMakeLists.txt
|
||||
'';
|
||||
|
23
pkgs/desktops/lxqt/liblxqt/fix-application-path.patch
Normal file
23
pkgs/desktops/lxqt/liblxqt/fix-application-path.patch
Normal file
@ -0,0 +1,23 @@
|
||||
--- a/lxqtapplication.cpp
|
||||
+++ b/lxqtapplication.cpp
|
||||
@@ -77,7 +77,7 @@ Application::Application(int &argc, char** argv, bool handleQuitSignals)
|
||||
|
||||
void Application::updateTheme()
|
||||
{
|
||||
- const QString styleSheetKey = QFileInfo(applicationFilePath()).fileName();
|
||||
+ const QString styleSheetKey = QFileInfo(applicationFilePath()).fileName().mid(1).chopped(8);
|
||||
setStyleSheet(lxqtTheme.qss(styleSheetKey));
|
||||
Q_EMIT themeChanged();
|
||||
}
|
||||
|
||||
--- a/lxqttranslator.cpp
|
||||
+++ b/lxqttranslator.cpp
|
||||
@@ -147,7 +147,7 @@ bool Translator::translateApplication(const QString &applicationName)
|
||||
if (!applicationName.isEmpty())
|
||||
return translate(applicationName);
|
||||
else
|
||||
- return translate(QFileInfo(QCoreApplication::applicationFilePath()).baseName());
|
||||
+ return translate(QFileInfo(QCoreApplication::applicationFilePath()).baseName().mid(1).chopped(8));
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user