C、Gtk4
GitHubのtcsvレポジトリをアップデートしました。 少々大きいプログラムで全体を見直したので、時間がかかり、その間ブログの更新ができませんでした。 CSVとは CSVとは、コンマと改行で区切られた2次元データ形式のことです。 2次元データとは、エクセルデ…
ようやく「GTK 4 チュートリアル」のマイナー・アップデートが終わりました。 セクション28のGtkExpressionの全面書き直しに時間がかかりました。 「おもこん」の記録を見ると、37日もかかっていました。 アップデートされたチュートリアルはバージョン0.85…
GTK 4 チュートリアルのセクション22,24,25をアップデートしました。 セクション25のTiny Turtle Interpreter も若干のアップデートがあります。 tl (tern left) 左への方向変更の命令が加わった rp (repeat) 回数を指定したループ命令が加わった リサイズ…
新年あけましておめでとうございます。 今年もよろしくお願いいたします。 さて、GTK 4 チュートリアルのセクション17から21までをアップデートしました。 時間がかかってしまいましたが、それはエディタのプログラム(tfe6とtfe7)を見直すのに時間がかかっ…
長らく放置していた「GObject tutorial」の全体を見直し、アップデートしました。 バージョンを0.5から0.6にしました。 レポジトリはこちらです。 また、GitHub Pagesを使ったウェブサイトはこちらです。 GObject tutorial とは GObject tutorialは、その名…
私のGithubリポジトリに世界からアクセスがあったことを書きたいと思います。 Githubは、プログラムやドキュメントを無料で保管、公開できるウェブサービスです。 また静的なホームページ(ユーザの投稿が無く、閲覧だけのウェブサイト)をつくることもでき…
Kindle本「Gtk+3入門」の販売を停止しました。 すでにGtkのバージョンが4になってから1年以上が経過しました。 Gtk4の発表当時はUBUNTUはじめ各ディストリビューションが未対応でしたが、現在ではすべての主なディストリビューションが対応しています。 した…
今日はハッシュについて書こうと思う。ハッシュは、あるオブジェクトから、ある定まった範囲の整数への関数で、違うオブジェクトに対して違う整数が対応することが期待されているものである。実際には一対一対応は難しいので、できるだけ一対一になるような…
今日はプロファイルについて書きたいと思います。プロファイルとは、プログラムの中の個々の関数がどれくらい呼び出されているか、そしてどれくらい時間を消費しているかの統計を調べることを言います。具体的には、Cでコンパイルするときに、-pgオプション…
対称群の部分群を求めるプログラム(symmetric group)をCで書き直しました。Ruby ではなかなか速度が上がらないので、Cに書き直せば速度が上がると期待したのです。ところが、実際にはさして速度が上がりませんでした。5次対称群の部分群を求めるプログラム…
今日はクイックソートでハマったことを書きたいと思います。クイックソートはデータを小さい順(または大きい順)に並べるアルゴリズムです。ここでは与えられたデータを「集合」と呼びますが、数学で扱う集合とは異なり、同じ要素を複数含んでいても良いこ…
t2tというアプリケーションをGithubにアップロードしました。 t2tは「Three dimension To Two dimension」を短くしたものです。すなわち、3次元の座標系から2次元の座標系への変換をするアプリケーションです。 例えば地上にある立方体は、空間座標でその各…
最近、UBUNTUの新しいバージョン(21.10)がリリースされました。 このバージョンではGtkのバージョンが4.4に上がっています。 (GtkといえばGtk4が現在の標準なので、単にGtkと書きます)。 この前のUBUNTU21.04ではGtkのバージョンが4.0.3でした。 4.0.3か…
Gtk4関連のドキュメントは「GNOME開発センター」から「APIリファランス」をクリックしてアクセスできていたのだが、このたびそれがリニューアルされた。 今までの(古い)ドキュメントは、ここに保存されている。 新しいGNOME開発のウェブサイトはここで、ド…
気になっていたGObject tutorialの修正を終えて、Githubにアップロードしました。 とても気になっていたのは、TPtrというポインタのプロパティをもつオブジェクトの子オブジェクトとして文字列のオブジェクトのTStrを定義したことです。 それはすごくまずい…
先日ブログに書いたCsv viewerに編集の機能をつけました。 ビューワというよりもエディタの面が主になってきたので、名前もCsv editorにすることにしました。 ビューワからエディタに変更するために一番手間がかかったのは、GtkColumnViewのウィジェットとリ…
Csv View -- Csv ファイルを見るためのプログラムを作ってみました。 github にレポジトリを作ってあります。 github/ToshioCP/tcsv 一応テスト済ですが、開発途中です。 今後編集の機能を持たせようと思っているので、その準備のためのボタンがいくつかあり…
今日、Ubuntu 21.04にgtk4パッケージがあることに気づきました。 さっそくインストールして試しましたが、(当然ながら)ちゃんと動きます。 バージョンは4.0.3で最新ではありませんが。 (最新のgtk4安定版は4.3)。 $ pkg-config --modversion gtk4 4.0.3 …
2021/9/1追加 Fedora 34Betaはすでに完成版のFedora 34になっているという指摘をいただきました。 現時点では、Gnome 40のウェブサイトでも「Beta」は消されています。 記事の中の「Beta」は古い情報であることにご注意ください。 また、GNOME40の新しいバー…
Gtk4 Tutorial (英語のチュートリアル)のバージョン0.8をリリースしました。 https://github.com/ToshioCP/Gtk4-tutorial バージョンが0.8という意味は、チュートリアルの構成はこれで完成ということにして、今後は細部の見直しのみにしようということです…
GObjectのチュートリアル(英語)を書きました。 githubのレポジトリに登録してあります。 GObject tutorial GObjectはあまり知られていません。 Gtkの方がそれよりは多少知られていると思います。 GObjectはGtkを下支えする、オブジェクト・システムです。 …
(注 2021/5/13) この記事は現在では古くなっています。 Arch, Debian, Ubuntu, Fedoraの最新版では、GTK4パッケージがあるので、ソースからインストールする必要はありません。 仮にソースからインストールするにしても、前提条件となる諸ライブラリが各デ…
Chromebookを買いました gtk4をubuntuでビルドしていたら、ubuntuが動かなくなりました。/usr/localにgtk4をインストールしたので、ubuntuのgtk3で動いているプログラムがおかしくなってしまったためです。皆さんはこういう間違いをしないよう注意してくださ…
テキストエディタ Sen テキストエディタ 'sen' をgithubにアップロードしました。 https://github.com/ToshioCP/sen senは現在開発中のGtk4ライブラリで動作するエディタです。 ライブラリが開発中ですから、当然sen自身も安定版ではありません。 また、その…
autotoolsとは autotoolsは、Linuxを含む様々なUnix系のOSにパッケージのビルドを対応させるためのツールです。autotoolsを使った人は少ないと思いますが、autotoolsで作られたソース・パッケージをビルドした経験のある人は少なくないと思います。 ./config…
アマゾンで販売中の電子書籍「Gtk+3入門」のサポート情報を公開 アマゾンで「Gtk+3入門」を出版してから1ヶ月ほど経ちました。そんなに売れる内容の本ではありませんが、Gtkのバージョン3については類書がないので、Gtk+3初心者には役に立つのではないかと思…
Kindle電子書籍のその後 一昨日Kindleの電子書籍を出版した話を書きました。驚いたのは申請完了からほぼ4時間で出版されたことです。まことにスピーディー。前回も書きましたが、書籍データを作りさえすれば、出版は非常に簡単で、お金もかかりません。これ…
Kindle本の出版申請 以前から書いていた「Gtk+3入門」という電子本ができあがったので、AmazonのKDPサイトで出版申請をしました。通常72時間の審査で問題なければ出版完了となります。内容はタイトルの通りなのですが、少し説明します。Gtk+はもともとはGimp…
Gtk+3 を勉強中 昨年1年間、Gtk+3を勉強していました。Gtk+の本は、2000年ころに書かれたものばかりで、最近のバージョン3のものはありません。(少なくとも私には見つかりませんでした)。少し先になりますが、Gtk+3についてのkindle本を作ろうと計画して…