やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

zenity --text-info でテキストやHTMLを表示する

 なんとHTMLも表示できる。Markdownパーサと組み合わせたらビューアが作れそう。

--text-info

$ zenity --text-info

f:id:ytyaru:20190312131140p:plain

  • --text引数で初期値を指定したかった
  • OK,Cancelボタンを削除(非表示)にしたかった
key 説明
Ctrl+Enter OK

--help-text-info

$ zenity --help-text-info
用法:
  zenity [オプション...]

テキスト情報のオプション
  --text-info                                       テキスト情報ダイアログを表示する
  --filename=FILENAME                               ファイルを開く
  --editable                                        テキストを変更可能にする
  --font=TEXT                                       フォントを指定する
  --checkbox=TEXT                                   「熟読の上、同意します。」のようなチェックボックスを有効にする
  --html                                            HTML サポートを有効にする
  --no-interaction                                  WebView でのユーザー操作を無効にする。--html オプションを指定した場合のみ機能する
  --url=URL                                         ファイルの代わりに URL を指定する。--html オプションを指定した場合のみ機能する。
  --auto-scroll                                     テキストを最後まで自動スクロールする。テキストを標準入力から読み取る場合のみ機能する

--filename

 テキストファイルを作る。

$ echo -e "abc\ndef" > /tmp/work/a.txt
$ cat a.txt
abc
def

 表示する。

$ zenity --text-info --filename="/tmp/work/a.txt"

f:id:ytyaru:20190312202254p:plain

--font

$ zenity --text-info --font "VL ゴシック 30" --filename="/tmp/work/a.txt"

f:id:ytyaru:20190312211746p:plain

 インストール済みフォントの名前は以下で確認できる。

$ fc-list

--editable

 編集する。

$ zenity --text-info --editable --filename="/tmp/work/a.txt"

 OKボタンをクリックすると全文が標準出力される。入力値をbash側で受け取れる。

 以下のようにすればファイルを編集できる。

$ text=$(zenity --text-info --editable --filename="/tmp/work/a.txt"); echo "$text" > /tmp/work/a.txt

--checkbox

 チェックしないとOKボタンを押せない。

$ zenity --text-info --checkbox "熟読の上、同意します。" --filename="/tmp/work/a.txt"
  1. TABキー押下する
  2. Spaceキー押下する
  3. Enterキー押下する

--html

 HTMLを表示する。

/tmp/work/a.html

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta charset="utf-8">
<meta name="description" content="">
<meta name="author" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
<time datetime="2000-01-01 00:00:00"></time>
<link rel="stylesheet" href="">
<link rel="shortcut icon" href="">
<!--<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> -->
</head>
<body>
<p>こんにちはHTML!</p>
<ul>
    <li>A</li>
    <li>B</li>
</ul>
</body>
</html>
$ zenity --text-info --html --filename="/tmp/work/a.html"

f:id:ytyaru:20190312204926p:plain

--url

$ zenity --text-info --html --url="https://www.google.co.jp"

f:id:ytyaru:20190312211315p:plain

前回まで

対象環境

  • Raspbierry pi 3 Model B+
  • Raspbian stretch 9.0 2018-11-13
  • bash 4.4.12
  • zenity 3.28.1
$ uname -a
Linux raspberrypi 4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux