Xournal++ によるショートカット キーの設定: プラグインの使用

Xournal++ バージョン番号: 1.1.2

まず、公式 github にアクセスしてXournal++をダウンロードし、Release を見つけて希望のバージョンをダウンロードしてインストールします。ここでは詳細には触れません。

ショートカットキーの設定(プラグインをカスタマイズすることで非常に簡単)

公式ドキュメントにはカスタム プラグインのチュートリアルもあるので、自分で確認することもできます。ここのアドレス, ショートカットキーの設定に関しては、実はソースコードを変更することもできますが、少し面倒です。興味があれば、自分で調べてみることもできます。特に言うことはありません。プラグインに直接アクセスしてください。
1. まずインストールフォルダーを見つけて、次にプラグインディレクトリを見つけます。

Xournal のインストール ディレクトリ
Example フォルダーをクリックすると、、 、main.luaの3 つのファイルが見つかりますここで簡単な修正を加えます。plugin.inivar_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 : 機能しない場合は、それを開いて插件クリックし、設定したプラグインの名前を有効にします。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_41776453/article/details/128764167