Programming」カテゴリーアーカイブ

checkinstall

Linux のスクリーンショットが沢山見られるサイトを見つけた。

Linux, BSD, Solaris & Other OS Screenshots | The Leader in Linux, BSD, Solaris & Other OS Screenshots | Screen Shots of Linux Distributions, BSD, Solaris & Other OSes | Linux, BSD, Solaris & Other OS Screenshot Gallery

GNOME と KDE ばかりとはいえ、なんだかんだで見た目は大事ですから。
最新版の見た目を見てどんな感じになったのか確かめたりする他
そういえば昔の Fedora はスタートメニューが赤い帽子だったなぁとか楽しめます。

Linux標準にPerlとPythonが追加 ? @IT

古い記事だが、だから今の Linux には Perl と Python が必ず入っているのか。

Linux Standard Base – Wikipedia

Debian 系がいつまでも deb に拘っているほうがどうかと思うのだが。
Opera とかも Debian 系のためだけに deb パッケージを用意するのは大変だろうに。
こういう点が面倒だから Desktop Linux ではアプリが偏る結果になるのに。
と思っていたけど…

3種類のパッケージを手軽に作成 checkinstall – 特選フリーソフト:ITpro

Ubuntu から apt-get で手に入るのでやってみた。

checkinstall

Y901x のインストールスクリプトを install.sh にして実効パーミッションを付加。
cd コマンドでインストールスクリプトのあるディレクトリに移動。

$ sudo checkinstall ./install.sh

y901x_dev

あらら、簡単に作れちゃった。
でも何故 root 所有になるの?もう少し調べると面白いかも。

やはり KDE と GNOME は違う

KDE な Mandriva で GnomeVFS が使えるならコレはどうなるのだ?
と調子こいて

ぱぇぽぃ2 ? Blog Archive ? g_file_trash ってのがあった

をやってみた、ようするに GNOME でゴミ箱にファイルを捨てる方法。

trash

GtkWindow は普通に表示してくれたけど何のトラックバックも返さず華麗に無視してくれた。
やはり KDE なのにコレをエミュレートは無理か。

戻り値で成功か失敗を判断せよか、例外未サポートの C 言語が元のバインディングだし。
どんな小さなことでも例外を返してくれる .NET Framework との時代の差を少し感じた。
自力判断とフレームワーク判断とでは開発効率がケタ違いなんだよね。

つか Mandoriva ではドロップ状態だと認識するのが異様に遅すぎるんだが…
これは VirtualBox で動かしているせいなのかな?
これが KDE では普通なのだったら使えるシロモノじゃないんだが。
検証は当分続きそうだ。

Nautilus と Dolphin と GnomeVFS

Nautilus の D&D で送られてくる text/uri-list で何を今頃気がついた。
これって CRLF 区切りなのか、Dolphin の場合は LF 区切りの URI が送られてくる。

ぱぇぽぃ2 ? Blog Archive ? Get MIME Type and Description

上記に書いたコードのように今まで URI の最後の一文字を削除していた。
たまたまそうやったら上手くいったからずっとそうしてきただけだったりする。
CR の存在を今まで知らずにアプリを作っていたのか、反省。
ということは

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import gtk
import gnomevfs

class MimeWin2(gtk.Window):
    """
        Showing MIME Type and Description of Dropped file
    """
    def __init__(self):
        gtk.Window.__init__(self)
        dnd_list = [("text/uri-list", 0, 0)]
        self.drag_dest_set( gtk.DEST_DEFAULT_MOTION |
                            gtk.DEST_DEFAULT_HIGHLIGHT |
                            gtk.DEST_DEFAULT_DROP,
                            dnd_list, gtk.gdk.ACTION_MOVE )
        self.connect("drag_data_received", self.on_drop)
        self.label = gtk.Label("Drop")
        self.add(self.label)
        self.connect("delete-event", gtk.main_quit)
        self.resize(320, 150)
        self.show_all()

    def on_drop(self, widget, context, x, y, selection_data, info, time):
        if "\r\n" in selection_data.data:
            drops = selection_data.data.split("\r\n")
        else:
            drops = selection_data.data.split("\n")
        for drop in drops:
            if not drop == "":
                name = drop
                mime = gnomevfs.get_mime_type(name)
                desc = gnomevfs.mime_get_description(mime)
                self.label.set_text("MIME Type = %s\nDescription = %s" % (mime, desc))

if __name__ == "__main__":
    w = MimeWin2()
    gtk.main()

gnomevfs

こうすれば Nautilus でも Dolphin でも対応できるじゃないの。
てか改行コードが違うだけで text/uri-list が送られてくるのは同じなのか。
KDE の Mandriva でも GnomeVFS から普通に MIME Type を取得できるのは驚いた。
ま、そうじゃないと Firefox や Totem が動かせないか、納得。

ところでスクリプトの扱いが Nautilus と Dolphin では随分違うなぁ。
シェルスクリプトだと実効パーミッションでもダブルクリックで実効できない。
Python スクリプトだと逆に Nautilus のように質問は無くていきなり実効してしまう。
bash からだとまったく同じ、そりゃそうか。

私が実効スクリプトを分けて配布しているのは完全に自分の都合。
python スクリプトをダブルクリックだけで gedit で開けるからという単純な理由です。
Mandriva で使うことを考えて実効スクリプトを Python スクリプトにすればいいかなと。

ということでソコを書き換えたら Y901x は再生できるようになった。

baseboll

後は dbus と wnck をなんとかすれば Mandriva もサポートできる。
リポジトリにはあるんですけどね。

python_dbus

Visual Studio 2010 Beta 03

ちょこまか使ってみて 2010 の全体像は簡単に書き出すと

ネイビーになった外観のおかげで現在ドコがアクティブかが解りやすくなった。
でもタブ切り替えで一端ネイビーにフラッシュされてチラツキ感を感じる。
ツールバーボタン無効状態がもの凄く解りにくいのは勘弁してくれ。

試しにクラシック表示にすると哀れ、MS Pゴシックになり全部の文字が太字に。
まあいいや、Vista でクラシック表示なんか使う奴は何も知らないバカだけだし。
って Windows XP では使い物にならないということか…

WPF デザイナはどうなったか、SeeMe のソリューションを開いてみる。

デザイナ部は特に代わり映えシネェ…

ツールボックスからの貼り付けが使い物にならないのも変わっていない。
てか Width, Height の値を勝手に付加するのはやめてくれないか?
これじゃコンテンツでコンテナのサイズを決めるにした意味が無いやん。

よく見るとプロパティウインドウは結構進化している。

2010_prop

ブラシの色がアイコンで表示されて解りやすくなった。
プロパティ文字列にある小さなアイコンをクリックすると型毎にサブウインドウが出る。
他リセット等ができたりデータバインディングを指定できたり高機能になった。
Visual Studio 2008 は文字列のみだったのでこれはなかなか。

新しいコードエディタは選択範囲が異様に解りやすい。
でもレスポンスが少し遅い、ワンテンポ遅れる感じなのは仮想マシンの宿命か。
ところでコード補完で Enter を押しても一覧から強制適用されなくなった。

2010_code

作り込みが甘いだけなのか、あの仕様の評判が悪かったのか。

イベントハンドラのコード補完で += 直後に Tab キーを押した場合にも自動整形。
2008 は +=new になっていたのが += new と半角スペースが入るようにとか。
カンマ区切りをスペース無しで書いてもセミコロンで自動整形とかは健在。
空行にて BackSpace を押すと行頭まで削除するようになった、微妙に便利かも。
アウトラインの + マークにマウスを持っているとアウトライン部に色が付くように。

うーん、やっぱり 2008 からあまり変化を感じない、少し便利になっただけ。
WPF 化したのは単に WPF で以前のウインドウを再現できると示しただけかな?
それでは便利機能が増えたことよりレスポンスが悪くなったことのほうが気に…

Visual Studio 2010 Beta 02

Visual Studio 2010 はたしかに WPF で作り替えされているようだ。
これやれば一発で解る

ぱぇぽぃ2 ? Blog Archive ? Spy++ で WPF

とりあえず VC++ がどうなったか、Win32 プロジェクトを新規作成してみる。
新規プロジェクトに Win64 は無いか、なんだかなぁ。

stdafx.h や生成されるコードは 2008 と何も変わらない。
だけど targetver.h が異様にシンプルに、ベータだからだと思うけど。

targetver

0x601 じゃ Windows 7 専用を作ってしまう可能性が、そりゃマズイだろう。

ソリューション エクスプローラーに External Dependencies なんつーものが。
開くと windows.h 等で #include されているヘッダーがズラリ。
標準ヘッダーを参照したい時に便利、初心者が見たら数にビビルだろうな。

sol_exp

IntelliSense なんだが…

messagebox

MessageBox とかのマクロは無くなっちゃったの?
ちなみに下は Visual Studio 2008

messagebox2008

でも MessageBox と打ち込めば IntelliSense は効く。

intelli_sense

当然 TCHAR や _tcscpy_s なんかも補完はしてくれない、まだ作りが甘いようだ。
プロジェクトのプロパティウインドウは英語のまま、あまり重要視されていない感じ。

というか WPF 化されたというのに 2008 を再現することばかり行われているような。
リソースエディタも特に変化無し、ここだけでも進化してほしかったのだが。

相変わらず C++/CLI では WPF は使えない。
WindowsForm なんていいかげんにサポートするのを終わってくれよ、MFC も。

どうでもいいが Ctrl+I でのインクリメンタルサーチ時にマウスカーソルがかっちょいい。
ここだけは WPF 化の恩恵…関係無いか。

やはり VC++ については 2008 で十分というかもう進化することは特に無いのだろう。