Linux(特有)のプログラミングに関する話題です
前スレ
http://pc11.2ch.net/test/read.cgi/linux/1118024349/
Linuxプログラミング 2
2010/02/13(土) 14:53:15ID:lCBgsQHj
2013/10/04(金) 17:48:45.40ID:tgM5eXKg
>>333
youがやりなよ
youがやりなよ
335331
2013/10/04(金) 19:25:55.56ID:TUkUOKBk lubuntu 12.04 x86版
gcc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2
aptで
libgdbm-devel libssl-devel libncursesw5-develを追加
ndbmうんたらでエラーなのでMakefileのgdbmのコメント外してコンパイル完了
gcc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2
aptで
libgdbm-devel libssl-devel libncursesw5-develを追加
ndbmうんたらでエラーなのでMakefileのgdbmのコメント外してコンパイル完了
336331
2013/10/04(金) 19:30:20.82ID:TUkUOKBk 失礼
lubuntu 12.04 x86版
gcc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2
aptで
libgdbm-devel libssl-devel libncursesw5-develを追加
ndbmうんたらでエラーなのでMakefileのgdbmのコメント外してコンパイル完了
そのままだとコアダンプしたけど
gccの-Oを外すか-O0にしたら動作したので最適化バグか
PC等→linux板からこのスレ確認。
その他
・vimのswpファイルが混入している
・/bin/shがbashじゃないと==は動かない。=ならおk
ほとんどプログラム固有の問題ではないので
スレの内容的にもこっちに書いておいた
lubuntu 12.04 x86版
gcc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2
aptで
libgdbm-devel libssl-devel libncursesw5-develを追加
ndbmうんたらでエラーなのでMakefileのgdbmのコメント外してコンパイル完了
そのままだとコアダンプしたけど
gccの-Oを外すか-O0にしたら動作したので最適化バグか
PC等→linux板からこのスレ確認。
その他
・vimのswpファイルが混入している
・/bin/shがbashじゃないと==は動かない。=ならおk
ほとんどプログラム固有の問題ではないので
スレの内容的にもこっちに書いておいた
337331
2013/10/04(金) 19:36:05.69ID:TUkUOKBk パッケージと言わずとも.configureがあったほうがいいわな
まあ現時点の規模では微妙だが
2chブラウザとしては
CUIだからってサクサクでもなんともねえしかえって不都合が増える
このスレ探してみるだけでかなりの労力を使った
CUIが好みならnavi2chとかのほうが便利だし
学習用でのみ許される
まあ現時点の規模では微妙だが
2chブラウザとしては
CUIだからってサクサクでもなんともねえしかえって不都合が増える
このスレ探してみるだけでかなりの労力を使った
CUIが好みならnavi2chとかのほうが便利だし
学習用でのみ許される
2013/10/04(金) 22:07:45.20ID:LVAH4n2H
とりあえず使ってみた。Fedora19ならgdbm-devel openssl-devel
ncurses-devel を入れて、ビルドも警告一つ出るけどOK。実行も可能。
スレの最後でjすると、少し戻るのが違和感あり。
configureするなら、この規模だとautoconfだけで十分かな?
$ autoscan
$ mv configure.scan configure.ac
$ mv Makefile Makefile.in
$ autoreconf
するだけの簡単なお仕事。make installはできないけどね。
ncurses-devel を入れて、ビルドも警告一つ出るけどOK。実行も可能。
スレの最後でjすると、少し戻るのが違和感あり。
configureするなら、この規模だとautoconfだけで十分かな?
$ autoscan
$ mv configure.scan configure.ac
$ mv Makefile Makefile.in
$ autoreconf
するだけの簡単なお仕事。make installはできないけどね。
2013/10/04(金) 22:13:21.08ID:QQCyBl3O
>333
パッケージ化はやりたいですね
だけど、今のところ普通の機能で無いものが多いのでそこまで辿り着けそうに無いです
>334
本当に、協力してくれる人絶賛募集中です。現在SSLに苦戦中
>331
本当に色々検証して頂いてありがとうございました。
swpファイルとシェルは修正します。最適化オプションは外さないで済めば
その方がいいんですが、外すしか無いですね...
現状微妙なのは仰るとおりです。navi2chも見てみましたが高機能そうです
ただemacs使ったことない(恥)
linuxの2chブラウザーというとJDしか使って無かったです。
とはいえせっかく作り始めたので納得のいくところまでは完成させます
いまのところ絶対に入れたいのは
1.書込(多分●も対応)
2.読込履歴
3.お気に入り(板、スレッド)
漠然と入れたいと思っている物
しおり(レス番合メモ)、自レス判定
正規表現検索、スレッドの並べ替え
yum apt対応
とにかく、レス頂いてありがとうございました
パッケージ化はやりたいですね
だけど、今のところ普通の機能で無いものが多いのでそこまで辿り着けそうに無いです
>334
本当に、協力してくれる人絶賛募集中です。現在SSLに苦戦中
>331
本当に色々検証して頂いてありがとうございました。
swpファイルとシェルは修正します。最適化オプションは外さないで済めば
その方がいいんですが、外すしか無いですね...
現状微妙なのは仰るとおりです。navi2chも見てみましたが高機能そうです
ただemacs使ったことない(恥)
linuxの2chブラウザーというとJDしか使って無かったです。
とはいえせっかく作り始めたので納得のいくところまでは完成させます
いまのところ絶対に入れたいのは
1.書込(多分●も対応)
2.読込履歴
3.お気に入り(板、スレッド)
漠然と入れたいと思っている物
しおり(レス番合メモ)、自レス判定
正規表現検索、スレッドの並べ替え
yum apt対応
とにかく、レス頂いてありがとうございました
2013/10/04(金) 22:17:34.69ID:QQCyBl3O
>338
ありがとうございます
スレ最後の位置は確かにおかしいですね。ただちょっと
うまく直せないでいます
autoconfやってみます(使ったことなかった)
ありがとうございます
スレ最後の位置は確かにおかしいですね。ただちょっと
うまく直せないでいます
autoconfやってみます(使ったことなかった)
2013/10/04(金) 23:02:07.33ID:ul3sk8mh
Debian Wheezy (64bit)
libgdbm-dev,libssl-dev,libncursesw5-dev
をインストールした。
>>336と同様のエラーが出るので、
(src/inc/utils/db.h:5 ndbm.h が存在しない)
#Debian系にはndbm.hがないみたい?
Makefileの7行目をコメントアウトしてコンパイルした。
こちらでは特に警告は出なかった。
bキーで40レス近く戻るとそれ以上戻れなくなるっぽい。
おま環だったらすまん。
libgdbm-dev,libssl-dev,libncursesw5-dev
をインストールした。
>>336と同様のエラーが出るので、
(src/inc/utils/db.h:5 ndbm.h が存在しない)
#Debian系にはndbm.hがないみたい?
Makefileの7行目をコメントアウトしてコンパイルした。
こちらでは特に警告は出なかった。
bキーで40レス近く戻るとそれ以上戻れなくなるっぽい。
おま環だったらすまん。
342341
2013/10/04(金) 23:08:46.81ID:ul3sk8mh 訂正
bキーでどのくらい戻れるかはスレによって違う。
bキーでどのくらい戻れるかはスレによって違う。
2013/10/04(金) 23:50:03.15ID:QQCyBl3O
>341
情報ありがとうございます。
ヘッダーはautoconf使うとエラーにならなくなるのかもしれません
いまちょっと調べています
bキーに関してちょっとこちらで現象が再現できませんでした
現象の起きるスレがわかると解決できるかもしれません
そろそろスレを占有しすぎかもしれないでの
>332の掲示板やブログのコメント欄もよかったら使って下さい
情報ありがとうございます。
ヘッダーはautoconf使うとエラーにならなくなるのかもしれません
いまちょっと調べています
bキーに関してちょっとこちらで現象が再現できませんでした
現象の起きるスレがわかると解決できるかもしれません
そろそろスレを占有しすぎかもしれないでの
>332の掲示板やブログのコメント欄もよかったら使って下さい
344341
2013/10/05(土) 00:04:28.55ID:Tmv5/tyS >>343
このスレやここのPuppyLinuxスレ他多数で確認。
fキー押しっぱなしで最後までスクロールしてから
bキー押しっぱなしで戻ると再現出来るかもしれません。
しないようであればおま環ということでスルーしておいてください。
ここに書くのはとりあえずここまでにします。
このスレやここのPuppyLinuxスレ他多数で確認。
fキー押しっぱなしで最後までスクロールしてから
bキー押しっぱなしで戻ると再現出来るかもしれません。
しないようであればおま環ということでスルーしておいてください。
ここに書くのはとりあえずここまでにします。
2013/10/05(土) 00:15:59.02ID:GTYJN2J8
>344
再現しました。画面の大きさによって起きるみたいです
ありがとうございました。
再現しました。画面の大きさによって起きるみたいです
ありがとうございました。
346338
2013/10/05(土) 23:13:26.39ID:0YqdOiOx >>340
まじめにやるなら、automakeも使ったほうが楽ですよ。
この程度の規模ならディレクトリ分けずに、
bin_PROGRAMS = ntch
ntch_SOURCES = hoge.h hoge.c .....
って書いたMakefile.amを作るだけですから。
そうするとMakefileも自動で作ってくれますし。
規模が大きくなると、いろいろ手間が増えます。。。
まじめにやるなら、automakeも使ったほうが楽ですよ。
この程度の規模ならディレクトリ分けずに、
bin_PROGRAMS = ntch
ntch_SOURCES = hoge.h hoge.c .....
って書いたMakefile.amを作るだけですから。
そうするとMakefileも自動で作ってくれますし。
規模が大きくなると、いろいろ手間が増えます。。。
347340
2013/10/06(日) 09:27:15.90ID:XiGJQ0Up ありがとうございます。参考にします
348login:Penguin
2013/12/14(土) 18:12:35.03ID:ymJW8grE 使用言語:C言語
目的:キーボード入力を読み取る(キーのプッシュ・リリースも読み取りできるように)
/dev 以下に存在するデバイスから、キーボードデバイスを検索して int fd = fopen() する方法がわかりません。
(キーボードデバイスを探す為の具体的な方法がわかりません)
これを判定して検索する為の便利な関数や、定形的な方法はあるのでしょうか。
目的:キーボード入力を読み取る(キーのプッシュ・リリースも読み取りできるように)
/dev 以下に存在するデバイスから、キーボードデバイスを検索して int fd = fopen() する方法がわかりません。
(キーボードデバイスを探す為の具体的な方法がわかりません)
これを判定して検索する為の便利な関数や、定形的な方法はあるのでしょうか。
349348
2013/12/14(土) 19:10:49.70ID:ymJW8grE >>329
Debian7.2(32bit版)上でビルドできて動作もしました。
別途必要だったライブラリーは以下のコマンドで入れました。
apt-get install libncursesw5-dev libssl-dev libgdbm-dev libsqlite3-dev
備考:
Debian7.2だと、ncurses.h が /usr/include/ 直下に置かれていたので、ビルド時にエラーとなったので、(ソースでは<ncursesw/ncurses.h>なので)
/usr/include/ncursesw/ を作成し、そこへ ncurses.h をコピーして解決しました。
Debian7.2(32bit版)上でビルドできて動作もしました。
別途必要だったライブラリーは以下のコマンドで入れました。
apt-get install libncursesw5-dev libssl-dev libgdbm-dev libsqlite3-dev
備考:
Debian7.2だと、ncurses.h が /usr/include/ 直下に置かれていたので、ビルド時にエラーとなったので、(ソースでは<ncursesw/ncurses.h>なので)
/usr/include/ncursesw/ を作成し、そこへ ncurses.h をコピーして解決しました。
350348
2013/12/14(土) 19:30:06.72ID:ymJW8grE 私も以前CUI上で2ちゃん見るための簡単なツールを作って使ってましたが、実態としてはwgetのラッパに過ぎないおもちゃですw
ttps://github.com/takeutch-kemeco/ls2ch
一方、ntchは作りが本格的なので(ちゃんとsqliteとか使ってるし)、
今後CUIで2ちゃん見たくなった際はこちらを使わせてもらおうと思いました。
ttps://github.com/takeutch-kemeco/ls2ch
一方、ntchは作りが本格的なので(ちゃんとsqliteとか使ってるし)、
今後CUIで2ちゃん見たくなった際はこちらを使わせてもらおうと思いました。
2013/12/14(土) 19:46:45.18ID:3qf0E3TD
navi2chでええやん
2013/12/14(土) 22:28:59.61ID:shkdSPEZ
rawモードじゃダメなんかい?
2013/12/14(土) 22:48:29.48ID:1JjcODpJ
>349
使って頂いてありがとうございます。設定修正してみます。
(環境関係の設定が未だ良くわかってませんが...)
ls2ch使ってみました。
flexとbisonの追加インストールで問題なくビルド完了しました(Fedora19)
最初ちょっと使い方がわからなくて戸惑いましたが、
コマンドのパラメーターで現在の閲覧状態をコントロールしてるんですね
これならシェルからsed awkで操作するようなスクリプトも書けますね
UNIX系はこう言うスタイルのほうが流儀にあってるのかなぁ
autoXXX系のツールを使いこなしてらっしゃる様でうらやましいです。
autoconfの公式のpdfを読んでみましたが、最初の方のページだけ読んで放置状態です
(英語超苦手。でも勉強したい)自分に必要なのはいきなり細かい説明じゃなくて
オライリーの本みたいに体系的に解説してくれる本なんだけど...
使って頂いてありがとうございます。設定修正してみます。
(環境関係の設定が未だ良くわかってませんが...)
ls2ch使ってみました。
flexとbisonの追加インストールで問題なくビルド完了しました(Fedora19)
最初ちょっと使い方がわからなくて戸惑いましたが、
コマンドのパラメーターで現在の閲覧状態をコントロールしてるんですね
これならシェルからsed awkで操作するようなスクリプトも書けますね
UNIX系はこう言うスタイルのほうが流儀にあってるのかなぁ
autoXXX系のツールを使いこなしてらっしゃる様でうらやましいです。
autoconfの公式のpdfを読んでみましたが、最初の方のページだけ読んで放置状態です
(英語超苦手。でも勉強したい)自分に必要なのはいきなり細かい説明じゃなくて
オライリーの本みたいに体系的に解説してくれる本なんだけど...
2013/12/14(土) 22:51:46.65ID:1JjcODpJ
353 = 329です
あと>348は全くわかりません(期待されてないと思いますが)
あと>348は全くわかりません(期待されてないと思いますが)
2013/12/15(日) 02:09:41.00ID:YZbs59Oi
>>348
<sys/ioctl.h> ioctl()がデバイス関連
read(),write()などの統一されたインターフェースから、
はみ出した部分
Windowsみたいに、GUIプログラミングで、
キーボードイベントを取ればよいのでは?
GUIプログラミングしてないの?
<sys/ioctl.h> ioctl()がデバイス関連
read(),write()などの統一されたインターフェースから、
はみ出した部分
Windowsみたいに、GUIプログラミングで、
キーボードイベントを取ればよいのでは?
GUIプログラミングしてないの?
2013/12/16(月) 16:18:47.60ID:4ykaDdnf
357348
2013/12/17(火) 21:23:03.83ID:M2zWQh5T >>353
autotoolsは機能が多すぎるので、どの方法がスマートなのかを私は知りません。私はLIBS=pkg-configのような泥臭い方法をよく行います。
ntch:
pullしたらdisp.hまわりが更新されてたので再びビルドテストしました。以下の全てで修正無しにビルド可能でした:
Debian7.3(x86, 32bit)
Ubuntu13.10(x86, 32bit)
Arch(x86_64, 64bit)
CLFS(x86_64, 64bit)
Debian7.3以外の環境でも起きるかはテストしていませんが、:w による vi 起動で書き込み後に ntch へ戻った時点で、カーソルキーが効かなくなるバグに気づきました。
X11上でWMがxmonadの環境でのテストなので、少し特殊ですが。gnome-terminal, xterm どちらでも同様に書き込み後にカーソルキーが効かなくなりました。
(なお、c,j,k
autotoolsは機能が多すぎるので、どの方法がスマートなのかを私は知りません。私はLIBS=pkg-configのような泥臭い方法をよく行います。
ntch:
pullしたらdisp.hまわりが更新されてたので再びビルドテストしました。以下の全てで修正無しにビルド可能でした:
Debian7.3(x86, 32bit)
Ubuntu13.10(x86, 32bit)
Arch(x86_64, 64bit)
CLFS(x86_64, 64bit)
Debian7.3以外の環境でも起きるかはテストしていませんが、:w による vi 起動で書き込み後に ntch へ戻った時点で、カーソルキーが効かなくなるバグに気づきました。
X11上でWMがxmonadの環境でのテストなので、少し特殊ですが。gnome-terminal, xterm どちらでも同様に書き込み後にカーソルキーが効かなくなりました。
(なお、c,j,k
358348
2013/12/17(火) 21:27:37.72ID:M2zWQh5T ntch:
(なお、c,j,k,スペース を用いての移動には問題は起きてません。認識しなくなるのはカーソルキーだけのようです)
また、非X11上ではこの問題は起きないようです。(生ターミナル上のfbterm上でテストした場合はカーソルの問題は生じませんでした)
もしかしたらX11 xmonad環境側の問題かもしれないので、同様の報告が他に無ければ気にしなくてもいい問題だと思います。(c,j,k,スペース のみでも使うことはできるので)
(なお、c,j,k,スペース を用いての移動には問題は起きてません。認識しなくなるのはカーソルキーだけのようです)
また、非X11上ではこの問題は起きないようです。(生ターミナル上のfbterm上でテストした場合はカーソルの問題は生じませんでした)
もしかしたらX11 xmonad環境側の問題かもしれないので、同様の報告が他に無ければ気にしなくてもいい問題だと思います。(c,j,k,スペース のみでも使うことはできるので)
359353
2013/12/17(火) 22:49:14.16ID:MdviSGDM >357
沢山試して頂いてありがとうございます。
こちらでもFedora+Gnome3 , Ubuntu+Unityで試したところ
同様な現象が確認出来ました。
もしかしたら初期化したkeypadのライブラリーがviを呼び出すことでリセット
されてしまっているのかもしれません
少しテストしてみます。
沢山試して頂いてありがとうございます。
こちらでもFedora+Gnome3 , Ubuntu+Unityで試したところ
同様な現象が確認出来ました。
もしかしたら初期化したkeypadのライブラリーがviを呼び出すことでリセット
されてしまっているのかもしれません
少しテストしてみます。
360login:Penguin
2013/12/19(木) 01:26:14.33ID:JHCT9t+S IDEはアンジュタかな?
361355
2013/12/19(木) 04:10:22.72ID:hl3mvVHB362348
2013/12/22(日) 00:22:12.53ID:Kx6UaPdn その方法ではキーボードデバイスの正確なキー情報を得るには不十分なのではないでしょうか。
なぜなら、この方法では左右Shift,Alt,Ctrl等の違いを判別できそうにありません。
また、キーを放した際の情報も得られそうにありません。
また、Cならば普通はこれはtermiosで行なうことだと思います。
そしてtermiosだけではキーボードデバイスの正確なキー情報を得るには不十分です。
なぜなら、この方法では左右Shift,Alt,Ctrl等の違いを判別できそうにありません。
また、キーを放した際の情報も得られそうにありません。
また、Cならば普通はこれはtermiosで行なうことだと思います。
そしてtermiosだけではキーボードデバイスの正確なキー情報を得るには不十分です。
363348
2013/12/22(日) 01:01:31.85ID:Kx6UaPdn 行ないたいことは、それが本当にキーボードデバイスなのかを判断したいということです。
キーボードデバイスを直接読む為に/dev/input以下evdev)のデバイスを使用することを考えてますが、
これらのどれが本当にキーボードデバイスなのかを知る為の方法として、どのような方法で皆は行なっているのかを聞いてみたい。ということです。
(もし自分が知らない簡単な方法があるならば、それを使わないのは損なので)
自分が現状考えてる判別方法としてはA,Bの2つあります:
A: evdev以下の全てのデバイスに関して、ioctlでEV_CNTとEC_KEYで確認した上で、
かつ、一般的なキーボードデバイスに備わってると想定できるキー範囲 (KEY_RESERVED ... KEY_MIN_INTERESTING) にて、
そのビットが立っているならキーボードデバイスのはずだ、というヒューリスティックな判別方法。
これはlibxkbcommonのtestソースで用いられていた方法です。
B: udevによって /dev/input/{by-id,by-path} が作られる前提で、
bi-* 以下のキーボードデバイスはサフィックスとして、(どうやら)-kbd が付くルール(のような雰囲気)なので、
単純にそのような名前のデバイスがキーボードデバイスのはずである。という判別方法。
この方法は単純で簡単なので良いのですが、これは by-* に依存してます。
by-* を作るかはudev設定に依存する(らしい)ので(最近の環境なら問題無いはずですが)動かない環境もありうるという懸念。
Aならば by-* には依存しないので、Bよりも多くの環境で動作するはずですが、方法が泥臭すぎて疲れます。
そこでもしCがあるなら聞いてみたい。ということでした。
キーボードデバイスを直接読む為に/dev/input以下evdev)のデバイスを使用することを考えてますが、
これらのどれが本当にキーボードデバイスなのかを知る為の方法として、どのような方法で皆は行なっているのかを聞いてみたい。ということです。
(もし自分が知らない簡単な方法があるならば、それを使わないのは損なので)
自分が現状考えてる判別方法としてはA,Bの2つあります:
A: evdev以下の全てのデバイスに関して、ioctlでEV_CNTとEC_KEYで確認した上で、
かつ、一般的なキーボードデバイスに備わってると想定できるキー範囲 (KEY_RESERVED ... KEY_MIN_INTERESTING) にて、
そのビットが立っているならキーボードデバイスのはずだ、というヒューリスティックな判別方法。
これはlibxkbcommonのtestソースで用いられていた方法です。
B: udevによって /dev/input/{by-id,by-path} が作られる前提で、
bi-* 以下のキーボードデバイスはサフィックスとして、(どうやら)-kbd が付くルール(のような雰囲気)なので、
単純にそのような名前のデバイスがキーボードデバイスのはずである。という判別方法。
この方法は単純で簡単なので良いのですが、これは by-* に依存してます。
by-* を作るかはudev設定に依存する(らしい)ので(最近の環境なら問題無いはずですが)動かない環境もありうるという懸念。
Aならば by-* には依存しないので、Bよりも多くの環境で動作するはずですが、方法が泥臭すぎて疲れます。
そこでもしCがあるなら聞いてみたい。ということでした。
364355
2013/12/23(月) 15:38:35.71ID:YknPLdXL このあたりの、/proc/ファイルから、
キーボード情報を取れないか?
IRQ(Interrupt Request) 割り込み要求
割り込みコントローラ
cat /proc/interrupts
I/Oアドレス、ポート
cat /proc/ioports
DMA(Direct Memory Addressing)
cat /proc/dma
PCIバス、PCIデバイス
lspci
キーボード情報を取れないか?
IRQ(Interrupt Request) 割り込み要求
割り込みコントローラ
cat /proc/interrupts
I/Oアドレス、ポート
cat /proc/ioports
DMA(Direct Memory Addressing)
cat /proc/dma
PCIバス、PCIデバイス
lspci
365355
2013/12/23(月) 16:49:51.97ID:YknPLdXL Linuxカーネル解析入門、平田豊、2011
という本によると、PCIの仕様書は、
PCI SIGという団体が管理していて、有料らしい
PCIコンフィグレーション空間に、
デバイスの種類や機能を示す、クラスコードというのがある
基本クラス[base class:0Bh]、サブクラス[sub class:0Ah]、
プログラミング・インターフェースクラス[programing interface class:09h]
基本クラスで関係ありそうなのは、
00h クラスコードが定義される前の、古いデバイス
09h Input devices
この09hで、サブクラスの値で、マウスとKBが判別できるかも?
これら以外は、udev関連かな?
という本によると、PCIの仕様書は、
PCI SIGという団体が管理していて、有料らしい
PCIコンフィグレーション空間に、
デバイスの種類や機能を示す、クラスコードというのがある
基本クラス[base class:0Bh]、サブクラス[sub class:0Ah]、
プログラミング・インターフェースクラス[programing interface class:09h]
基本クラスで関係ありそうなのは、
00h クラスコードが定義される前の、古いデバイス
09h Input devices
この09hで、サブクラスの値で、マウスとKBが判別できるかも?
これら以外は、udev関連かな?
2013/12/23(月) 18:10:31.51ID:Y4TzeW73
>362
> 左右Shift,Alt,Ctrl等の違いを判別できそうにありません。
思い込みで書くなよ... つか、xev のソースでも見れば?
> 左右Shift,Alt,Ctrl等の違いを判別できそうにありません。
思い込みで書くなよ... つか、xev のソースでも見れば?
2013/12/23(月) 23:46:39.61ID:PacU4lkG
2chブラウザー(ntch)に同期機能を付けてみました
https://sourceforge.jp/projects/ntch/releases/60136
以下で実験用のサーバーを稼働していますので、良かったら試してみて下さい。
https://neetchan.securesite.jp/account/create_user.php
https://sourceforge.jp/projects/ntch/releases/60136
以下で実験用のサーバーを稼働していますので、良かったら試してみて下さい。
https://neetchan.securesite.jp/account/create_user.php
2013/12/24(火) 22:37:13.70ID:idpf8xZq
全板検索からお気に入りに追加できないです
2013/12/24(火) 23:38:40.86ID:Wc9nyaLb
>>368
ありがとうございます
機能リクエストチケットというのを登録してみました
https://sourceforge.jp/ticket/browse.php?group_id=8794&tid=32665
ありがとうございます
機能リクエストチケットというのを登録してみました
https://sourceforge.jp/ticket/browse.php?group_id=8794&tid=32665
370348
2013/12/28(土) 09:05:56.70ID:58qchT2I >>367
ページの読み込み中に、進むや戻るの操作を素早く行うと(ガチャ操作すると)、内部的に現在位置的な値の整合性がおかしくなる場合があるようです。
ページの読み込み中に、進むや戻るの操作を素早く行うと(ガチャ操作すると)、内部的に現在位置的な値の整合性がおかしくなる場合があるようです。
371348
2013/12/28(土) 11:58:36.76ID:58qchT2I 378が起きないように修正する、バンドエイド的な修正パッチ書きました。
https://gist.github.com/takeutch-kemeco/8155579
これでとりあえずれレバガチャしても大丈夫なようにはなりますが、
ソース全体をまじめに検証したわけではないので、(ただの適当なバンドエイドなので)
これによってnt_read_thread()等の動作に変な副作用が生じてしまうか等は、なにも調べてないです。
https://gist.github.com/takeutch-kemeco/8155579
これでとりあえずれレバガチャしても大丈夫なようにはなりますが、
ソース全体をまじめに検証したわけではないので、(ただの適当なバンドエイドなので)
これによってnt_read_thread()等の動作に変な副作用が生じてしまうか等は、なにも調べてないです。
2013/12/28(土) 12:57:47.63ID:AeSXRH7E
>371
ありがとうございます
2,3日中にアップデートするのでパッチ適用させていただきます
多分、今の進む操作は、スレタイの選択キーと同じなので
この時に(おそらく連続ネットワーク接続で)2chから弾かれて
エラーの場合におかしくなってるんですね。
ただ、この時に以前に開いていたレス一覧の情報が残ってると
良いんですが無い場合に問題があるかもしれないので
レス一覧の画面情報が初期化されているか確認する処理を
追加すると思います。多分 rwinp->data の非NULLチェックを
入れれば大丈夫かな?
でも根本的には「進む」と「選択」は機能を分けた方が良いのかも
しれませんね。
ところで、パッチ提供してくれた人のクレジットとかって
どうやって書くのが適当なんでしょう?
ありがとうございます
2,3日中にアップデートするのでパッチ適用させていただきます
多分、今の進む操作は、スレタイの選択キーと同じなので
この時に(おそらく連続ネットワーク接続で)2chから弾かれて
エラーの場合におかしくなってるんですね。
ただ、この時に以前に開いていたレス一覧の情報が残ってると
良いんですが無い場合に問題があるかもしれないので
レス一覧の画面情報が初期化されているか確認する処理を
追加すると思います。多分 rwinp->data の非NULLチェックを
入れれば大丈夫かな?
でも根本的には「進む」と「選択」は機能を分けた方が良いのかも
しれませんね。
ところで、パッチ提供してくれた人のクレジットとかって
どうやって書くのが適当なんでしょう?
373348
2013/12/28(土) 14:53:41.89ID:58qchT2I >>372
ごめんなさい。もう一個、修正いいですか。
スレッドタイトル一覧画面で r で更新すると、← で戻れなくなる問題の修正パッチです。
(これもただのバンドエイドパッチです)
https://gist.github.com/takeutch-kemeco/8156110
>>ところで、パッチ提供してくれた人のクレジットとかって
>>どうやって書くのが適当なんでしょう?
私もその辺の法律的(そして面倒)な問題は、なにが最善策なのかがよくわかりませんが、
個人的には何も書かなくて結構です。些細で適当なバンドエイドパッチですし。
文句言われない為の保険としては、よく見かける方法だと、
readme.txt 的なファイルに、協力者一覧のような項を作って、パッチやデバッグなどの協力者の名前を列挙しておき、
「この人たちが協力してくれました。ありがとうございました」とか何か適当に謝礼文でも添えとけば、それをしとけば、たぶん怒る人はいないと思います。
ごめんなさい。もう一個、修正いいですか。
スレッドタイトル一覧画面で r で更新すると、← で戻れなくなる問題の修正パッチです。
(これもただのバンドエイドパッチです)
https://gist.github.com/takeutch-kemeco/8156110
>>ところで、パッチ提供してくれた人のクレジットとかって
>>どうやって書くのが適当なんでしょう?
私もその辺の法律的(そして面倒)な問題は、なにが最善策なのかがよくわかりませんが、
個人的には何も書かなくて結構です。些細で適当なバンドエイドパッチですし。
文句言われない為の保険としては、よく見かける方法だと、
readme.txt 的なファイルに、協力者一覧のような項を作って、パッチやデバッグなどの協力者の名前を列挙しておき、
「この人たちが協力してくれました。ありがとうございました」とか何か適当に謝礼文でも添えとけば、それをしとけば、たぶん怒る人はいないと思います。
374372
2013/12/28(土) 18:20:30.16ID:AeSXRH7E >373
ありがとうございます
参考になりました
パッチは先行して出来るだけ早めにGitリポジトリに
マージします。(tgz提供は後日になります。)
ありがとうございます
参考になりました
パッチは先行して出来るだけ早めにGitリポジトリに
マージします。(tgz提供は後日になります。)
375372
2013/12/29(日) 01:09:03.54ID:UdiOTQrg Gitリポジトリ(ソースフォージの)にパッチを適用しました。
協力者についてはhelpとREADMEでは名前(ID)の言及にとどめて
CONTRIBUTORSファイルを作成して詳しく記述してみました。
抜けがあったら申し訳ないです。
パッチについては一部変数の初期化値チェックを追加してあります。
よろしくお願いいたします。
協力者についてはhelpとREADMEでは名前(ID)の言及にとどめて
CONTRIBUTORSファイルを作成して詳しく記述してみました。
抜けがあったら申し訳ないです。
パッチについては一部変数の初期化値チェックを追加してあります。
よろしくお願いいたします。
2014/01/28(火) 07:18:42.39ID:KwNCFuL4
ntchいいね。 fbvみたいにフレームバッファ時にサムネイルが表示出来たら最強かも。
378375
2014/01/28(火) 22:54:27.38ID:B0Tjk7MV >377
ありがとうございます
フレームバッファのサムネイル表示良いですね。
すぐには出来ませんが調べてみたらおもしろそうだと思いました
ありがとうございます
フレームバッファのサムネイル表示良いですね。
すぐには出来ませんが調べてみたらおもしろそうだと思いました
2014/02/08(土) 16:09:22.39ID:2nrpuWSz
rdtsc読み込み@
〜何か処理〜
rdtsc 読み込みA
A-@で得られた値は、「何か処理」だけが消費したカウンタ値と考えて良いんでしょうkぁ?
〜何か処理〜
rdtsc 読み込みA
A-@で得られた値は、「何か処理」だけが消費したカウンタ値と考えて良いんでしょうkぁ?
2014/06/14(土) 02:27:15.51ID:Is0IyKdM
LinuxAPIという言葉を使ったら笑われちゃった。Linuxではシステムコールって呼ぶんですか?
2014/06/15(日) 18:35:23.57ID:h4BYi3Oc
Windowsにもシステムコールはある
非公開だからアプリケーションプログラマが意識することが無いだけ
なんか残念な人みたいだが、まぁ頑張れ
非公開だからアプリケーションプログラマが意識することが無いだけ
なんか残念な人みたいだが、まぁ頑張れ
2014/06/16(月) 23:05:03.20ID:Ih/a7JcP
Wine+HSPがお手軽で便利だ
2014/09/01(月) 18:03:28.40ID:WmZkmIrj
LinuxAPIと言われるとLinux特有のシステムコールを思い浮かべる
cloneとか
cloneとか
384login:Penguin
2014/09/02(火) 11:34:44.07ID:brZZFtUP2014/09/02(火) 19:50:35.22ID:WnHdmqu9
>>384
Linuxって弄るのが主目的で、基本的にプログラムの作成しない奴が使うものなんだよ。
だから、プログラムスレ過疎っているだろ
ユーザーの超少ないLinuxでプログラムしたいなら、WinやMacでも使っているもの(Qtとか)をつかわないと
レスは期待できない。 Win,Macプのレスに期待って感じ
Linuxって弄るのが主目的で、基本的にプログラムの作成しない奴が使うものなんだよ。
だから、プログラムスレ過疎っているだろ
ユーザーの超少ないLinuxでプログラムしたいなら、WinやMacでも使っているもの(Qtとか)をつかわないと
レスは期待できない。 Win,Macプのレスに期待って感じ
2014/09/03(水) 18:29:54.36ID:DDXQfX1y
2014/09/03(水) 19:21:42.40ID:F32MWqI6
>>384
"xlib イベント" で検索してみれば?
たとえば http://7ujm.net/X/event.html とか
XNextEvent関数を呼び出して、引数として指定したイベント構造体の各メンバの値を調べるのが一般的らしい
"xlib イベント" で検索してみれば?
たとえば http://7ujm.net/X/event.html とか
XNextEvent関数を呼び出して、引数として指定したイベント構造体の各メンバの値を調べるのが一般的らしい
388login:Penguin
2014/09/04(木) 01:55:38.69ID:dA/Tho4c2014/09/04(木) 02:49:40.80ID:FZlWKU2g
なりすまし乙
2014/09/07(日) 08:52:02.66ID:taNFSCK4
[普及しないスレから移動]
ウィンドウ・サイズ変更時のドラッグ開始、終了イベントに関して、
http://tronche.com/gui/x/icccm/sec-4.html
SubstructureRedirect と ResizeRedirect イベント
が関連してそうな気がする。
ウィンドウ・サイズ変更時のドラッグ開始、終了イベントに関して、
http://tronche.com/gui/x/icccm/sec-4.html
SubstructureRedirect と ResizeRedirect イベント
が関連してそうな気がする。
2014/09/07(日) 10:33:43.54ID:taNFSCK4
たまたま見つけたが:
http://stackoverflow.com/questions/8867715/xlib-center-window
「If you set the override redirect flag when creating a window,
then the window manager won't manage its size, position,
stacking order, decorations, or map state (the window manager's
redirection of ConfigureRequest and MapRequest is overridden).」
とある。override redirect flag を、window 作成時にセットしておくと、
window manager が、サイズや、位置、stacking(Z-Order、前後関係)、
map state(show, hidden)を勝手にいじらなくなるそうだ。
これを使えばウィンドウ枠をドラッグされた事を自分で検出すれば、
ドラッグされ始めたタイミングが分かるようになると思われる。
さらに、サイズ変更しない選択肢も可能になると思われる。
http://stackoverflow.com/questions/8867715/xlib-center-window
「If you set the override redirect flag when creating a window,
then the window manager won't manage its size, position,
stacking order, decorations, or map state (the window manager's
redirection of ConfigureRequest and MapRequest is overridden).」
とある。override redirect flag を、window 作成時にセットしておくと、
window manager が、サイズや、位置、stacking(Z-Order、前後関係)、
map state(show, hidden)を勝手にいじらなくなるそうだ。
これを使えばウィンドウ枠をドラッグされた事を自分で検出すれば、
ドラッグされ始めたタイミングが分かるようになると思われる。
さらに、サイズ変更しない選択肢も可能になると思われる。
2014/09/07(日) 10:56:04.88ID:taNFSCK4
混乱を招く元:
Win32 の WM_AAAA : WM は、Windows Message の略
X の WM_AAAA : WM は、Window Manager の略
Win32 の WM_AAAA : WM は、Windows Message の略
X の WM_AAAA : WM は、Window Manager の略
2014/09/07(日) 11:12:20.51ID:taNFSCK4
http://tronche.com/gui/x/icccm/sec-4.html#s-4.2.2
↑の 4.2.9. Redirecting Requests に今の議題に非常に関係したことが
書かれているらしい。
SubstructureRedirect : サイズ変更時に親に通知されるイベント
ResizeRedirect : サイズ変更時に自分に通知されるイベント
ResizeRequest : Window Manager が送ってくるイベント
In particular, clients that need to take some special action if they
are resized can select for ResizeRedirect events on their top-level
windows. They will receive a ResizeRequest event if the window manager
resizes their window, and the resize will not actually take place.
Clients are free to make what use they like of the information that
the window manager wants to change their size, but they must configure
the window to the width and height specified in the event in a timely
fashion. To ensure that the resize will actually happen at this stage
instead of being intercepted and executed by the window manager
(and thus restarting the process), the client needs temporarily to set
override-redirect on the window.
↑の 4.2.9. Redirecting Requests に今の議題に非常に関係したことが
書かれているらしい。
SubstructureRedirect : サイズ変更時に親に通知されるイベント
ResizeRedirect : サイズ変更時に自分に通知されるイベント
ResizeRequest : Window Manager が送ってくるイベント
In particular, clients that need to take some special action if they
are resized can select for ResizeRedirect events on their top-level
windows. They will receive a ResizeRequest event if the window manager
resizes their window, and the resize will not actually take place.
Clients are free to make what use they like of the information that
the window manager wants to change their size, but they must configure
the window to the width and height specified in the event in a timely
fashion. To ensure that the resize will actually happen at this stage
instead of being intercepted and executed by the window manager
(and thus restarting the process), the client needs temporarily to set
override-redirect on the window.
2014/09/07(日) 11:26:25.66ID:taNFSCK4
正しくはこうらしい:
SubstructureRedirectMask : マスク値
---> ConfigureRequest Event
XConfigureRequestEvent 構造体
ResizeRedirectMask : マスク値
---> ResizeRequest Event
XResizeRequestEvent 構造体
SubstructureRedirectMask : マスク値
---> ConfigureRequest Event
XConfigureRequestEvent 構造体
ResizeRedirectMask : マスク値
---> ResizeRequest Event
XResizeRequestEvent 構造体
2014/09/07(日) 13:51:23.01ID:taNFSCK4
>>393 のリンク先の4.2.9の続きの部分:
[Convention]
Clients receiving ResizeRequest events must respond by doing the following:
・Setting override-redirect on the window specified in the event.
・Configuring the window specified in the event to the width and
height specified in the event as soon as possible and before
making any other geometry requests
・Clearing override-redirect on the window specified in the event
If a window manager detects that a client is not obeying this convention,
it is free to take whatever measures it deems appropriate to deal with
the client.
[Convention]
Clients receiving ResizeRequest events must respond by doing the following:
・Setting override-redirect on the window specified in the event.
・Configuring the window specified in the event to the width and
height specified in the event as soon as possible and before
making any other geometry requests
・Clearing override-redirect on the window specified in the event
If a window manager detects that a client is not obeying this convention,
it is free to take whatever measures it deems appropriate to deal with
the client.
396login:Penguin
2014/09/07(日) 13:53:52.64ID:NGJ74wwz >>395
どうもありがとう。
どうもありがとう。
2014/09/07(日) 13:59:45.87ID:taNFSCK4
・サイズ変更の動作を帰るウィンドウに ResizeRedirectMask マスク値を
設定する。こうすると、ResizeRequest イベントが通知されるようになる。
・イベントハンドラに、ResizeRequest イベント がやってくる。
これが欲しかったサイズ変更のドラッグ開始のイベントである。
続けて、以下の処理を行う:
・override-redirect フラグを設定する。
このフラグを設定することで ResizeRequest イベントハンドラが再帰的に
呼び出されることを防ぐ。
・新しいWindowの幅と高さをConfigure系関数を使って設定する。
普通であれば、ここで ResizeRequest イベントが再び発生してしまうが、
今回は override-redirect フラグを設定してあるので発生しない。
・override-redirect フラグを解除する。
設定する。こうすると、ResizeRequest イベントが通知されるようになる。
・イベントハンドラに、ResizeRequest イベント がやってくる。
これが欲しかったサイズ変更のドラッグ開始のイベントである。
続けて、以下の処理を行う:
・override-redirect フラグを設定する。
このフラグを設定することで ResizeRequest イベントハンドラが再帰的に
呼び出されることを防ぐ。
・新しいWindowの幅と高さをConfigure系関数を使って設定する。
普通であれば、ここで ResizeRequest イベントが再び発生してしまうが、
今回は override-redirect フラグを設定してあるので発生しない。
・override-redirect フラグを解除する。
2014/09/07(日) 14:01:48.32ID:taNFSCK4
誤:動作を帰る
正:動作を変える
正:動作を変える
399login:Penguin
2014/09/07(日) 14:52:24.95ID:NGJ74wwz http://standards.freedesktop.org/wm-spec/1.3/ar01s04.html
これちょっと読んでみました。
MDIや仮想デスクトップを想定しているようです。
今回は、ちょっと関係なかったみたいです。
これちょっと読んでみました。
MDIや仮想デスクトップを想定しているようです。
今回は、ちょっと関係なかったみたいです。
400login:Penguin
2014/09/07(日) 14:58:16.73ID:NGJ74wwz やっぱり、Windowsが使われる理由ってそれなりにあるんだなあ。
2014/09/08(月) 14:48:29.88ID:XntPNMhE
「普及するわけない」スレで:
> 572 :login:Penguin:2014/09/07(日) 00:43:51.87 ID:NGJ74wwz
> >>569
> Qtはサポートしているイベントが明らかに少ないから。
の部分に関して。FLTKを調べていたら、Win32のWM_SIZEに相当する
イベントが見当たらないと思って(実はあるのかもしれない)調べていたら
test(サンプル)に resize.cxx と resizebox.cxx があって、ビルドして実行
してみると、TOP LEVELのnative Windowであっても枠をマウスでドラッグ
する事によるサイズ変更には一応対応していることが分かった。
> 572 :login:Penguin:2014/09/07(日) 00:43:51.87 ID:NGJ74wwz
> >>569
> Qtはサポートしているイベントが明らかに少ないから。
の部分に関して。FLTKを調べていたら、Win32のWM_SIZEに相当する
イベントが見当たらないと思って(実はあるのかもしれない)調べていたら
test(サンプル)に resize.cxx と resizebox.cxx があって、ビルドして実行
してみると、TOP LEVELのnative Windowであっても枠をマウスでドラッグ
する事によるサイズ変更には一応対応していることが分かった。
2014/09/08(月) 15:56:17.40ID:XntPNMhE
Qt や wxWidgetsのようなマルチプラットフォーム・ツールキットでは、
IME 関連の共通化は難しいかもなあ。
Windows では、WM_IME_xxxx 系のメッセージや専用 API で対応している
んだけど。
IME 関連の共通化は難しいかもなあ。
Windows では、WM_IME_xxxx 系のメッセージや専用 API で対応している
んだけど。
2014/09/08(月) 16:35:46.77ID:XntPNMhE
>>401
スマン。Windows環境では、仮想関数のresize()が、WM_SIZE が来た時に
呼び出されるようなのでここでサイがズ変化した事を知ることが出来る
と思う。ただし、resize() 関数を直接呼び出すことも想定されている
気がするので注意が必要。普通、Windowsだと、イベント・ハンドラは
人間が直接呼び出すことは無いんだが、FLTK だとあるのかも知れん。
スマン。Windows環境では、仮想関数のresize()が、WM_SIZE が来た時に
呼び出されるようなのでここでサイがズ変化した事を知ることが出来る
と思う。ただし、resize() 関数を直接呼び出すことも想定されている
気がするので注意が必要。普通、Windowsだと、イベント・ハンドラは
人間が直接呼び出すことは無いんだが、FLTK だとあるのかも知れん。
2014/09/10(水) 07:57:01.06ID:uDuiy6kX
TCPソケットでサーバー書いてるんですが
select(2)の仕様に心が折れそうです
プロセスかスレッドに逃げてもいいすか?
select(2)の仕様に心が折れそうです
プロセスかスレッドに逃げてもいいすか?
405390
2014/09/11(木) 02:27:57.31ID:Pq+DQ/be さっき気づいたが、Windowsにできて X11 での実現方法が分かりにくい
Window関連の事柄は、WINE Emulatorのソースを見ればいいんじゃないかと
言う事。
サイズ変更のドラッギング中のメッセージ、Z-ORDERの変更を拒否または
独自仕様にする方法、OWNER WINDOW(OWNED WINDOW) の作り方、などは
どれも X11 での実現方法を見出すのは難しいが、WINE では出来ている。
TOP LEVEL WINDOW の場合は、WINE も X11 の native Window を利用して
いるはずで、独自にグラフィックで矩形を描画したりしているわけでは
ないはず。
なので、WINEで方法を知れば、そうそう大きくないソースで自前でも実現
できるはず。
Window関連の事柄は、WINE Emulatorのソースを見ればいいんじゃないかと
言う事。
サイズ変更のドラッギング中のメッセージ、Z-ORDERの変更を拒否または
独自仕様にする方法、OWNER WINDOW(OWNED WINDOW) の作り方、などは
どれも X11 での実現方法を見出すのは難しいが、WINE では出来ている。
TOP LEVEL WINDOW の場合は、WINE も X11 の native Window を利用して
いるはずで、独自にグラフィックで矩形を描画したりしているわけでは
ないはず。
なので、WINEで方法を知れば、そうそう大きくないソースで自前でも実現
できるはず。
406390
2014/09/11(木) 10:52:01.00ID:Pq+DQ/be Wineのソースを調べた。CreateWindowsExA() から沢山の関数呼び出しを辿って行った先に、
XCreateWindow() を呼び出している箇所を見つけた。
そして、XCreateWindow()の引数に設定するための attr や mask を計算する次のような関数を見つけた。
こんな感じで使われている:
mask = get_window_attributes( data, &attr );
・・・
data->whole_window = XCreateWindow( data->display, root_window, pos.y, pos.y,
cx, cy, 0, data->vis.depth, InputOutput,
data->vis.visual, mask, &attr );
なお、data->managed の値は、is_window_managed() の値に応じて切り替えられているらしい。
static int get_window_attributes( struct x11drv_win_data *data, XSetWindowAttributes *attr )
{
attr->override_redirect = !data->managed;
attr->colormap = data->colormap ? data->colormap : default_colormap;
attr->save_under = ((GetClassLongW( data->hwnd, GCL_STYLE ) & CS_SAVEBITS) != 0);
attr->bit_gravity = NorthWestGravity;
attr->backing_store = NotUseful;
attr->border_pixel = 0;
attr->event_mask = (ExposureMask | PointerMotionMask |
ButtonPressMask | ButtonReleaseMask | EnterWindowMask |
KeyPressMask | KeyReleaseMask | FocusChangeMask |
KeymapStateMask | StructureNotifyMask);
if (data->managed) attr->event_mask |= PropertyChangeMask;
return (CWOverrideRedirect | CWSaveUnder | CWColormap | CWBorderPixel |
CWEventMask | CWBitGravity | CWBackingStore);
}
XCreateWindow() を呼び出している箇所を見つけた。
そして、XCreateWindow()の引数に設定するための attr や mask を計算する次のような関数を見つけた。
こんな感じで使われている:
mask = get_window_attributes( data, &attr );
・・・
data->whole_window = XCreateWindow( data->display, root_window, pos.y, pos.y,
cx, cy, 0, data->vis.depth, InputOutput,
data->vis.visual, mask, &attr );
なお、data->managed の値は、is_window_managed() の値に応じて切り替えられているらしい。
static int get_window_attributes( struct x11drv_win_data *data, XSetWindowAttributes *attr )
{
attr->override_redirect = !data->managed;
attr->colormap = data->colormap ? data->colormap : default_colormap;
attr->save_under = ((GetClassLongW( data->hwnd, GCL_STYLE ) & CS_SAVEBITS) != 0);
attr->bit_gravity = NorthWestGravity;
attr->backing_store = NotUseful;
attr->border_pixel = 0;
attr->event_mask = (ExposureMask | PointerMotionMask |
ButtonPressMask | ButtonReleaseMask | EnterWindowMask |
KeyPressMask | KeyReleaseMask | FocusChangeMask |
KeymapStateMask | StructureNotifyMask);
if (data->managed) attr->event_mask |= PropertyChangeMask;
return (CWOverrideRedirect | CWSaveUnder | CWColormap | CWBorderPixel |
CWEventMask | CWBitGravity | CWBackingStore);
}
2014/09/11(木) 12:36:11.29ID:RcyiahPu
初歩的な話でスマンが、X でも変更要求と変更通知のイベントはちゃんと分か
れているんだね。
前者が、XxxxRequest 系で、後者は XxxxNotify 系。
override_redirect を使わなくても「フック」出来るっぽいね。
で、XxxxReueset系のイベントは、他のウィンドウが状態変更系関数を(勝手に)
呼び出した場合のみに発生して、自分で状態変更系関数を呼び出した場合は発生
しない。なので、XxxxRequest系のイベントが来た時点で自分自身で状態変更系関数
を呼び出した場合は、同じイベントが再帰的に発生することは無い。
したがって、
他のウィンドウBがウィンドウAに対して状態変更系関数を呼び出す
--->Aに対してXxxxRequest系のイベントが発生
--->Aのイベントハンドラ到達
--->必要に応じて、パラメータを変えたりして同じ状態変更系関数を呼び出すか、
または、呼び出さない。
--->呼び出した場合は、(好きなように)状態が実際に変わる。
--->Aに対してXxxxNotify系のイベントが発生
こんな感じかな。
れているんだね。
前者が、XxxxRequest 系で、後者は XxxxNotify 系。
override_redirect を使わなくても「フック」出来るっぽいね。
で、XxxxReueset系のイベントは、他のウィンドウが状態変更系関数を(勝手に)
呼び出した場合のみに発生して、自分で状態変更系関数を呼び出した場合は発生
しない。なので、XxxxRequest系のイベントが来た時点で自分自身で状態変更系関数
を呼び出した場合は、同じイベントが再帰的に発生することは無い。
したがって、
他のウィンドウBがウィンドウAに対して状態変更系関数を呼び出す
--->Aに対してXxxxRequest系のイベントが発生
--->Aのイベントハンドラ到達
--->必要に応じて、パラメータを変えたりして同じ状態変更系関数を呼び出すか、
または、呼び出さない。
--->呼び出した場合は、(好きなように)状態が実際に変わる。
--->Aに対してXxxxNotify系のイベントが発生
こんな感じかな。
2014/09/11(木) 12:39:13.67ID:RcyiahPu
誤:他のウィンドウ
正:他のクライアント
クライアント=プロセス
の意味っぽいね。
正:他のクライアント
クライアント=プロセス
の意味っぽいね。
2014/09/11(木) 17:13:07.51ID:5fzh3o5g
質問者はまだいるのかな。
2014/09/19(金) 16:21:43.07ID:+E5Dy7Nv
>>404
epollより楽だと思う
epollより楽だと思う
2014/09/24(水) 05:58:18.66ID:2QIvY59B
ここはググレ無い人が書き込むと叩かれるスレですか?
2014/09/24(水) 06:04:55.37ID:/L3UJV0/
違いますよ
2014/09/24(水) 09:52:34.32ID:deTFFJxg
>>411
おいらは絶対叩かないが、2ch全般に叩く人がいるので、それを止める事は
出来ないと思う。「聞くは一時の恥」を真っ向否定するような掲示板だ。
調査結果によると、2chは低学歴な人が多いらしいが、人を馬鹿にしたり
意外な意見を全否定したりすることが勉強を出来なくしてきたのかも知れ
ないと思う。自分の周りを見て経験的に馬鹿が多いので「馬鹿」とすぐ言って
しまうとかも考えられる。2chを見ていると、
「自分がよく言われている事を人に言う」
という法則はつくづく正しいと思う。
おいらは絶対叩かないが、2ch全般に叩く人がいるので、それを止める事は
出来ないと思う。「聞くは一時の恥」を真っ向否定するような掲示板だ。
調査結果によると、2chは低学歴な人が多いらしいが、人を馬鹿にしたり
意外な意見を全否定したりすることが勉強を出来なくしてきたのかも知れ
ないと思う。自分の周りを見て経験的に馬鹿が多いので「馬鹿」とすぐ言って
しまうとかも考えられる。2chを見ていると、
「自分がよく言われている事を人に言う」
という法則はつくづく正しいと思う。
2014/09/24(水) 16:01:51.71ID:SmqbMXij
>>413
あなた人の話を聞く耳持たないですやん
あなた人の話を聞く耳持たないですやん
2014/09/24(水) 16:36:08.01ID:wQZFIkhD
2014/09/24(水) 16:41:53.13ID:g1NZEHPQ
>>413
言ってることにはだいたい賛成だが学歴を引き合いに出してるところがちょっと痛い
言ってることにはだいたい賛成だが学歴を引き合いに出してるところがちょっと痛い
2014/09/24(水) 16:42:37.49ID:l+Qj9D1m
雑談はよそでやっとくれよ。
2014/09/24(水) 17:43:26.61ID:wQZFIkhD
大部分の雰囲気は、2chの管理サイドの人間が作り出している。
実際に2chで質問に答えている一般人は非常に小数で、ほっておくと
掲示板として成り立たなくなるため、人を雇って質問に答えさせている。
そしてその人たちは一般人の振りをしてIPアドレスにもとづいて好き勝手に
反論を繰り返したりしている。
時々、すれ違いだとか>>417のような書き込みがあるのは、管理サイドの
人間の都合によっている。
日本のほとんどの掲示板は、「ですます調」で話されているのに2chだけが
「ため口」なのも、管理サイドの人間がそうしているからである。「ですます調」
で話す人間がいると攻撃対象にするため、どうしても「ため口」ばかりになる。
これは、管理サイドの人間の生まれや育ちが「ですます調」の人間に支配される
側であったことと関連しているように思える。なので「ですます調」口調の人間
には悪意を抱いてしまうのだろう。
実際に2chで質問に答えている一般人は非常に小数で、ほっておくと
掲示板として成り立たなくなるため、人を雇って質問に答えさせている。
そしてその人たちは一般人の振りをしてIPアドレスにもとづいて好き勝手に
反論を繰り返したりしている。
時々、すれ違いだとか>>417のような書き込みがあるのは、管理サイドの
人間の都合によっている。
日本のほとんどの掲示板は、「ですます調」で話されているのに2chだけが
「ため口」なのも、管理サイドの人間がそうしているからである。「ですます調」
で話す人間がいると攻撃対象にするため、どうしても「ため口」ばかりになる。
これは、管理サイドの人間の生まれや育ちが「ですます調」の人間に支配される
側であったことと関連しているように思える。なので「ですます調」口調の人間
には悪意を抱いてしまうのだろう。
2014/09/24(水) 17:44:52.14ID:l+Qj9D1m
いや、おれ管理サイドなんかじゃないよ。
言っても信用しないだろうけど。
言っても信用しないだろうけど。
2014/09/24(水) 17:53:15.79ID:WZPk6R0C
仮定に仮定を重ねてて統失みたいになってんな
2014/09/24(水) 18:07:59.76ID:8tmfff2o
文節の途中で改行する長文はスルーでおk
2014/09/24(水) 21:26:43.92ID:SmqbMXij
>>415
あんたの激しい思い込みのせいで、どう考えても客観的事実として明らかなことが「聞く価値がない」と断定されてしまっているケースを何度も見てるんで、
あんたはもっと自分の考えを疑って他人の言っていることが正しい可能性も検証したほうがいいよ
JavaがC++の1000倍メモリ食う、なんてのは明らかに客観的事実と反してるから
価値があるかないかを判断するのが自分である以上、下手に自分は正しい他人は間違ってると断じて耳をふさいでたら、
事実を受け入れられない裸の王様になる可能性が高いのはさすがに京大卒だったらわかるだろ?
あんたの激しい思い込みのせいで、どう考えても客観的事実として明らかなことが「聞く価値がない」と断定されてしまっているケースを何度も見てるんで、
あんたはもっと自分の考えを疑って他人の言っていることが正しい可能性も検証したほうがいいよ
JavaがC++の1000倍メモリ食う、なんてのは明らかに客観的事実と反してるから
価値があるかないかを判断するのが自分である以上、下手に自分は正しい他人は間違ってると断じて耳をふさいでたら、
事実を受け入れられない裸の王様になる可能性が高いのはさすがに京大卒だったらわかるだろ?
2014/09/25(木) 03:27:52.90ID:FfNgbuZs
>>422
京大卒?
京大卒?
2014/09/25(木) 08:24:19.42ID:WI8N4S3c
2014/09/25(木) 08:32:02.67ID:WI8N4S3c
>>422
実験したら、必ずJavaがメモリ大食いな事は証明できる自身があるから、
言ってるだけだ。自分の人生はいつもそうだった。
まず最初は、人が信用しない ---> 面倒だから放置
---> 後で詳しく実験 ---> 実際にそうだったので否定していた人も認めざるを得なくなる
こうなるのが目に見えているが、実験するのは貴重な時間の浪費になるだけなのでしないだけだ。
人に信じてもらっても何も得することはないから。
実験したら、必ずJavaがメモリ大食いな事は証明できる自身があるから、
言ってるだけだ。自分の人生はいつもそうだった。
まず最初は、人が信用しない ---> 面倒だから放置
---> 後で詳しく実験 ---> 実際にそうだったので否定していた人も認めざるを得なくなる
こうなるのが目に見えているが、実験するのは貴重な時間の浪費になるだけなのでしないだけだ。
人に信じてもらっても何も得することはないから。
2014/09/25(木) 08:33:44.51ID:PaQglJxc
もうかまうな。
2014/09/25(木) 09:18:52.05ID:yWLXPpAN
Jazelleがあるから今時ならC++の方がずっと食うだろうに
2014/09/25(木) 09:40:33.23ID:WI8N4S3c
>>427
デタラメ注意
デタラメ注意
2014/09/25(木) 15:03:37.77ID:+JW1iRW2
>>424-425
そうだよ。信じられないようなことを言ってる奴が居るから信用できないだけ。
データを出せば信用するかもしれない、と言っているのに、データを出さないんだから信用できなくて当然。
人に信じてもらっても得することはない、と言うのなら、その事実は自分の心の中にしまっておけよ。他人を説得できるほどの客観性を持ってないことを言い続けるのは妄言にほかならないだろ。
現状、何もデータも検証方法も示さずにJavaのメモリ使用量の話をするのは、「STAP細胞はあります」と同じレベルの真実味しかないよ。
そうだよ。信じられないようなことを言ってる奴が居るから信用できないだけ。
データを出せば信用するかもしれない、と言っているのに、データを出さないんだから信用できなくて当然。
人に信じてもらっても得することはない、と言うのなら、その事実は自分の心の中にしまっておけよ。他人を説得できるほどの客観性を持ってないことを言い続けるのは妄言にほかならないだろ。
現状、何もデータも検証方法も示さずにJavaのメモリ使用量の話をするのは、「STAP細胞はあります」と同じレベルの真実味しかないよ。
2014/09/25(木) 15:11:49.70ID:lXIAnYIx
>>429
あなたに納得できる検証方法がないからと言って、間違っているというわけではないんだよ。
こちらの中では、まず間違いないと確信しているレベルには達している。
なんというか信仰心のある人は、根本的には嘘付かない。
なので、STAP細胞関係者とは全く異なる話になる。
あなたに納得できる検証方法がないからと言って、間違っているというわけではないんだよ。
こちらの中では、まず間違いないと確信しているレベルには達している。
なんというか信仰心のある人は、根本的には嘘付かない。
なので、STAP細胞関係者とは全く異なる話になる。
2014/09/25(木) 15:20:39.50ID:FfNgbuZs
2014/09/25(木) 16:15:29.03ID:/EnwfGMO
2014/09/25(木) 16:16:31.71ID:+JW1iRW2
>>430
「こちらの中では間違いないと確信いているレベル」←STAP細胞も小保方氏のなかでは確信してるだろう
「信仰心のある人は嘘はつかない」←STAP細胞も小保方氏は嘘をついているつもりはないだろう
ということで、同じだよ。
あんたが嘘つきだ、正直者でないと人格を否定しているわけではなくて、検証方法や確信するまでの論理展開がおかしいんじゃないの、と言ってるだけにすぎない。
つまり、あんたがどの程度確信しているかなんて他人には無意味なんで、客観的に評価できる方法やその結果を提示してくれ、って言ってるのが理解できないのかな。
そこがわからない限り、>>414であんたに>指摘した「人の話を聞く耳を持たない」という状態だよ、あんたは
どんだけ自分がこれは真実だろうと確信していたところで、その確信なんて結局脳内の妄想が暴走した結果に過ぎない可能性がある。
その可能性を排除するために、科学的、工学的には、検証したい仮説が間違ってるかもしれない、と幅広い条件でテストする検証手順があるわけだろ。
その検証手順を「目に見えてるから貴重な時間の浪費になる」と省いてるくせに、「これが真実なんだ」と吹聴して回るのは、疑似科学や宗教の類と全く同じ構造。
「こちらの中では間違いないと確信いているレベル」←STAP細胞も小保方氏のなかでは確信してるだろう
「信仰心のある人は嘘はつかない」←STAP細胞も小保方氏は嘘をついているつもりはないだろう
ということで、同じだよ。
あんたが嘘つきだ、正直者でないと人格を否定しているわけではなくて、検証方法や確信するまでの論理展開がおかしいんじゃないの、と言ってるだけにすぎない。
つまり、あんたがどの程度確信しているかなんて他人には無意味なんで、客観的に評価できる方法やその結果を提示してくれ、って言ってるのが理解できないのかな。
そこがわからない限り、>>414であんたに>指摘した「人の話を聞く耳を持たない」という状態だよ、あんたは
どんだけ自分がこれは真実だろうと確信していたところで、その確信なんて結局脳内の妄想が暴走した結果に過ぎない可能性がある。
その可能性を排除するために、科学的、工学的には、検証したい仮説が間違ってるかもしれない、と幅広い条件でテストする検証手順があるわけだろ。
その検証手順を「目に見えてるから貴重な時間の浪費になる」と省いてるくせに、「これが真実なんだ」と吹聴して回るのは、疑似科学や宗教の類と全く同じ構造。
レスを投稿する
ニュース
- 【サッカーW杯】日本、ブラジルに1-2の逆転負け…田中碧が号泣、上田綺世、久保建英の目にも涙 ★4 [鉄チーズ烏★]
- 【サッカーW杯】日本、ブラジルに1-2の逆転負け…田中碧が号泣、上田綺世、久保建英の目にも涙 ★3 [鉄チーズ烏★]
- 【W杯】森保監督がブラジル戦を総括 涙ながらに謝罪「監督の力が足りず、すみませんと伝えたい」 [王子★]
- ブラジル代表FWクーニャ、勝利後に塩貝健人を挑発 「5回優勝」を示すジェスチャー [王子★]
- 【W杯】森保監督がブラジル戦を総括 涙ながらに謝罪「監督の力が足りず、すみませんと伝えたい」★2 [王子★]
- 【サッカー】日本サポーター、W杯敗退でも変わらずゴミ拾い [鉄チーズ烏★]
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★258【メキシコ/カナダ/アメリカ】
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★259【メキシコ/カナダ/アメリカ】
- 【マターリ】日本vsブラジル ★2
- 【DAZN専用】ブラジル-日本 ★1
- 【ATP】テニス総合実況スレ2026 Part 68【WTA】
- こいせん 全レス転載禁止
- ブラジル人、Xで日本人を煽りまくるWWWWWWWWWWWWWWWWWWWWWWWWWWW [903775116]
- 【動画】試合後ブラジル選手「ジャップよわ!こっちは5回優勝してるんだよw」 [268244553]
- 日本対ブラジル★14 反省会 [197015205]
- 【速報】空港で代表監督に投げつける用に無料で配布される卵、大量に届くwww [591180291]
- 戦犯田中 [359572271]
- W杯の結果を受けて野球界からの人格者のコメントがこちら