自作ライブラリ mlk について

自作ライブラリ mlk について
  • mlk を使用した GUI ソフトウェアに、--help-mlk オプションを付けて実行すると、mlk 共通のオプションを表示できます。
  • アプリ実行時に、$ MLK_APPDATADIR=<DIR> <EXE> というような形で、環境変数 MLK_APPDATADIR を指定すると、データファイルのディレクトリ (通常は "../share/<APPNAME>") を、任意の位置に指定することができます。
  • mlk で使用されるフォント・アイコンテーマなどは、基本的にデフォルトのものが使われますが、正しく表示できない・変更したいという場合は、az-mlk-style.conf の設定ファイルで指定できます。
    設定ファイルは、ご自身で作成する必要があるため、指定ディレクトリにファイルを作成して直接記述するか、『mlk style editor』で編集して保存してください。
az-mlk-style.conf
az-mlk-style.conf が指定の場所に存在すると、アプリ起動時に GUI スタイルが読み込まれます。

az-mlk-style.conf は、以下のいずれかの場所に作成してください。

  • ~/.config/az-mlk-style.conf
    共通のスタイル設定は、このファイルで指定します。
  • ~/.config/<APPNAME>/az-mlk-style.conf
    アプリごとに設定を変えたい場合は、各アプリの設定ファイルが保存されるディレクトリのトップに、ファイルを置きます。
    このファイルは、~/.config/az-mlk-style.conf よりも優先して読み込まれます。

az-mlk-style.conf の中身
直接記述する場合は、以下のような形で記述してください。

[style]
font=<フォントの指定>
icon_theme=<アイコンテーマ名>

[color]
...色指定...
アイコンテーマの指定方法
※アプリでアイコンが表示されない場合、明示的にアイコンテーマを指定する必要があります。

az-mlk-style.conf で、icon_theme=<テーマ名> を指定してください。

テーマは、以下のいずれかのディレクトリにインストールされているので、各テーマのトップのディレクトリ名を指定します。

/usr/share/icons
/usr/local/share/icons
~/.icons
~/.local/share/icons

/usr/share/icons/Faenza のテーマを使う場合は、ディレクトリ名 "Faenza" がテーマ名となるので、icon_theme=Faenza と指定してください。

アイコンテーマの指定がない場合は、上記のディレクトリに存在するテーマのうち、最初に見つかったアイコンテーマが使用されます。

アイコンテーマがインストールされていない場合は、ディストリビューションの既存パッケージからインストールするか、上記のディレクトリに手動でインストールしてください。
FreeBSD/macOS の場合は、基本的に /usr/local/share/icons にインストールします。
フォントの指定方法
GUI のフォントを直接指定したい場合は、以下のように記述してください。

[style]
font=family=IPAゴシック;style=Regular;size=10;

"font=" の後が、フォントを指定する値となります。
NAME=value という形式で複数の値を記述し、それぞれ ';' で区切ります。

  • 文字としての半角スペースは、そのまま記述できます。
    " " などで囲む必要はありません。
    もし囲むと、" 自体が文字列の一部として扱われます。
  • 文字としての ';' が含まれる場合は、'\;' と記述してください。
  • 区切りの ';' の前後に余分な空白などは記述しないでください。
  • フォントのファミリ名やスタイル名は、$ fc-list (fontconfig のツール) で、一覧を表示できます。
設定できる値
family=[name]フォントのファミリ名。半角スペースはそのまま記述してください。
style=[style]フォントのスタイル名。省略した場合、通常の太さで検索されます。
size=[size]フォントのサイズ。
正の値で pt 単位、負の値で px 単位。
file=[filename]フォントファイルを直接指定する場合のファイルパス
index=[n]file でフォントファイルを指定して、それが ttc/otc である場合、使用するフォントのインデックス番号。
デフォルトで 0。
dpi=[n]フォントサイズが pt 単位の場合の DPI 値
以下、family でフォントを指定した場合、デフォルト値は fontconfig で設定された値です
embeddedbitmap=[0 or 1]0 = 埋め込みビットマップを使用しない (常にアウトラインデータを使う)。
0 以外 = 使用する。
hinting=[n]ヒンティングのタイプ。
0=none, 1=slight, 2=medium, 3=full
rendering=[n]描画タイプ。
0=mono, 1=grayscale, 2=LCD(RGB), 3=LCD(BGR), 4=LCD(RGB-V), 5=LCD(BGR-V)
lcdfilter=[n]LCD 描画時、LCD フィルターのタイプ。
1 がデフォルト。
0=none, 1=default, 2=light
autohint=[0 or 1]0 で、FreeType による自動ヒンティングを使用しない