88from ..public import PublicClass
99
1010
11+ def start_blender ():
12+ import subprocess
13+ subprocess .Popen ([bpy .app .binary_path ])
14+
15+
1116class RestartBlender (Operator ,
1217 PublicClass ):
1318 bl_idname = 'wm.restart_blender'
1419 bl_label = 'Restart Blender'
1520 bl_description = '''
1621 Left - Open a New Blender
17-
22+
1823 alt+Left -Prompt to save file, Restart blender
1924 ctrl+Left - Do not prompt to save files, Restart Blender
2025 shift+Left - Open Tow Blender
@@ -29,15 +34,14 @@ class RestartBlender(Operator,
2934 subtype = 'FACTOR' )
3035
3136 @staticmethod
32- def for_open (num , cmd ):
37+ def for_open (num ):
3338 bpy .ops .wm .save_mainfile ()
3439 for _ in range (num ):
35- os . system ( cmd )
40+ start_blender ( )
3641
3742 def run_cmd (self , event : bpy .types .Event ):
3843 self .set_event_key (event )
39- cmd = f'start { bpy .app .binary_path } ' # blender.exe path
40- os .system (cmd )
44+ start_blender ()
4145 if self .not_key :
4246 # bpy.ops.wm.window_close()
4347 ...
@@ -46,12 +50,12 @@ def run_cmd(self, event: bpy.types.Event):
4650 elif self .only_ctrl :
4751 bpy .ops .wm .quit_blender ()
4852 elif self .only_shift :
49- os . system ( cmd )
53+ start_blender ( )
5054 self .os .system (self .os )
5155 elif self .ctrl_shift_alt and event .oskey :
52- self .for_open (20 , cmd ) # blender必炸
56+ self .for_open (20 ) # blender必炸
5357 elif self .ctrl_shift_alt :
54- self .for_open (self .open_blender_number , cmd )
58+ self .for_open (self .open_blender_number )
5559 else :
5660 self .report ({'INFO' }, self .bl_description )
5761
0 commit comments