Acrobatのようにリッチな機能はないが、「メモ」や「テキストのハイライト」はある。
私のマウスには、普通のボタンの他に、「進む」「戻る」ボタンもついている。
Ubuntuでもブラウジング時「戻る」ボタンが使える。
何か新しいことを調べている時、ハードウエアの資料を読んでいる時、文書内を行ったり来たりする。
前のページに戻りたいときに、親指で「ぷちっ」とやれば戻れるのはすごく便利だ。
Acrobat文書も目次や索引など、リンク機能を持つものがある。
そして、Evinceも(もちろんAcrobat Readerも)この「親指戻し」が使える。
使っているうちに癖になり、「親指戻し」が普通になる。
先日、ずっと使ってきたマウスの左ボタンの調子が悪くなった。
強く押せば反応するが、使っているとだんだんイライラしてくる。
あまりにもイライラしてきたので、大宮のビックカメラでマウスを買ってきた。
省電力で電池長持ちをうたっているものを買ってきた。
ところが、その新しいマウスには「進む」「戻る」ボタンがなかった。
ブラウジングもAcrobat文書も、行ったり来たりが面倒になった。
WindowsのAcrobat Readerでは、キーボードから<Alt>← を入力しても「戻る」になる。
しかしながらEvinceでは、<Alt>p 「履歴の前ページへ移動する」、<Alt>n 「履歴の次ページへ移動する」である。
これでもいいのだが、なんとも使いにくい。
このページで、ショートカットを書き換える方法が紹介されている。
しかし、「進む」「戻る」には使えない。
これはメニューが提供している機能にショートカットを結びつけるものだ。
Evinceの結び付けるべき機能「履歴の前ページへ移動する」がメニュー内にない。仮にメニュー外の機能にショートカットを結び付けることができたとしても、どのようにその機能を指定すればいいかわからない。
こうなったら最後の手段、ソースパッケージを得て改造する。
以下はUbuntu22.04でのやり方。
まず、ソースパッケージを得る。サブディレクトリを作ってその中で作業する。
$ mkdir evince $ cd evince $ apt-get source evinceこれは普通のユーザ(sudoしない)で実行する。
次にビルド依存物を得る。
$ sudo apt-get build-dep evinceこれはsudoで実行。たぶん数十個のパッケージが入る。
必要な部分を書き換える。
aptでソースパッケージをダウンロードすると、ソースコードが展開された状態(dpkg-source -x xxxx.dscを実行した状態)になっている。
展開されたサブディレクトリに移る。
$ ls evince-42.3 evince_42.3-0ubuntu3.dsc evince_42.3-0ubuntu3.debian.tar.xz evince_42.3.orig.tar.xz $ cd evince-42.3/ $書き換えるファイルは、"shell/ev-application.c" だ。
自分の好みのエディタで開いて、関数ev_application_startup() の配列変数 action_accels[] の初期化部分の、967行付近、"win.go-next-page"の行を書き換える。
"<Alt>Left" を割り当てたかったが、なぜか無視されてしまう(Ubuntuだから?)。
次善の策として、"<Alt>BackSpace" とした。
943 static void 944 ev_application_startup (GApplication *gapplication) 945 { 946 const gchar *action_accels[] = { 947 "win.open", "<Ctrl>O", NULL, 948 "win.open-copy", "<Ctrl>N", NULL, 949 "win.save-as", "<Ctrl>S", NULL, 950 "win.print", "<Ctrl>P", NULL, 951 "win.show-properties", "<alt>Return", NULL, 952 "win.copy", "<Ctrl>C", "<Ctrl>Insert", NULL, 953 "win.select-all", "<Ctrl>A", NULL, 954 "win.save-settings", "<Ctrl>T", NULL, 955 "win.add-bookmark", "<Ctrl>D", NULL, 956 "win.delete-bookmark", "<Ctrl><Shift>D", NULL, 957 "win.close", "<Ctrl>W", NULL, 958 "win.escape", "Escape", NULL, 959 "win.find", "<Ctrl>F", "slash", "KP_Divide", NULL, 960 "win.find-next", "<Ctrl>G", "F3", NULL, 961 "win.find-previous", "<Ctrl><Shift>G", "<Shift>F3", NULL, 962 "win.select-page", "<Ctrl>L", NULL, 963 "win.go-backwards", "<Shift>Page_Up", NULL, 964 "win.go-forward", "<Shift>Page_Down", NULL, 965 "win.go-next-page", "n", "<Ctrl>Page_Down", NULL, 966 "win.go-previous-page", "p", "<Ctrl>Page_Up", NULL, 967 "win.go-back-history", "<alt>P", "Back", "<alt>BackSpace", NULL, 968 "win.go-forward-history", "<alt>N", "Forward", NULL, 969 "win.sizing-mode::fit-page", "f", NULL, : (省略)書き換えたら、保存してエディタを終了。
ビルドするパッケージのバージョンを上げておくために、"dch -i"を実行しておく。
実行しようとすると…
$ dch -i dch warning: neither DEBEMAIL nor EMAIL environment variable is set dch warning: building email address from username and FQDN dch: Did you see those 2 warnings? Press RETURN to continue...とりあえず、ここではリターンキーを入力して、次へ進める(書いてあることは読んでね)。
すると、エディタが起動して、更新のメモの入力が促される。
一応、私は”Add shortcut key <alt>BackSpace to "win.go-next-page".”と入力したが、わかれば何でもいい。
evince (42.3-0ubuntu4) UNRELEASED; urgency=medium * Add shortcut key <alt>BackSpace to "win.go-next-page". -- Shin IWASAKI <shin@xxxxxxxx> Sat, 28 Oct 2023 10:19:08 +0900 evince (42.3-0ubuntu3) jammy; urgency=medium : (省略)修正したので、ビルドする。
自分で使うだけなら、ソースパッケージを作りなおす必要はないだろう。
バイナリパッケージだけ作成する。
$ dpkg-buildpackage -us -uc -b色々表示される。しばらく待っているとビルドが終わる。
ビルドが終わったら、サブディレクトリ"evince-42.3/"から抜ける。
ソースパッケージを取得したディレクトリ内に、バイナリパッケージができている。
$ cd ../ $ ls evince-42.3 evince-common_42.3-0ubuntu4_all.deb evince-dbgsym_42.3-0ubuntu4_amd64.ddeb evince_42.3-0ubuntu3.debian.tar.xz evince_42.3-0ubuntu3.dsc evince_42.3-0ubuntu4_amd64.buildinfo evince_42.3-0ubuntu4_amd64.changes evince_42.3-0ubuntu4_amd64.deb evince_42.3.orig.tar.xz gir1.2-evince-3.0_42.3-0ubuntu4_amd64.deb libevdocument3-4-dbgsym_42.3-0ubuntu4_amd64.ddeb libevdocument3-4_42.3-0ubuntu4_amd64.deb libevince-dev_42.3-0ubuntu4_amd64.deb libevview3-3-dbgsym_42.3-0ubuntu4_amd64.ddeb libevview3-3_42.3-0ubuntu4_amd64.deb複数のバイナリパッケージができている。すべてインストールする。
$ sudo dpkg -i *.deb
これで、<Alt>BackSpace でも、「戻る」機能が動作する。
実際に使ってみると…使いにくい!
リンクをクリックする時マウスを握っているのに、戻るためにはキーボードに手を移動させる。
この動作が面倒なのだ。
ブラウザ画面上の「←」ボタンを押すのも面倒な人には、マウスから手を離すのも面倒なのだ。
結局「戻る」ボタンありのマウスを、また用意した。
省電力マウスも、ショートカットの書き換え方法調査も、ショートカットの改造も、すべて無駄だった。
ひさびさに暴走機関車。2万回転の空回り。
とりあえず、改造したまま使いつづける。
色々調べたので、得られたものも多い(記事には書いてないけど)。それだけでも良いか。
0 件のコメント:
コメントを投稿