Xournal++ バージョン番号: 1.1.2
まず、公式 github にアクセスしてXournal++をダウンロードし、Release を見つけて希望のバージョンをダウンロードしてインストールします。ここでは詳細には触れません。
ショートカットキーの設定(プラグインをカスタマイズすることで非常に簡単)
公式ドキュメントにはカスタム プラグインのチュートリアルもあるので、自分で確認することもできます。ここのアドレス, ショートカットキーの設定に関しては、実はソースコードを変更することもできますが、少し面倒です。興味があれば、自分で調べてみることもできます。特に言うことはありません。プラグインに直接アクセスしてください。
1. まずインストールフォルダーを見つけて、次にプラグインディレクトリを見つけます。
Example フォルダーをクリックすると、、 、main.lua
の3 つのファイルが見つかります。ここで簡単な修正を加えます。plugin.ini
var_dump.lua
- まずはplugin.iniを見てみましょう
[about]
## Author / Copyright notice
author=xxxxx
# 插件描述
description=This is a minimal example plugin, for reference
## If the plugin is packed with Xournal++, use
## <xournalpp> then it gets the same version number
version=0.1
#这个是配置插件的开关,记得设为true就行
[default]
enabled=true
# 插件函数的主入口,lua的集成方式,性能很好!=_=
[plugin]
mainfile=main.lua
- もう一度見てください。ファイルの内容
main.lua
は次のとおりです。main.lua
誰もが自分の好きなショートカットキーに対応しています。app.registerUi({["menu"] = "Blue Pen", ["callback"] = "blue_pen", ["accelerator"] = "b"});
たとえば、このコード行の後には、accelerator
自分で定義したショートカット キーがあり、これは に対応しBlue Pen
、その後はそれを 1 つずつ変更することになります。
-- This is an example Xournal++ Plugin - copy this to get started
var_dump = require "var_dump"
-- Register all Toolbar actions and intialize all UI stuff
function initUi()
-- print("Hello from Example: Plugin initUi called\n");
-- ref = app.registerUi({["menu"] = "Tests123", ["callback"] = "exampleCallback", ["accelerator"] = "<Control>t"});
-- app.uiAction({["action"] = "ACTION_TOOL_LINE_STYLE_DASH"})
-- print("Menu reference:");
-- var_dump(ref);
-- print("Example plugin registered\n");
-- app.registerUi({["menu"] = "Select Region", ["callback"] = "lasso", ["accelerator"] = "g"});
app.registerUi({["menu"] = "Blue Pen", ["callback"] = "blue_pen", ["accelerator"] = "b"});
app.registerUi({["menu"] = "Red Pen", ["callback"] = "red_pen", ["accelerator"] = "w"});
app.registerUi({["menu"] = "Green Pen", ["callback"] = "green_pen", ["accelerator"] = "g"});
app.registerUi({["menu"] = "Orange Pen", ["callback"] = "orange_pen", ["accelerator"] = "q"});
app.registerUi({["menu"] = "Blue Highlighter", ["callback"] = "blue_highlighter", ["accelerator"] = "<Shift>f"});
app.registerUi({["menu"] = "Red Highlighter", ["callback"] = "red_highlighter", ["accelerator"] = "<Shift>w"});
app.registerUi({["menu"] = "Green Highlighter", ["callback"] = "green_highlighter", ["accelerator"] = "<Shift>g"});
app.registerUi({["menu"] = "Yellow Highlighter", ["callback"] = "yellow_highlighter", ["accelerator"] = "<Shift>q"});
-- app.registerUi({["menu"] = "Undo", ["callback"] = "undo", ["accelerator"] = "r"});
-- app.registerUi({["menu"] = "Redo", ["callback"] = "redo", ["accelerator"] = "<Shift>r"});
-- app.registerUi({["menu"] = "Copy", ["callback"] = "copy", ["accelerator"] = "c"});
-- app.registerUi({["menu"] = "Paste", ["callback"] = "paste", ["accelerator"] = "v"});
-- app.registerUi({["menu"] = "Cut", ["callback"] = "cut", ["accelerator"] = "x"});
-- app.registerUi({["menu"] = "Delete", ["callback"] = "delete", ["accelerator"] = "t"});
-- app.registerUi({["menu"] = "Ruler", ["callback"] = "ruler", ["accelerator"] = "w"});
app.registerUi({["menu"] = "Eraser", ["callback"] = "eraser", ["accelerator"] = "e"});
app.registerUi({["menu"] = "Select Object", ["callback"] = "select_object", ["accelerator"] = "a"});
end
-- Callback if the menu item is executed
function exampleCallback()
result = app.msgbox("Test123", {[1] = "Yes", [2] = "No"});
print("result = " .. result)
end
function lasso()
app.uiAction({["action"] = "ACTION_TOOL_SELECT_REGION"})
end
function blue_pen()
app.uiAction({["action"] = "ACTION_TOOL_PEN"})
app.changeToolColor({["color"] = 0x3333CC, ["tool"] = "pen"})
end
function red_pen()
app.uiAction({["action"] = "ACTION_TOOL_PEN"})
app.changeToolColor({["color"] = 0xEF0044, ["tool"] = "pen"})
end
function green_pen()
app.uiAction({["action"] = "ACTION_TOOL_PEN"})
app.changeToolColor({["color"] = 0x008000, ["tool"] = "pen"})
end
function orange_pen()
app.uiAction({["action"] = "ACTION_TOOL_PEN"})
app.changeToolColor({["color"] = 0xEF7000, ["tool"] = "pen"})
end
function blue_highlighter()
app.uiAction({["action"] = "ACTION_TOOL_HIGHLIGHTER"})
app.changeToolColor({["color"] = 0x20D0FF, ["tool"] = "highlighter"})
end
function red_highlighter()
app.uiAction({["action"] = "ACTION_TOOL_HIGHLIGHTER"})
app.changeToolColor({["color"] = 0xFF55FF, ["tool"] = "highlighter"})
-- app.changeToolColor({["color"] = 0xFF22FF, ["tool"] = "highlighter"})
end
function green_highlighter()
app.uiAction({["action"] = "ACTION_TOOL_HIGHLIGHTER"})
app.changeToolColor({["color"] = 0x00FF00, ["tool"] = "highlighter"})
end
function yellow_highlighter()
app.uiAction({["action"] = "ACTION_TOOL_HIGHLIGHTER"})
app.changeToolColor({["color"] = 0xEEFF00, ["tool"] = "highlighter"})
end
function undo()
app.uiAction({["action"] = "ACTION_UNDO"})
end
-- This doesn't work?
function redo()
app.uiAction({["action"] = "ACTION_REDO"})
end
function copy()
app.uiAction({["action"] = "ACTION_COPY"})
end
function cut()
app.uiAction({["action"] = "ACTION_CUT"})
end
function paste()
app.uiAction({["action"] = "ACTION_PASTE"})
end
function delete()
app.uiAction({["action"] = "ACTION_DELETE"})
end
function eraser()
app.uiAction({["action"] = "ACTION_TOOL_ERASER"})
end
function select_object()
app.uiAction({["action"] = "ACTION_TOOL_SELECT_OBJECT"})
end
-- Disable this because it doesn't turn the ruler off again
-- function ruler()
-- app.uiAction({["action"] = "ACTION_RULER"})
-- end
最後に、アプリを開くと、使用できるようになります。
PS : 機能しない場合は、それを開いて插件
クリックし、設定したプラグインの名前を有効にします。