2009-01-01から1年間の記事一覧
日本語の名前がついているmp3やoggファイルを他のPCで再生しようとしたら ファイル名が文字化けして読めませんでした。 ファイル名の文字コードを変換してもいいのだけれど、 それだと行ったり来たりするたびに変換しないといけなくなる、ということで、 多…
ブログのエントリーを連続して読むとき 「次の5日分」とか「前の5日分」とかあるけどこれが分かりにくい。 特に時系列を遡っているようなとき 次の5日分 前の5日分 が並んでいるとついつい 次の5日分 をクリックしてしまって既読のページに戻ってしまっ…
文章作成中にF12を押すと 単語登録の「霞」が起動する。 登録ファイルは ~/.anthy/private_words_dafault gedit と OpenOffice ワープロ、AbiWord、 FireFoxの入力フォームで確認。 Ubuntu 8.10にて キーボード掃除してたら気がついた。
以前にUbuntuをインストールして使っていたUSBメモリを普通使いにもどしたところ GRUBが残っていたらしく このUSBメモリを差しっぱなしにして起動すると GRUB loading Error 17 が出てしまっていた。 それを改善しようとGRUBをいじったりなんだりしていたら…
キー配列をいじった時のメモCapsLockとCtrlを入れ替えるといったキーカスタマイズはメニューから行うことが出来るが、 「無変換をBackSpaceに 変換をReturnに」 といったあまりにも独特な変更はしてくれない。 ネットで調べてみると、 /usr/share/xmodmap以…
Ubuntu 8.10 をクリーンインストールして、大量のアップデートをしたところ、 console-setup 1.25 ubuntu4のインストールに失敗しました。 というメッセージが出た。 無視して、環境の構築を進めようとしたら、 synapticパッケージマネージャでエラーが出る…
早速 Ubuntu 9.04 Desktop 日本語 Remix を入れてみました。 いつも通りさくさくっとドライバなども認識してくれました。使って気づいた変更点は 起動中やログインの画面がちょっとかっこよくなった USBメモリ中のAutorun.infに記述されたアイコンが表示され…
ところで、皆さんはroot権限が必要なファイルの編集はどうしていますか? 私はいつも$sudo vi ファイル名で編集しています。 いつもはviを使わないのでぎこちない操作になってしまいますが。 最近では、 IPv6を停止するために$ sudo vi /etc/modprobe.d/alia…
オブジェクト指向でなぜつくるのか—知っておきたいプログラミング、UML、設計の基礎知識 平澤 章 (著) 出版社: 日経BP社 (2004/6/3) ISBN-10: 4822281957 ISBN-13: 978-4822281953 プログラミングとは、人間世界とコンピュータ世界を行ったり来たりしながら…
システムトレイからメニューを表示出来るようにしてみます。 完成図 (クリックした状態でのスクリーンショットの方法が分からなかったのでデジカメで撮りました ^^;) tray.cにこのコードを追加します。 void on_item1_activate (GtkMenuItem *menuitem, gp…
左クリックでアイコンの点滅をon/off、 右クリックでアプリ終了、 という機能を追加してみます。 シグナル "activate"が アイコン上での左クリック シグナル "popup-menu"が アイコン上での右クリック に対応しているようです。 tray.c#include static gbool…
システムトレイをいじってみようと思います。 Windowsではタスクトレイですが、 Linuxではシステムトレイという呼称が一般的なようです。 GTKではGtkStatusIconというオブジェクトで扱うようですが、 StatusIconはそれなりに新しいGTK(2.10以降?)でないと対…
GUIの真骨頂とも言える(?)ドラッグ&ドロップをやってみます。 ウィンドウ(正しくはGtkLabel)にドロップされたファイルのパスを表示させるという簡単なもの。 今回はGladeは使わず、1ファイルでケリをつけています。 DnD.c#include #define DND_INFO_TEXT_…
チェックボタンなどの状態に応じて、項目の使用可能・不可能を切り替えるやり方 ↑こんな場合このようにしたい時は、 gtk_widget_set_sensitive関数を使って、 チェックボタンのtoggledシグナルとconnectすればいいでしょう。 参考資料 GtkWidget gtk-widget-…
SSL関連の問題にしばらくかかりそうなので、 ひとまず打ちきりとします。 DAY 0 設計 DAY 1 GladeでUI作成 DAY 2 下準備 DAY 3 コード作成とコンパイル DAY 4 アカウントの生成 DAY 5 送信用MHファイルの作成 DAY 6 POP3認証 DAY 7 SMTP認証とメール送信 DAY…
なかなかSTARTTLSコマンドを最初に発信する方法がわからない... ということで、今日はCcBccに対応させてみます。 libsylphに添付されているドキュメントのcompose.txtを見てみると、 gint compose_set_headers (ComposeInfo *compose, const gchar *to, cons…
さて、ひとまずメール送信に成功しました。 ここまで何のつまづきもなく来れたのはひとえにlibsylphの力によるものです。感謝!さて、次は何をしましょうか。 SSLに対応させる CcBcc機能を作る Send Copy to myself機能を作る が、SSL送信はいまだに成功して…
1.アカウント作成 2.送信用MHファイル作成 3.(POP3で認証)-----現在ここまで 4.(SMTP認証+)送信 いよいよ送信の部分を作ります(っても改変コピペですが)。 /* こんなんでいいのか?と思う人もいるかと思いますが、 まずは自分の作ったプログラムでメー…
1.アカウント作成 2.送信用MHファイル作成-----現在ここまで 3.(POP3で認証) 4.(SMTP認証+)送信3.のPOP3認証はカッコ付きですが、(理屈からいうと、送信には必要ない) SSLを使用しない場合、たいていPOP before SMTPをすることになっているので、今日…
ここで一度、メール送信の流れを整理してみると、 1.アカウント作成 2.送信用MHファイル作成 3.(POP3で認証) 4.(SMTP認証+)送信 となります。 2.は~/lisylph/examples/libsylph-compose.cに 3.は~/lisylph/examples/libsylph-pop.cに 4.は~/lisylph/exam…
さて、libsylphと一緒に配布してくれているサンプルプログラムのlibsylph-send.cを見てみます。 このプログラムは、 $ libsylph-send message-file hogehoge@foo.comというように、message-fileと宛先をパラメータで指定するようになっています。 message-fi…
SimpleText DAY 2と同じ手順でソースコードを出力します。 Gladeが吐き出してくれたコードをMakeするのですが、 libsylphを使うので、MakefileはSimpleTextで使ったものに多少手を加えないといけません。 (まだlibsylphを使ったコードを書いていないので、…
libsylphのインストール Ubuntuなら、Synapticパッケージ・マネージャからlibsylph-devをインストールすればいいので簡単。 その他の環境の人は各自でがんばってください。 Glibのインストール 2.4.0以降が必要とのこと。新しいディストリビューションなら最…
今回もGlade2を使います。 だいたい大丈夫かとは思いますが、メモを書き散らしておくので参考までに。 SMTP Portのデフォルトは25、POP3は110(「プロパティ」ウィンドウの「ウィジット」タブの「テキスト」を利用) パスワード欄は、「表示可否」を「いいえ…
新しいシリーズに入らせていただきます。 無謀かもしれないけどメールソフトを作ってみよう! ということで。 一から作るのは大変なので、libsylphを使います。ソフト名 Ugly Mail Pad - C2 (略して UMPC)機能 例によって1ウィンドウ完結アプリ 送信だけ …
さて、Gtkを使ってのプログラミングを開始してまだまだ日が浅いのですが、 最近気づいたことがあります。 気づいたと言うよりは、考え方が変わったと言うべきか。 大げさに言うならパラダイムシフトがあったのです。 それ以降、プログラミングの効率が大幅に…
SimpleText 完成! このシンプルなインターフェイス!今やこれがメインエディタです(ウソ)開発記 DAY 10 - テキストを保存する DAY 9 - statusbarに文字を表示させてみる DAY 8 - テキスト読み込み機能の手直し その2 DAY 7 - テキスト読み込み機能の手直…
今日はテキストを保存する機能を付け加えましょう。 なお、このプログラムで大切なデータを消してしまったとしても、責任はとれません。callbacks.cのon_button_save_clickedを見てください。 callbacks.cvoid on_button_save_clicked( GtkButton *button, g…
今日は、statusbarに文字を表示させてみましょう。 entryに入力されたファイルがあるかどうかを調べて、 あれば 「Open File / Save Mode」 なければ「New File / Save as Mode」 と表示させてみます。(今のところプログラムと同じフォルダにあるファイルを…
今日は、指定したファイルが存在しない状況への対処を追加しましょう。 ファイルが存在しない場合、g_io_channel_new_fileからNULLが返されるのでそれを利用します。 callbacks.cvoid on_button_open_clicked ( GtkButton *button, gpointer user_data) { Gt…