Zeal offline documentation browser
macOSで使われているdashというドキュメントビューワーはオフラインでプログラミング言語のドキュメントが読めて便利だと聞きました。 そのオープンソース版でマルチOSで使えるように作ったものがZealです。
dashがあるから開発環境をmacOSからLinuxにしたいのにできないという人がいるのかどうかは知りませんが、もしいればこの記事は役に立つのではないかと思います。 Zealはあらかじめドキュメントをダウンロードしてから使うドキュメントビューワーなので最速でドキュメントを見れますし、 オフライン環境でもドキュメントを参考にしながらプログラミングできるのでかなりよいです。 Zealが対応しているプログラミング言語はこちらで確認できるように大量にあるので困ることはほとんどないでしょう。
zeal-at-pointを使えばEmacsで調べたい関数の上で
M-x zeal-at-point
を実行すると
該当するドキュメントがZealで開くのでとても便利です。
QtにGTKテーマを適応する
私は基本的にはGTKのアプリケーションを使うのですが、 ZealのGTKによる実装はないのでQtのZealを使っています。 このZealはドキュメントビューワーとして優秀なのですが、Qtで作られているためデフォルトでは背景が明るくて目に負担がかかってつらいです。 日本語の情報がなかったのでGTKのテーマを適用してダークモードにする方法を書いておきます。 Qtアプリケーションの外観にGTKのテーマを適応できるようにしましょう。 私が使いたいのはZealなのでこれを例として説明します。
sudo pacman -S zeal qt5-styleplugins qt5ct
Zealをインストールします。qt5-styleplugins qt5ctをインストールするとQtアプリケーションの外観を設定できるようになります。
/etc/environment
#
# This file is parsed by pam_env module
#
# Syntax: simple "KEY=VAL" pairs on separate lines
#
QT_QPA_PLATFORMTHEME=qt5ct
このファイルを/etc/environmentに配置すればよいので私のdotfilesをgit cloneしたディレクトリで以下のコマンドを叩けばよいです。
sudo ln -vsf ${PWD}/etc/environment /etc/environment
その後 Qt5 Settingsのアプリケーションを起動します。
AppearanceタブにあるStyleをgtk2に設定すれば その時アクティブになっているGTKテーマが適応されます。 私がつかっているGTKテーマのArc-Darkは 対応しているようなので無事Zealがダークモードになりました。
QtアプリケーションであるAvidemuxにもGTKテーマを適応できたのでおそらく他のQtアプリケーションもこの方法でいけるのではないでしょうか。
Zealの設定が決まったのでdotfilesに登録しましょう。
~/.config/Zeal/Zeal.conf
[General]
check_for_update=true
hide_on_close=false
minimize_to_systray=false
show_systray_icon=true
start_minimized=false
[content]
custom_css_file=
dark_mode=true
default_fixed_font_size=0
default_font_family=sans-serif
default_font_size=20
disable_ad=false
external_link_policy=@Variant(\0\0\0\x7f\0\0\0)Zeal::Core::Settings::ExternalLinkPolicy\0\0\0\0\x1)
fixed_font_family=IPAGothic
highlight_on_navigate=true
minimum_font_size=18
sans_serif_font_family=Cica
serif_font_family=Cica
smooth_scrolling=false
[docsets]
path=/home/masa/.local/share/Zeal/Zeal/docsets
[global_shortcuts]
show=
[internal]
install_id=405a12fa-80fa-424d-9596-35e1aae57e8a
version=0.6.0
[proxy]
authenticate=false
host=
password=
port=0
type=1
username=
[search]
fuzzy_search_enabled=false
[state]
splitter_geometry=@ByteArray(\0\0\0\xff\0\0\0\x1\0\0\0\x2\0\0\0\xb4\0\0\x4H\0\xff\xff\xff\xff\x1\0\0\0\x1\0)
toc_splitter_state=@ByteArray()
window_geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x2\0\0\0\0\0\0\0\0\0\x1b\0\0\x4\xff\0\0\x3\x1f\0\0\0\x1d\0\0\0T\0\0\x3\xa0\0\0\x2\xab\0\0\0\0\x2\0\0\0\x5\0)
[tabs]
open_new_tab_after_active=false
Makefile
気に入ったのでMakefileに登録しましょう。
zeal: ## Deploy zeal config and docsets
sudo pacman -S zeal qt5-styleplugins qt5ct
sudo ln -vsf ${PWD}/etc/environment /etc/environment
mkdir -p ${HOME}/.local/share
mkdir -p ${HOME}/.config/Zeal
ln -vsf ${PWD}/.config/Zeal/Zeal.conf ${HOME}/.config/Zeal/Zeal.conf
allinstall: ttf-cica install pipinstall goinstall aur mozc neomutt docker mariadb redis rbenv rustinstall nodeinstall screenkey dnsmasq desktop chromium jekyll sxiv zeal zoom toggle
これで
make zeal
するだけでこの変更が適応されます。
make allinstall
すればmake zealも実行されるので次回のラップトップクリーンインストール時には これだけで作業は終わります。 Makefileについて詳しくはこちらの記事を参考にどうぞ。
ブログ記事を投稿したらTwitterでお知らせいたします。ブログを気に入っていただけた方はお気軽にフォローしてください。
— Solist Work (@SolistWork) 2018年11月27日
最新記事
タグ一覧
-
ansible (2)
application (8)
chrome (1)
command (14)
django (1)
docker (3)
document (1)
emacs (14)
git (2)
google (1)
hugo (1)
kubernetes (1)
linux (20)
makefile (6)
mariadb (2)
melpa (1)
postgresql (2)
python (1)
security (2)
terminal (11)
thinkpad (2)
work (6)
zsh (10)