ピュアなC言語(非C++)でGUIアプリを作りたくて
どうせならおもしろそうなのがいいのでGTKにしようと思って
いっそGTKライブラリそのものをビルドするところからやっちゃおうということで
調べてみたら Windows10 の上で VisualStudio 2019 を使ってビルドする方法があったので
やってみたのが前々回。
出来上がったライブラリを使って
サンプルアプリをビルドしてみたのが前回。
ここで「アイコンが見つからないんですけど」というような警告が出てましたがとりあえずアプリは動きました。
今回はこの警告をやっつけるためにアイコンとテーマを整えたいと思います。
1.Windows 10 Theme for Linuxを取ってくる
「Code」ボタンをクリックしたのち「Download ZIP」をクリック
ダウンロードされたファイルを展開します。
2.テーマフォルダを配置
展開された「Windows-10-master」の中の「gtk-3.20」フォルダを右クリックして「コピー」
エクスプローラで C:\gtk-build\gtk\x64\release\share\themes フォルダを開く。
これまでの手順通りの人はこの場所になるはず。
違った手順でGTKをビルドした人は適宜パスを読み替えてください。
ここで右クリックして「新規作成」→「フォルダー」
できたフォルダの名前は「Windows10」にしてください。
作ったばかりのWindows10フォルダの中へ入り、右クリックして貼り付け
gtk-3.20フォルダが貼り付けられますがこれを右クリックして「名前の変更」
「gtk-3.0」にします。
3.Adwaitaのアイコンテーマをダウンロード
4.Adwaitaアイコンをmsys環境で展開
5. Adwaitaアイコンをnmakeで作成
cd C:\msys64\home\admin\adwaita-icon-theme-3.38.0\win32nmake /f adwaita-msvc.mak
C:\msys64\home\admin\adwaita-icon-theme-3.38.0\win32の中に index.theme ファイルができていることを確認する。
6. AdwaitaアイコンをGTKフォルダへコピー
7.hicolorアイコンをダウンロードする
hicolor-icon-theme-0.17.tar.gzのリンクをクリックしてダウンロードする。
このとき、Google Chromeだと「安全にダウンロードできません」とか言われますが「保存」ボタンを押す。
8.hicolorアイコンをmsys環境で作成
ダウンロードしたhicolor-icon-theme-0.17.tar.xzファイルを右クリック→コピー。
msysのコンソールを立ち上げる。
$ cd hicolor-icon-theme-0.17/
$ ./configure --prefix=/home/admin/hicolor-icon-theme-0.17
$ make
$ make install
9. hicolorアイコンをGTKフォルダへコピー
10. settings.iniファイルの作成
エクスプローラで C:\gtk-build\gtk\x64\release\etc\gtk-3.0 に移動して、settings.iniというテキストファイルを作る。
メモ帳でsettings.ini を開いて (右クリックして「編集」でメモ帳で開ける)、下記のように書き込んで保存する。
[Settings]
gtk-theme-name=Windows10
gtk-font-name=Segoe UI 9
11. セッティングスキーマをコンパイル
コマンドプロンプトを立ち上げて、下記のコマンドで セッティングスキーマをコンパイルする。
cd C:\gtk-build\gtk\x64\release
glib-compile-schemas share/glib-2.0/schemas
お疲れさまでした。下記のGTK公式ページで書かれていることは一通りできたかな。
前回のテストアプリをビルドしなおして、テストしてみましょう。
Warningはでなくなりました。見た目もちょっと良くなりました。
でも、ウィンドウの最小化ボタンと最大化ボタンがなんかヘンですね。やれやれ。
次回以降、解決を目指したいなと思います。
※ 2021年1月9日追記
ブログをハッピーコンピューティングのウェブサイトに統合したので、次回はこちらに書いています。