----- ----- 格式化Json ----- Created by sugood(https://github.com/sugood). ----- DateTime: 2020/10/19 10:34 ----- -- -- function init() initWeb() end function initWeb() local cscreen = hs.screen.mainScreen() local cres = cscreen:fullFrame() sheetView = hs.webview.newBrowser({ x = cres.x+cres.w*0.15/2, y = cres.y+cres.h*0.25/2, w = cres.w*0.85, h = cres.h*1.0 }) sheetView:deleteOnClose(false) sheetView:windowTitle("JsonFormat") sheetView:windowStyle("utility") sheetView:titleVisibility("hidden") sheetView:allowGestures(true) sheetView:allowNewWindows(true) sheetView:allowTextEntry(true) sheetView:closeOnEscape(true) sheetView:bringToFront(false) sheetView:darkMode(false) sheetView:reload(false) sheetView:shadow(true) sheetView:alpha(1) sheetView:level(hs.drawing.windowLevels.mainMenu) --设置窗口置顶 sheetView:url("https://i.sugood.xyz/pages/jsonweb.html") sheetView:windowCallback(function(action, webview) if action == "closing" and not pickedDuration then -- sheetView = nil end end) end --- KSheet:hide() --- Method --- Hide the JsonFormat view. function hide(time) sheetView:hide(time) -- sheetView:delete() -- sheetView = nil end --- KSheet:show() --- Method --- Show JsonFormat. function show(time) bindCopyKey() local str = hs.pasteboard.getContents() -- local webcontent = generateHtml() -- sheetView:html(webcontent, "http://localhost") -- sheetView:url("https://i.sugood.xyz/pages/jsonweb.html") --print("窗口焦点"..hs.window.focusedWindow()) sheetView:show(time) hs.focus() hs.timer.delayed.new(0.2, function() bindAllSelectKey() end):start() hs.timer.delayed.new(0.4, function() bindPasteKey() end):start() --bindPasteKey() end function toggle() if sheetView and sheetView:hswindow() and sheetView:hswindow():isVisible() then hide(1) else show(1) end end init() -- 按下添加快捷键时映射到复制快捷键 function bindCopyKey() hs.eventtap.keyStroke({ "cmd" }, "C") end function bindPasteKey() hs.eventtap.keyStroke({ "cmd" }, "V") end function bindAllSelectKey() hs.eventtap.keyStroke({ "cmd" }, "A") end -- json 格式化 hs.hotkey.bind(hyperCmd, "G", function () toggle() end)