forked from quickshell/quickshell
		
	core/icon: allow changing the icon theme
This commit is contained in:
		
							parent
							
								
									7a283089b1
								
							
						
					
					
						commit
						bd8978375b
					
				
					 2 changed files with 13 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -822,6 +822,7 @@ int launch(const LaunchArgs& args, char** argv, QCoreApplication* coreApplicatio
 | 
			
		|||
		bool useQApplication = false;
 | 
			
		||||
		bool nativeTextRendering = false;
 | 
			
		||||
		bool desktopSettingsAware = true;
 | 
			
		||||
		QString iconTheme = qEnvironmentVariable("QS_ICON_THEME");
 | 
			
		||||
		QHash<QString, QString> envOverrides;
 | 
			
		||||
	} pragmas;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -834,6 +835,7 @@ int launch(const LaunchArgs& args, char** argv, QCoreApplication* coreApplicatio
 | 
			
		|||
			if (pragma == "UseQApplication") pragmas.useQApplication = true;
 | 
			
		||||
			else if (pragma == "NativeTextRendering") pragmas.nativeTextRendering = true;
 | 
			
		||||
			else if (pragma == "IgnoreSystemSettings") pragmas.desktopSettingsAware = false;
 | 
			
		||||
			else if (pragma.startsWith("IconTheme ")) pragmas.iconTheme = pragma.sliced(10);
 | 
			
		||||
			else if (pragma.startsWith("Env ")) {
 | 
			
		||||
				auto envPragma = pragma.sliced(4);
 | 
			
		||||
				auto splitIdx = envPragma.indexOf('=');
 | 
			
		||||
| 
						 | 
				
			
			@ -857,6 +859,10 @@ int launch(const LaunchArgs& args, char** argv, QCoreApplication* coreApplicatio
 | 
			
		|||
 | 
			
		||||
	file.close();
 | 
			
		||||
 | 
			
		||||
	if (!pragmas.iconTheme.isEmpty()) {
 | 
			
		||||
		QIcon::setThemeName(pragmas.iconTheme);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	qInfo() << "Shell ID:" << shellId << "Path ID" << pathId;
 | 
			
		||||
 | 
			
		||||
	auto launchTime = qs::Common::LAUNCH_TIME.toSecsSinceEpoch();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -124,6 +124,13 @@ public:
 | 
			
		|||
	Q_INVOKABLE QVariant env(const QString& variable);
 | 
			
		||||
 | 
			
		||||
	/// Returns a string usable for a @@QtQuick.Image.source for a given system icon.
 | 
			
		||||
	///
 | 
			
		||||
	/// > [!INFO] By default, icons are loaded from the theme selected by the qt platform theme,
 | 
			
		||||
	/// > which means they should match with all other qt applications on your system.
 | 
			
		||||
	/// >
 | 
			
		||||
	/// > If you want to use a different icon theme, you can put `//@ pragma IconTheme <name>`
 | 
			
		||||
	/// > at the top of your root config file or set the `QS_ICON_THEME` variable to the name
 | 
			
		||||
	/// > of your icon theme.
 | 
			
		||||
	Q_INVOKABLE static QString iconPath(const QString& icon);
 | 
			
		||||
 | 
			
		||||
	[[nodiscard]] QString workingDirectory() const;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue