Vor ein einigen Tagen habe ich seit langer Zeit mal wieder an meinen Einstellungen für Ownhotkeys geschraubt, was soweit auch alles wunderbar funktionierte. Damit wollte ich nun endlich mal ein paar Einträge aus meinen hoffnungslos überfüllten SciTE-Menüs nach Ownhotkeys verlagern. Angefangen hatte ich mit den Properties... und da dachte ich mir, warum soll ich nicht gleich alle thematisch zusammengehörigen Properties auf einen Schlag laden?!
Hier ein Beispiel: ownhotkeys.properties
#~ Ctrl+Win, Ctrl+0
own.mode.cmd.48=OHK.ShellExecute("%ProgramFiles(x86)%\\AutoIt3\\SciTE\\SciTE.exe", "%SCITE_USERHOME%\\ownhotkeys.properties", "%AU3_LUASCRIPTS%\\Ownhotkeys.lua", "%AU3_LUASCRIPTS%\\OHKfuncs.lua")
own.mode.descript.48=Ctrl+$(own.mode.indicator.descript), Ctrl+0|Open ownhotkeys.properties, Ownhotkeys.lua and OHKfuncs.lua
Hiermit wollte ich SciTE also drei Dateien via Lua schicken, was auch soweit funktioniert - doch was nun... es hat mein SciTE-Window grafisch zerhauen... und dann ist mir aufgefallen, dass dies nur passiert, wenn mehr als eine Datei an SciTE gesendet wird.
Klar ist nun, dass es am Zusammenspiel der Lua-Funktion shell.exec() mit WindowsBlinds liegt. Deshalb habe ich nach einer für mich akzeptablen Lösung gesucht... und hier ist sie... im Anhang.
Meine angepasste ownhotkeys.properties
#~ Ctrl+Win, Ctrl+0
own.mode.cmd.48=OHK.ShellExecute("%AU3_PROJEKTE%\\SciTEx\\SciTEOpen.exe", "%SCITE_USERHOME%\\ownhotkeys.properties", "%AU3_LUASCRIPTS%\\Ownhotkeys.lua", "%AU3_LUASCRIPTS%\\OHKfuncs.lua")
own.mode.descript.48=Ctrl+$(own.mode.indicator.descript), Ctrl+0|Open ownhotkeys.properties, Ownhotkeys.lua and OHKfuncs.lua
Die dazu benötigte Lua-Funktion in OHKfuncs.lua
-------------------------------------------------------------------------
--[[ OHK.ShellExecute( path_file [, param1 [, param2 [, ..] ] ] )
]]
-------------------------------------------------------------------------
OHK.ShellExecute = function(_path, ...)
local tParam = {_path, ...}
local sCmd = '"'.._path..'"'
if #tParam > 1 then for i = 2, #tParam do
sCmd = sCmd..' "'..tParam[i]..'"'
end end
--print( shell.exec(sCmd) )
shell.exec(sCmd)
end --> ShellExecute
-------------------------------------------------------------------------
Alles anzeigen
Und das passiert mir dann natürlich genau an dem Tag, an dem ich die neue Version von SciTE4AutoIt installiere... dachte schon, habe mir mal wieder alles zerschossen... grrr
SciTEOpen.png