おもこん

おもこんは「思いつくままにコンピュターの話し」の省略形です

C、Gtk4

C、Gtk4とその周辺の技術について

世界から注目されたGtk4-tutorial

私のGithubリポジトリに世界からアクセスがあったことを書きたいと思います。 Githubは、プログラムやドキュメントを無料で保管、公開できるウェブサービスです。 また静的なホームページ(ユーザの投稿が無く、閲覧だけのウェブサイト)をつくることもでき…

kindle本「Gtk+3入門」の販売を停止しました

Kindle本「Gtk+3入門」の販売を停止しました。 すでにGtkのバージョンが4になってから1年以上が経過しました。 Gtk4の発表当時はUBUNTUはじめ各ディストリビューションが未対応でしたが、現在ではすべての主なディストリビューションが対応しています。 した…

ハッシュについて

今日はハッシュについて書こうと思う。ハッシュは、あるオブジェクトから、ある定まった範囲の整数への関数で、違うオブジェクトに対して違う整数が対応することが期待されているものである。実際には一対一対応は難しいので、できるだけ一対一になるような…

プロファイル

今日はプロファイルについて書きたいと思います。プロファイルとは、プログラムの中の個々の関数がどれくらい呼び出されているか、そしてどれくらい時間を消費しているかの統計を調べることを言います。具体的には、Cでコンパイルするときに、-pgオプション…

Symmetric_group レポジトリを更新

対称群の部分群を求めるプログラム(symmetric group)をCで書き直しました。Ruby ではなかなか速度が上がらないので、Cに書き直せば速度が上がると期待したのです。ところが、実際にはさして速度が上がりませんでした。5次対称群の部分群を求めるプログラム…

クイックソートを書いていてハマった話

今日はクイックソートでハマったことを書きたいと思います。クイックソートはデータを小さい順(または大きい順)に並べるアルゴリズムです。ここでは与えられたデータを「集合」と呼びますが、数学で扱う集合とは異なり、同じ要素を複数含んでいても良いこ…

3次元を2次元に変換して表示するプログラムを作成

t2tというアプリケーションをGithubにアップロードしました。 t2tは「Three dimension To Two dimension」を短くしたものです。すなわち、3次元の座標系から2次元の座標系への変換をするアプリケーションです。 例えば地上にある立方体は、空間座標でその各…

UBUNTU21.10でGtkのバージョンが4.4に

最近、UBUNTUの新しいバージョン(21.10)がリリースされました。 このバージョンではGtkのバージョンが4.4に上がっています。 (GtkといえばGtk4が現在の標準なので、単にGtkと書きます)。 この前のUBUNTU21.04ではGtkのバージョンが4.0.3でした。 4.0.3か…

Gtk4のドキュメンテーションが新しくなっている

Gtk4関連のドキュメントは「GNOME開発センター」から「APIリファランス」をクリックしてアクセスできていたのだが、このたびそれがリニューアルされた。 今までの(古い)ドキュメントは、ここに保存されている。 新しいGNOME開発のウェブサイトはここで、ド…

GObject tutorialを大幅書きかえしました。

気になっていたGObject tutorialの修正を終えて、Githubにアップロードしました。 とても気になっていたのは、TPtrというポインタのプロパティをもつオブジェクトの子オブジェクトとして文字列のオブジェクトのTStrを定義したことです。 それはすごくまずい…

Csv editor にアップグレードしました

先日ブログに書いたCsv viewerに編集の機能をつけました。 ビューワというよりもエディタの面が主になってきたので、名前もCsv editorにすることにしました。 ビューワからエディタに変更するために一番手間がかかったのは、GtkColumnViewのウィジェットとリ…

CSV viewer を作ってみました

Csv View -- Csv ファイルを見るためのプログラムを作ってみました。 github にレポジトリを作ってあります。 github/ToshioCP/tcsv 一応テスト済ですが、開発途中です。 今後編集の機能を持たせようと思っているので、その準備のためのボタンがいくつかあり…

Ubuntu 21.04 のgtk4パッケージ

今日、Ubuntu 21.04にgtk4パッケージがあることに気づきました。 さっそくインストールして試しましたが、(当然ながら)ちゃんと動きます。 バージョンは4.0.3で最新ではありませんが。 (最新のgtk4安定版は4.3)。 $ pkg-config --modversion gtk4 4.0.3 …

GNOME 40 とGtk4を体験しました

2021/9/1追加 Fedora 34Betaはすでに完成版のFedora 34になっているという指摘をいただきました。 現時点では、Gnome 40のウェブサイトでも「Beta」は消されています。 記事の中の「Beta」は古い情報であることにご注意ください。 また、GNOME40の新しいバー…

Gtk4 Tutorial バージョン0.8 をリリース

Gtk4 Tutorial (英語のチュートリアル)のバージョン0.8をリリースしました。 https://github.com/ToshioCP/Gtk4-tutorial バージョンが0.8という意味は、チュートリアルの構成はこれで完成ということにして、今後は細部の見直しのみにしようということです…

GObject tutorial を書きました

GObjectのチュートリアル(英語)を書きました。 githubのレポジトリに登録してあります。 GObject tutorial GObjectはあまり知られていません。 Gtkの方がそれよりは多少知られていると思います。 GObjectはGtkを下支えする、オブジェクト・システムです。 …

UBUNTUにgtk4をインストール

(注 2021/5/13) この記事は現在では古くなっています。 Arch, Debian, Ubuntu, Fedoraの最新版では、GTK4パッケージがあるので、ソースからインストールする必要はありません。 仮にソースからインストールするにしても、前提条件となる諸ライブラリが各デ…

ChromebookとLinux(ベータ版)、そしてgtk4

Chromebookを買いました gtk4をubuntuでビルドしていたら、ubuntuが動かなくなりました。/usr/localにgtk4をインストールしたので、ubuntuのgtk3で動いているプログラムがおかしくなってしまったためです。皆さんはこういう間違いをしないよう注意してくださ…

テキストエディタ sen

テキストエディタ Sen テキストエディタ 'sen' をgithubにアップロードしました。 https://github.com/ToshioCP/sen senは現在開発中のGtk4ライブラリで動作するエディタです。 ライブラリが開発中ですから、当然sen自身も安定版ではありません。 また、その…

moonedとautotools

autotoolsとは autotoolsは、Linuxを含む様々なUnix系のOSにパッケージのビルドを対応させるためのツールです。autotoolsを使った人は少ないと思いますが、autotoolsで作られたソース・パッケージをビルドした経験のある人は少なくないと思います。 ./config…

「Gtk+3入門」のサポート情報

アマゾンで販売中の電子書籍「Gtk+3入門」のサポート情報を公開 アマゾンで「Gtk+3入門」を出版してから1ヶ月ほど経ちました。そんなに売れる内容の本ではありませんが、Gtkのバージョン3については類書がないので、Gtk+3初心者には役に立つのではないかと思…

Kindle本のその後

Kindle電子書籍のその後 一昨日Kindleの電子書籍を出版した話を書きました。驚いたのは申請完了からほぼ4時間で出版されたことです。まことにスピーディー。前回も書きましたが、書籍データを作りさえすれば、出版は非常に簡単で、お金もかかりません。これ…

Kindle本の出版申請

Kindle本の出版申請 以前から書いていた「Gtk+3入門」という電子本ができあがったので、AmazonのKDPサイトで出版申請をしました。通常72時間の審査で問題なければ出版完了となります。内容はタイトルの通りなのですが、少し説明します。Gtk+はもともとはGimp…

mooned をアップロード

Gtk+3 を勉強中 昨年1年間、Gtk+3を勉強していました。Gtk+の本は、2000年ころに書かれたものばかりで、最近のバージョン3のものはありません。(少なくとも私には見つかりませんでした)。少し先になりますが、Gtk+3についてのkindle本を作ろうと計画して…