Fork me on GitHub

2011/04/18


このエントリーをはてなブックマークに追加
MacにはGrowlがあり、WindowsにはGrowl For Windowsがあります。LinuxにもNotify-OSDがあるじゃないかという人もいますが、Linuxユーザは皆こう思ってる。「これGrowlじゃないもん!」
mumblesというpython+DBusで書かれたGrowl Systemもありましたが、どうやらプロジェクトが消え去った様子。

これはまずい。

と、僕は「Growl For Linux」を作り始める事を決めた

C言語でGTKを使ったGUI。プロトコルは今後、MacのGrowl 1.3でもサポートされる予定であるGNTP(Growl Network Transfer Protocol)を使う事にした。
本来ならば今日あたりにバージョン0.1あたりをリリースする予定だったんだけど、色々と立て込んでいて実はまだ出来てない。でもGNTPを受信して、Growlポップアップが出て、ディスプレイが数種類動く所まではこぎつけた。
今のところ
display1
こんなのや
display2
こんなのや
display3
こんなのが動きます。「キャプチャが思いっきりWindowsじゃねぇか!」と思われるかもしれまんが、ちゃんとLinuxで動作確認してます。
GNTPなので通常のGrowl送信ツールではなくGNTPをサポートした物が必要です。
などなど、この辺みてもらえれば色々あります。
残課題としては
  • 通知音再生
  • ディスプレイの充実/設定変更
  • subscriberアプリケーションの作成
などなどあります。一応、MD5/SHA1/SHA256のパスワードハッシュと、AES/DES/3DESの暗号通信をサポートしてます。
まだ始まったばかりのプロジェクトなので色々と問題がありますが、ぜひpatch書いて送って下さい!
いい物出来たら、きっと世界中から使って貰えます。君も一緒に開発やらないか?ウホッ
Posted at 01:55 in ソフトウェア
Tagged as: C, growl, gtk, linux
Bookmarks: add to hatena add to hatena | add to delicious.com | add to livedoor.clip add to livedoor.clip

2009/11/19


このエントリーをはてなブックマークに追加
ふと思いつきで書いたコードを実行してしまって死にかけた。
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <unistd.h>
#include <memory.h>

int main(void) {
  char *p = NULL;
  struct sigaction sa_sigint;
  memset(&sa_sigint, 0, sizeof(sa_sigint));
  sa_sigint.sa_handler = (void (*)(int))fork;
  sa_sigint.sa_flags = SA_RESTART;
  if (sigaction(SIGSEGV, &sa_sigint, NULL) < 0) {
    perror("sigaction");
    exit(1);
  }
  sleep(1);
  puts("僕は死にましぇん!");
  return *p = 0;
}
Ctrl-CとかCtrl-Zとか押しまくってようやく止めた。
良い子は真似しちゃ駄目よ。
Posted at 01:24 in ソフトウェア::lang::c
Tagged as: C
Bookmarks: add to hatena add to hatena | add to delicious.com | add to livedoor.clip add to livedoor.clip

2009/11/12


このエントリーをはてなブックマークに追加
Gyazoアプリがgithubにあがってるのを知った。
gyazo's Profile - GitHub

Gyazo is Open Source!

http://github.com/gyazo
GyazoWinならびにGyazoのLinux版にもお世話になっているので結構嬉しい。今日見たらESCキーで中断出来る様になってた。嬉しい。
よし!私もGyazoアプリ作るぞ!と思って、考えたけど結局思いついたのがこれしか無かった。

コマンドプロンプトから実行すると、コマンドプロンプトをキャプチャしてgyazoするアプリ、GyazoCmd!

mattn's GyazoCmd at master - GitHub

gyazo interface to windows command prompt

http://github.com/mattn/GyazoCmd
実行するとこんな風になります!
gyazocmd
だっ....誰得!汗
Posted at 00:47 in ソフトウェア::lang::c
Tagged as: C, gyazo, windows
Bookmarks: add to hatena add to hatena | add to delicious.com | add to livedoor.clip add to livedoor.clip

2009/10/28


このエントリーをはてなブックマークに追加
最近、kazuhoさんが作った「C」で遊んでいるのですが(いまごろかい!)、これWindowsでも使いたいなーなんて思ったのでポーティングしてみた。
C - a pseudo-interpreter of the C programming language

Perl や Ruby では、ワンライナーで処理が書けて便利です。でも、なぜか C では書くことができません。仕事上の都合で、小さな処理を C 言語で書く必要があったので、ワンライナーも書くことのできる C 言語のインタプリタ(?)を作ってみました。

http://labs.cybozu.co.jp/blog/kazuho/archives/2006/01/large_c.php

目指せバイナリアン (C-0.06)

C-0.06 をリリースします。

http://labs.cybozu.co.jp/blog/kazuho/archives/2006/05/c-0_06.php
これがあるとコマンドプロンプトから
C:¥>C
puts("kazuho");
^D
kazuho

C:¥>
こんな事が出来たり、
C:¥>C -e "printf("""hello world¥n""");
hello world

C:¥>
こんな事が出来たりします。コマンドプロンプトなのでクォートのエスケープ2重打ちがめんどくさいですが(実際にはクオートの中のクォートなので3重になります)、なれれば簡単ですし昔なつかしnyacusなんかを使えばシングルクォートでも行けるはずです。(cygwin?何それ)
コンパイルや実行にはmingw32が必要です。
コンパイルは以下の様に簡単。
C:¥C-0.06¥>gcc -o C.exe C.c
mingw32が出力するa.exeに対応しています。ちょっと弄ればMSVCにも対応出来るんじゃないかな。

kazuhoさんに感謝しつつ、Version画面に「Win32 Porting」として名前を入れさせて頂いています。
mattn's C-win32 at master - GitHub

win32 port of C(a pseudo-interpreter of the C programming language)

http://github.com/mattn/C-win32
Windowsユーザでコマンドプロンプト使いで、mingw32が入っててC言語をこよなく愛する皆さんにどうぞ...。

対象範囲せま!
Posted at 22:02 in ソフトウェア::lang::c
Tagged as: c, C, kazuho, windows
Bookmarks: add to hatena add to hatena | add to delicious.com | add to livedoor.clip add to livedoor.clip