@@ -524,36 +524,7 @@ def launch_app(prefix: str):
524
524
SignalManager .send (Signals .GShowUri , Result (data = uri ))
525
525
526
526
def add_shortcut (self , program_name : str , program_path : str ):
527
- logging .info (f"Adding shortcut for { program_name } " )
528
- cmd = "xdg-open"
529
- args = f"bottles:run/'{ self .config .Name } '/'{ program_name } '"
530
- appid = crc32 (str .encode (self .config .Name + program_name )) | 0x80000000
531
-
532
- if self .userdata_path is None :
533
- logging .warning ("Userdata path is not set" )
534
- return Result (False )
535
-
536
- confs = glob (os .path .join (self .userdata_path , "*/config/" ))
537
- shortcut = {
538
- "appid" : appid - 0x100000000 ,
539
- "AppName" : program_name ,
540
- "Exe" : cmd ,
541
- "StartDir" : ManagerUtils .get_bottle_path (self .config ),
542
- "icon" : ManagerUtils .extract_icon (self .config , program_name , program_path ),
543
- "ShortcutPath" : "" ,
544
- "LaunchOptions" : args ,
545
- "IsHidden" : 0 ,
546
- "AllowDesktopConfig" : 1 ,
547
- "AllowOverlay" : 1 ,
548
- "OpenVR" : 0 ,
549
- "Devkit" : 0 ,
550
- "DevkitGameID" : "" ,
551
- "DevkitOverrideAppID" : "" ,
552
- "LastPlayTime" : 0 ,
553
- "tags" : {"0" : "Bottles" },
554
- }
555
-
556
- for conf in confs :
527
+ def __add_to_user_conf (conf : str ) -> bool :
557
528
logging .info (f"Searching SteamGridDB for { program_name } assets…" )
558
529
asset_suffixes = {
559
530
"grids" : "p" ,
@@ -594,6 +565,44 @@ def add_shortcut(self, program_name: str, program_path: str):
594
565
595
566
except (OSError , IOError ) as e :
596
567
logging .error (e )
568
+ return False
569
+
570
+ return True
571
+
572
+ logging .info (f"Adding shortcut for { program_name } " )
573
+ cmd = "xdg-open"
574
+ args = f"bottles:run/'{ self .config .Name } '/'{ program_name } '"
575
+ appid = crc32 (str .encode (self .config .Name + program_name )) | 0x80000000
576
+
577
+ if self .userdata_path is None :
578
+ logging .warning ("Userdata path is not set" )
579
+ return Result (False )
580
+
581
+ confs = glob (os .path .join (self .userdata_path , "*/config/" ))
582
+ shortcut = {
583
+ "appid" : appid - 0x100000000 ,
584
+ "AppName" : program_name ,
585
+ "Exe" : cmd ,
586
+ "StartDir" : ManagerUtils .get_bottle_path (self .config ),
587
+ "icon" : ManagerUtils .extract_icon (self .config , program_name , program_path ),
588
+ "ShortcutPath" : "" ,
589
+ "LaunchOptions" : args ,
590
+ "IsHidden" : 0 ,
591
+ "AllowDesktopConfig" : 1 ,
592
+ "AllowOverlay" : 1 ,
593
+ "OpenVR" : 0 ,
594
+ "Devkit" : 0 ,
595
+ "DevkitGameID" : "" ,
596
+ "DevkitOverrideAppID" : "" ,
597
+ "LastPlayTime" : 0 ,
598
+ "tags" : {"0" : "Bottles" },
599
+ }
600
+
601
+ ok = False
602
+ for conf in confs :
603
+ ok |= __add_to_user_conf (conf )
604
+
605
+ if ok :
606
+ logging .info (f"Added shortcut for { program_name } " )
597
607
598
- logging .info (f"Added shortcut for { program_name } " )
599
- return Result (True )
608
+ return Result (ok )
0 commit comments