Giraffe+

このエントリーをはてなブックマークに追加
564名無しさん@お腹いっぱい。:2007/01/28(日) 02:29:38 ID:CNvVIVC30
左上
タスクバー(上)の下
565名無しさん@お腹いっぱい。:2007/02/02(金) 01:07:35 ID:UqCDgm+B0
左下
ぴったり角につけるんじゃなくて少し間あけてる
タスクバーは右に縦配置
566名無しさん@お腹いっぱい。:2007/02/02(金) 18:53:27 ID:1h8XM+TR0
>>558
C:\Giraffe\readme.txt に
"gi"で
C:\Giraffe\hoge
C:\Giraffe\hage
C:\Giraffe\fuga
C:\gi\hoge
C:\gira\hoge
C:\hoge\giraffe

とかの候補を表示する感じとかも無理?
567名無しさん@お腹いっぱい。:2007/02/02(金) 21:54:11 ID:0NPp0B2f0
>>566
異なるディレクトリをまたいで部分一致したパスをリストアップするということかな。
それだと一般的なオートコンプリートというより検索になるような気が。

"c:;gi"と入力してc-fとすればそれらしい結果が得られると思う。
これだとその都度Cドライブに検索をかけるので遅いけど。

そういうのはfenrirみたいな検索型ランチャの得意分野だったりする。
568名無しさん@お腹いっぱい。:2007/02/03(土) 03:48:50 ID:RaBb9riB0
>>566
まず、入力窓の状態がパスの場合、そのディレクトリにあるファイルのみが補完対象になる。
例:
 入力窓が
 C:\Giraffe\gi
 の場合、
 C:\Giraffe\にあるgiを含むものが補完対象になる。

んで、入力窓の状態がパスじゃない場合、登録アイテムが対象になる。
例:
 入力窓が
 gi
 の場合、
 登録アイテム名にgiを含むものが補完対象になる。

これが基本動作なんだけど、パスそのものもテキストファイルで登録アイテムにできるから、
C:\Giraffe\hoge
C:\Giraffe\hage
C:\Giraffe\fuga
C:\gi\hoge
C:\gira\hoge
C:\hoge\giraffe
が登録アイテムにあるなら、
gi
の候補として表示される。
569名無しさん@お腹いっぱい。:2007/02/04(日) 00:58:32 ID:5kD5tpfi0
テキストファイルにもアイテムを登録できることを失念してた。
下はエディットのディレクトリ以下のパスを登録するスクリプトなのだが…。
テキストファイルに大量にアイテムを登録するとオートコンプリートがかなり重たくなってしまう。
今のとこオートコンプリート毎に参照する仕様らしいから仕方ないかな。

Giraffe.Event.Key.f12: `*[
dataFile: 'test_data.txt'
data_list: dataFile.file_load.split(CRLF)
new_items: {}

AddTextData: `path[
data:: true
data_list.each% `item[
item.iequals(path).? [data.= false return]
]
data.? [new_items.push_back(path)]
]

'Script/find.giraffe'.file_load.replace('AddListItem' 'AddTextData').eval(local)
dataFile.file_save(dataFile.file_load.+ (new_items.join(CRLF)).+ CRLF)
]
570名無しさん@お腹いっぱい。:2007/02/09(金) 20:32:45 ID:CzkWettN0
>>566的使い方でGiraffe.RegisteredItemsを用いたスクリプト。
siteinit.giraffeか、setting-setupで使うことを想定。
test_data.txtはConfig.Path.Dataには設定しない。

新機能を試すために書いたのでアイテムひとつだけ登録などいろいろ欠けてます。
使ってやろうと思う人は補ってください。

それでもパスを登録し過ぎると速度的に厳しいので注意。
テキストファイルのアイテム登録は補助的な機能だと割り切ろう。

'テキストファイルをアイテムとして登録する'
global.ItemsFileName: 'test_data.txt'

ItemsFileName.file_load.split("\r\n").each% `item[
Giraffe.RegisteredItems.push_back(item)
]

Giraffe.Event.Key.f12: `*[
'ParameterをフィルタにエディットのTarget以下の未登録パスをアイテムに登録'
old_items:: Giraffe.RegisteredItems

RegisterItem: `path[
old_items.each% `item[
item.iequals(path).? [parent.return]
]
Giraffe.RegisteredItems.push_back(path)
]

'script/find.giraffe'.file_load.replace('AddListItem' 'RegisterItem').eval(local)
ItemsFileName.file_save(Giraffe.RegisteredItems.join("\r\n"))
]
571名無しさん@お腹いっぱい。:2007/02/09(金) 20:33:34 ID:CzkWettN0
Giraffe.Event.Key.c-f12: `*[
'登録されたパスが存在しなければアイテムから削除'
old_size: Giraffe.RegisteredItems.size

index:: 0
Giraffe.RegisteredItems.each& `item.is_path.|| [item.is_iidl].&& [item.exists.not][
Giraffe.RegisteredItems.erase(index)
].| `*[index.++]

Giraffe.RegisteredItems.size.!= old_size.? [
ItemsFileName.file_save(Giraffe.RegisteredItems.join("\r\n"))
]
]
572名無しさん@お腹いっぱい。:2007/02/16(金) 22:48:10 ID:lJmKO0ht0
0.5.16.309
573名無しさん@お腹いっぱい。:2007/02/21(水) 02:06:49 ID:nxuy/o8E0
なんかGiraffe常駐してる状態でRO(Ragnarok Online)起動するとGiraffeが反応なくなる・・・
nProtectの影響なんかな…
574名無しさん@お腹いっぱい。:2007/02/26(月) 23:04:14 ID:2kxUiyQQ0
Craft Launch EXとGiraffe+。どっちが出来ることが多いの?拡張性の高さも。
575名無しさん@お腹いっぱい。:2007/02/27(火) 01:54:51 ID:QaXXpxZp0
俺はGiraffe+だと思うぜ。
576名無しさん@お腹いっぱい。:2007/02/28(水) 02:11:12 ID:tJxNtu3t0
Craft Launch EXの方が拡張性は高いよ。
Python使うんだから当たり前だけど。
577名無しさん@お腹いっぱい。:2007/02/28(水) 03:33:54 ID:tfmmfdo50
拡張性=使いやすさ&見易さではないので。念のため。
限界まで使いこなせる力量があれば別だけど。
膨大なスクリプトを書いた上デバッグするはめになるのなら本末転倒。
578名無しさん@お腹いっぱい。:2007/02/28(水) 05:24:31 ID:ZV4re8R20
>>576
Pythonであることと拡張性には何の関係も無いでしょ。

AHKやmayuもそうだけど、この手のソフトの拡張性ってのは、APIやイベントが全て。
一方通行の拡張なら、DLLを書けばいいし、それに勝る拡張手段なんて無い。
Bluewindや旧giraffeみたいに単機能exeを実行するだけでも十分だったりする。

>>574が想定してる「拡張性」や「出来ること」は、
リストのアイコンの表示のOn/Offができるとか、
スタートメニューの内容をそのままコマンドリストとして使えるとか、
そういうのだと思うけど。
579名無しさん@お腹いっぱい。:2007/02/28(水) 06:45:57 ID:/53akUTJ0
面白そうだけどなんか重いなぁ。
580名無しさん@お腹いっぱい。:2007/02/28(水) 09:10:51 ID:tJxNtu3t0
>>578
DLL書けば良いというなら、自分好みのを作れば良いじゃないか。
574見たいな質問をする人にそんな回答は無意味。
581名無しさん@お腹いっぱい。:2007/02/28(水) 09:55:42 ID:ZV4re8R20
>>580
そのDLLの行は1行目の「拡張性 = APIやイベント」って話を踏まえての、
それらを無視した「一方通行の拡張」の話なんだが、その辺理解してる?
Pythonスクリプトを実行したいだけならpython.exeを呼ぶなりすればいいだけでしょ?

>DLL書けば良いというなら、自分好みのを作れば良いじゃないか。
DLLをなんか凄いもののように思ってない?
スクリプトより多少手間がかかるのは確かだけど、書く内容は似たようなもんだよ。
ついでに言うと、>>574みたいな人にとってもDLLとスクリプトは似たようなもん。どっちも書けない。

>574見たいな質問をする人にそんな回答は無意味。
いや、その部分は>>576に対する回答。
拡張性とPythonを結びつけるとそうなるって話。
そういう話が>>574に対しての回答にふさわしくないってのは、その下の段落で言及してる。
582名無しさん@お腹いっぱい。:2007/02/28(水) 22:43:31 ID:BeTPZsd30
それぞれの拡張の手段であるGiraffeスクリプトとPythonを比べると
直感的に言語として地位をすでに築いてるPythonが守備範囲が広い気がする。
583名無しさん@お腹いっぱい。:2007/03/01(木) 10:13:04 ID:i/1XhUSx0
スクリプトによる拡張と、単なるスクリプトの実行の違いなんて、
分からないほうが普通なんだよな。
APIやイベントなんて言葉、知ってるほうがおかしい。
584名無しさん@お腹いっぱい。:2007/03/01(木) 16:35:59 ID:TCUE8vUX0
拡張というより柔軟な設定変更といった方が良い気がする。
設定変更のために複雑なコードを書きたがる人はいない。

拡張性というと「なんでもスクリプトでやらなくては、それならいっそ汎用言語で…」
と使用目的がランチャーから脱線していく罠があるように見える。
585名無しさん@お腹いっぱい。:2007/03/02(金) 02:06:39 ID:13K56geq0
スクリプトでやるということはGiraffe.exeのプロセス上で動くってことだろう。
ランチャーと関連の薄いことをスクリプトでやりすぎるとクラッシュしたときがあ
ミンナミチヅレダヨ。

以下、Script2/settings/hotkey/...で使うとよさげ。
これもランチャー上で動かす意義はあんまりないが。

'カーソルの座標、ピクセルの色情報を表示'
include('number')
SRCCOPY: 0x00CC0020
pt: Windows_POINT.clone
User32.GetCursorPos(pt.ref)

dc: User32.GetDC(0)
memdc: Gdi32.CreateCompatibleDC(0)
bmpobj: Gdi32.CreateCompatibleBitmap(dc 1 1)
obj: Gdi32.SelectObject(memdc bmpobj)
Gdi32.BitBlt(memdc 0 0 1 1 dc pt.x pt.y SRCCOPY)
color: Gdi32.GetPixel(memdc 0 0)
Gdi32.SelectObject(dc obj)
Gdi32.DeleteObject(bmpobj)
Gdi32.DeleteDC(memdc)
User32.ReleaseDC(0 dc)

red: color.& 0xff
green: color.& 0xff00.>> 8
blue: color.& 0xff0000.>> 16
red16: number:convert(red 16)
green16: number:convert(green 16)
blue16: number:convert(blue 16)
Balloon.show("x, y = %1%,%2%\nr,g,b = %3%,%4%,%5%(#%6%%7%%8%)".format(pt.x pt.y red green blue red16 green16 blue16) 'GetCursorPos' IDI_INFORMATION pt.x pt.y)
586tJxNtu3t0:2007/03/02(金) 14:10:47 ID:hzi+25ld0
>>581
そういう意味では賛成できるが
現状を見るかぎり、やはり、Craftの方が拡張性は高いと思うよ。
例えば、少し上に出ているパスの中間一致とかはCraftなら出来る。
fenrirを使えと出ているけど、Craft使えば、fenrirもどきの動きはする。
587名無しさん@お腹いっぱい。:2007/03/02(金) 14:12:35 ID:hzi+25ld0
>>584
結局自分も、その考えから、使用頻度が高いものは拡張するより
始めからその機能が付いている方が速くていいなと気づいて
ランチャはそういうのにしている。
588名無しさん@お腹いっぱい。:2007/03/02(金) 16:27:21 ID:9YBckTds0
>>586
>そういう意味では賛成できるが
Pythonであることと拡張性に関係が無いこと、だよね?
その話しかしてないよ?
>現状を見るかぎり、やはり、Craftの方が拡張性は高いと思うよ。
Giraffe+のほうが高いなんて言ってないよ?
比較できるほどCraftのことを知らないから。
>例えば、少し上に出ているパスの中間一致とかはCraftなら出来る。
>fenrirを使えと出ているけど、Craft使えば、fenrirもどきの動きはする。
その次のレスにやり方出てるけど?

比較できるほど本当に両方のソフトのこと知ってる?
>>587を見ると、どっちも使ってないみたいだけど。
デフォルトで設定ダイアログから使えるスクリプトだけでこんなにあるよ?
http://www.ric.hi-ho.ne.jp/giraffe/giraffe/doc/settings.xml
さらにConfigや色の設定もあるし。
589584:2007/03/03(土) 03:18:40 ID:b2e6fgE80
>>587
なんでコード書くこと自体否定するような解釈をしたがるのか理解に苦しむ。
使う気がないのに何が目的にこのスレにいるの?

好みにうるさくなければbluewindをどうぞ。
見た目も大事。柔軟な設定をしたい方。Giraffeへようこそ。
中身が全て。コード読むのも書くのも任せろ。Craftがあります。

あなたと波長のあわないソフトのスレで議論しなくても良いんじゃないかな?
590名無しさん@お腹いっぱい。:2007/03/03(土) 03:34:49 ID:b2e6fgE80
あれ?>>587さんはコード書くことが全くない人か。
汎用言語使うよりもシンプルなコードで設定できるんだよ、と書いたつもりだったんだが。
書かない人にはGiraffeもPythonも複雑だろうから話がかみ合わないよ。

>>588さんもお互いスクリプトが書ける前提で議論してると見た。
591名無しさん@お腹いっぱい。:2007/03/03(土) 09:26:10 ID:MJ+oAb390
お前らなんか反応キモw
Giaffeの中の人も大変だ。まあ、作者かもしれないけど。
592名無しさん@お腹いっぱい。:2007/03/03(土) 11:33:38 ID:DtvAX4l80
General.CheckDataLinkTo
やるとかなり動作が遅くなる。
と説明してあるが4年前の箱でも変わらないぞ。
593名無しさん@お腹いっぱい。:2007/03/25(日) 22:06:40 ID:EKDC7Zha0
version 0.5.19.325
594名無しさん@お腹いっぱい。:2007/04/05(木) 01:37:37 ID:POAllTyg0
0.5.20.351
595名無しさん@お腹いっぱい。:2007/04/30(月) 21:19:55 ID:zFQ5TGBg0
どなたかお助けを。
アクティブ時と非アクティブ時に表示位置とフォントの大きさとウィンドウの高さを変えたくて次のようにしてみました。

InsertEvent(
(Activate)
(ChangeFontHeight(16)))

AddEvent(
(Activate)
(var(
(top) Window.GetPos($Giraffe:Handle()(top))
(left) Window.GetPos($Giraffe:Handle()(left))
(width) Window.GetPos($Giraffe:Handle()(width))
(height) Window.GetPos($Giraffe:Handle()(height)))
Window.SetPos($Giraffe:Handle()
$left(460) $top(300) $width() $height(36))))

続く
596名無しさん@お腹いっぱい。:2007/04/30(月) 21:21:04 ID:zFQ5TGBg0
続き

InsertEvent(
(Deactivate)
(ChangeFontHeight(14)))

AddEvent(
(Deactivate)
(var(
(top) Window.GetPos($Giraffe:Handle()(top))
(left) Window.GetPos($Giraffe:Handle()(left))
(width) Window.GetPos($Giraffe:Handle()(width))
(height) Window.GetPos($Giraffe:Handle()(height)))
Window.SetPos($Giraffe:Handle()
$left(18) $top(0) $width() $height(25))))

一応動いてるんですが、非アクティブ時のウィンドウの高さが
元の高さ(36)を強引に切り詰めた感じ(うまい言い方が見つからない)になってしまいます。
ダイアログで設定したときのようにきちんと(?)高さが縮んで欲しいのですがどうしたらいいでしょう。
597名無しさん@お腹いっぱい。:2007/05/01(火) 01:46:09 ID:JWGjQ8Gn0
ApplyConfig((size))をWindow.SetPos後に挿入
598名無しさん@お腹いっぱい。:2007/05/01(火) 02:33:56 ID:ktDZ6+5H0
>597
出来ました。ありがとうございます。
こうですね

AddEvent(
(Deactivate)
(var(
(top) Window.GetPos($Giraffe:Handle()(top))
(left) Window.GetPos($Giraffe:Handle()(left))
(width) Window.GetPos($Giraffe:Handle()(width))
(height) Window.GetPos($Giraffe:Handle()(height)))
Window.SetPos($Giraffe:Handle()
$left(18) $top(0) $width() $height(25))
ApplyConfig((size))))
599名無しさん@お腹いっぱい。:2007/06/10(日) 09:08:30 ID:CD9+6OpN0
おれ、すごい前のバージョンをつかってて
久しぶりにバージョナップしようと思ってこのスレ来てみたら・・・


いったい何に使えばいいんだ・・・確かランチャーだったよな・・・
600名無しさん@お腹いっぱい。:2007/06/10(日) 16:28:20 ID:s7J0Y5Vt0
これはランチャー以外にもやりたいことがある人向けのソフト
601名無しさん@お腹いっぱい。:2007/06/17(日) 13:59:04 ID:J/M25gDw0
Yet Another Alt+Tab Replacement
でリストを絞り込んで表示できるようになりませんか?
該当するwindowタイトル以外は表示しないようにしたい
602名無しさん@お腹いっぱい。:2007/06/20(水) 19:20:29 ID:Taa/xCSd0
>>601
作者に要望か
SwitchWindow.giraffeを見て考える
603名無しさん@お腹いっぱい。:2007/07/21(土) 17:10:19 ID:1Sn9lDH/P
foobarで音楽を再生中の場合に、これにジャケットとか表示できないかな〜?
604名無しさん@お腹いっぱい。:2007/07/26(木) 14:47:41 ID:RkEMorF60
アクティベイト、ディアクティベイトする度に
少しずつメモリ使用量が上昇していくんだけど、なんかバグっぽくないですか?そんなもん?

あとmigemo使用時のメモリ使用量が
他のmigemoを使うソフトウェアに比べて多すぎるんだけど
(migemo使用時と未使用時で20Mくらい違う)
どーにかする方法ないですか?
605名無しさん@お腹いっぱい。:2007/07/26(木) 18:27:21 ID:hB+u4MBS0
>メモリ使用量上昇
GCはそんなもん、だと思う。
ゆっくりと段階的に開放してるはず。

>migemoのメモリ使用量
自分の環境だとxyzzyと同じ。
siteinit.giraffeでオープンしてて、なおかつ設定ダイアログでもやってて二倍になってるとか。
"Migemo.close"でF1して減るメモリ使用量を確認してみるといいかも。
606名無しさん@お腹いっぱい。:2007/08/13(月) 22:41:40 ID:UEBbRvWu0
定期あげ

0.5.29.460
607名無しさん@お腹いっぱい。:2007/08/17(金) 06:25:13 ID:jCkN+0Gd0
デスクトップと解像度の違うフルスクリーンのゲームすると、Giraffeの位置が変わっちゃって
その後Girffe終了するときに位置を保存したくないんですがどうすればいいですか?
フルスクリーン後の位置が変わってしまうのはどうしようもないと思うんですが、
Giraffe.iniをRead-onlyにすると思い通りになりましたが、何かもっとスマートな方法があれば教えてください。
608名無しさん@お腹いっぱい。:2007/08/17(金) 07:38:50 ID:CXcmdggy0
siteinit.giraffeに、
SetConfig('Unload')
で、終了時の設定保存を、
SetConfig('OnMove_MainWnd' [true])
で、ウインドウが動いたときのConfig更新を殺せる。
609名無しさん@お腹いっぱい。:2007/08/17(金) 08:33:09 ID:jCkN+0Gd0
>>608
ありがとう。まったく違うとこさがしてた。
結構前から気になってたからすごい助かりました。
610名無しさん@お腹いっぱい。:2007/08/17(金) 08:51:21 ID:CXcmdggy0
あ、SetConfigじゃなくてSetEventだ。
611名無しさん@お腹いっぱい。:2007/08/17(金) 09:23:49 ID:jCkN+0Gd0
>>610
aaしっかりEventに変換して記入してたw ありがとう
612名無しさん@お腹いっぱい。:2007/09/02(日) 20:57:02 ID:DZiHz7fG0
作者様のblog中に、スクリプトの試行には、コードをコピーして、giraffeに
get-cb.evalと入力し、F1を押すとありますが、特に何も起きないようです。
何が間違っているのでしょうか?
おそらくget-cbのcbはクリップボードの意味と思われるので、コピーしてから
クリップボードに保存されたコードをevalする、という意味かと思うので、
操作的には間違いないように思うのですが。
613名無しさん@お腹いっぱい。
何も起きてないように見える内容のものを評価してるだけじゃないかと。
get-cb.flushでF1押して、クリップボードの中身とF1が有効かどうかの確認をしてみるといいかも。