Inject user path in Plist file when registering on macOS. Fix #233
This commit is contained in:
		
							parent
							
								
									232e80f55a
								
							
						
					
					
						commit
						470f8d6221
					
				|  | @ -4,6 +4,11 @@ | |||
| <dict> | ||||
|     <key>Label</key> | ||||
|     <string>com.federicoterzi.espanso</string> | ||||
|     <key>EnvironmentVariables</key> | ||||
|     <dict> | ||||
|         <key>PATH</key> | ||||
|         <string>{{{PATH}}}</string> | ||||
|     </dict> | ||||
|     <key>ProgramArguments</key> | ||||
|     <array> | ||||
|         <string>{{{espanso_path}}}</string> | ||||
|  |  | |||
|  | @ -61,6 +61,12 @@ pub fn register(_config_set: ConfigSet) { | |||
|             espanso_path.to_str().unwrap_or_default(), | ||||
|         ); | ||||
| 
 | ||||
|         // Copy the user PATH variable and inject it in the Plist file so that
 | ||||
|         // it gets loaded by Launchd.
 | ||||
|         // To see why this is necessary: https://github.com/federico-terzi/espanso/issues/233
 | ||||
|         let user_path = std::env::var("PATH").unwrap_or("".to_owned()); | ||||
|         let plist_content = plist_content.replace("{{{PATH}}}", &user_path); | ||||
| 
 | ||||
|         std::fs::write(plist_file.clone(), plist_content).expect("Unable to write plist file"); | ||||
| 
 | ||||
|         println!("Entry created correctly!") | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user