[過去ログ] GTK+プログラミング (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
94
(2): 2008/10/20(月)00:34 ID:upSqhUNX(1/2) AAS
>>93
"expose-event"シグナルかな、rubyであるのかは分からないけど
95
(1): 2008/10/20(月)02:08 ID:RwkYMDWR(1) AAS
>>90
昔SunのJDKのソースを読んでいたことがあるんだが、当時のJDKの実装では、
1) 使われているwindow managerを特定
2) 有名(あるいは標準的と言うべき)なwindow managerであれば、
  それぞれのwm固有の枠部分の装飾手段(Windowの重なり具合など)
  の知識を基に、今有るウィンドウの親を手繰ってwm由来部分を調査し
  wm由来部分のサイズを決定
3) 知らないwmは非サポートってことで適当に……
なんてことをしていた

ここ数年で提案されてない限り、良い方法はないと思われ
96
(2): 2008/10/20(月)05:08 ID:mB1jem32(1) AAS
実際にmaximizeするしか知る方法はないだろう?
強引というならそれをやる前に知ろうとする方が強引のような。
それにGTK+はデフォでdouble-bufferedだから何も考えなくてもちらつきしない。
97
(1): 2008/10/20(月)07:37 ID:DDLH0hrK(1) AAS
>>96
> 実際にmaximizeするしか知る方法はないだろう?
> 強引というならそれをやる前に知ろうとする方が強引のような。

同意。それ以外のやり方してるソフトなんてないのでは?
98
(2): 90 2008/10/20(月)21:27 ID:s5JT3EOQ(2/2) AAS
レスありがとうございます。

>>94
ごめんなさい、"expose-event"シグナルはrubyでもあるのですが、94さんの意図が
よく理解できませんでした。

>>95
詳しい情報ありがとうございます。
Sunの人でさえ、そういう実装をされているくらいだから、簡単な方法は無さそうですね。

>>96,97
そんなことを簡単に知ろうという方が間違いですかね。
ちなみに、ちらつくと書いたのは、実際maximizeしてからサイズを取ってくるとすると
省4
99
(1): 94 2008/10/20(月)23:02 ID:upSqhUNX(2/2) AAS
>>98
すみません、>>90さんの要求を正しく理解していませんでした。

最大化できるサイズを求めるというのではなくて、あくまでアプリ側で必要な
サイズ(GtkRequisition)と、実際に獲得できたサイズ(GtkAllocation)
で実装するのはいかかでしょうか?
100
(1): 2008/10/21(火)02:53 ID:5A1QOuH6(1) AAS
>>98
> まだGTKのシグナルがどんなタイミングで発行されるのか、よく理解できていないので
> 誤解しているかも知れませんが。

どう考えてもこれがガンだろ。呆れた。
101: 90 2008/10/21(火)23:21 ID:rjo5j4+k(1) AAS
>>99
色々、考えて下さり、ありがとうございます。

>>100
まあ、そう言わんで下さい。

皆さんに教えて頂いたことをヒントに、時間が取れるときに
もっと勉強しようと思います。
レスをしてくれた方々、ありがとうございました。
102
(1): 2008/10/22(水)01:14 ID:1Hw6zT+4(1) AAS
複数のファイルをユーザーに選択させ、そのファイルのパスをリストなり
配列なりで得たいと考えています。

調べてみたところ GtkFileChooserDialog は単一ファイル|ディレクトリ
にしか対応していないようなのですが、上記のような機能は自前で実装す
るしかないのでしょうか。
103
(1): 2008/10/22(水)01:40 ID:TbaNGOlU(1) AAS
>>102
gtk_file_chooser_set_select_multiple()
gtk_file_chooser_get_filenames()
の組み合わせじゃ駄目なのかい?
104: 2008/10/22(水)10:25 ID:ApulL45s(1) AAS
>>103
ありがとうございます。完璧に私の調査不足でした。
教えていただいた方法でいけそうです。
105: 2008/10/25(土)10:14 ID:dTl3thQm(1) AAS
glade3の最新版にしたらいつの間にかGtkBuilder形式でも出力できるようになってたよ。
さすがにウィンドウ別に分けて出力はしてくれないけど。
106: 2008/10/25(土)15:02 ID:AakIN1gI(1/2) AAS
PyGTKでランチャー作ってます
ホットキーから呼び出すにはどうすれば
やはりgconf弄らないと無理なのでしょうか。
107
(1): 2008/10/25(土)17:13 ID:zQTl7fNi(1/2) AAS
どのウィンドウがフォーカスされている状態でもキー操作で呼び出したいってこと?
そりゃXならウィンドウマネージャの仕事だ。
108
(2): 2008/10/25(土)17:58 ID:AakIN1gI(2/2) AAS
>>107
そうです
どんな操作してるときもホットキーから呼び出したいので
PyGTK以外の言語は全く解らんのですがXLibあたりですかね
これさえ備えられればほぼ完成なんです
ありがとうございました。もう少し調べてみます
109
(1): 2008/10/25(土)18:06 ID:e1TliF6D(1) AAS
>>108
それ俺も知りたい。分かったら教えてくれ。
110
(1): 2008/10/25(土)18:20 ID:zQTl7fNi(2/2) AAS
>>108
ウィンドウマネージャにショートカットで任意のプログラムを呼び出すような
親切機能がついていればできる、なければ基本的にできない。
111
(1): 2008/10/25(土)21:12 ID:UmyLPmdd(1) AAS
こんなんでどうよ

#!/usr/bin/python
import gtk, gobject
import Xlib, Xlib.display, Xlib.X, Xlib.XK

win = gtk.Window()
win.connect('destroy', gtk.main_quit)
win.show_all()

display = Xlib.display.Display()
root = display.screen().root 
root.grab_key(
省12
112
(2): 2008/10/26(日)00:16 ID:cuuCZE3q(1/2) AAS
>>109-110
自分が得た情報はもちろん共有しますよ
ウインドウマネージャってubuntuだとcompizでしたっけ?
WindowsだとpyHookなんてのがあって楽そうなんですが
>>111
走らせてみました
小さなウインドウは出ましたが、こちらではキーに反応しません
a, <shift>a, <ctrl>aはダメでした。他のキーですか?

個人的にはこの辺が怪しいと思っていたのですが
外部リンク[py]:faq.pygtk.org
省4
113
(1): 2008/10/26(日)00:20 ID:dWWl1VvV(1) AAS
>112
xbindkeysのソースが参考になるかもね。
でもgdkとgtkだけで済ませたい気もする。
1-
あと 889 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.015s