問題タブ [gio]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
434 参照

c - GSettings の値が変更されたように見えますが、持続しません

C コードで GSettings の値が変更されたように見えますが、保持されません。dconf-editor は、同じままであることを示しています (デフォルトの「picture-uri」設定)。

何か不足していますか?

これは私がそれをコンパイルする方法です:

ありがとう。

0 投票する
1 に答える
3409 参照

python - GTK コンテナー ウィジェットのサイズを変更するにはどうすればよいですか?

GtkBox などのコンテナー内で Gtk がウィジェットのサイズを制御する方法について、私は完全に混乱しています。誰かがこの質問の複雑さを教えてくれますか?

2 つのウィジェットを含む GtkBox があります。この例では、これらは 2 つの GtkButton です。

最初のウィジェットは、GtkBox コンテナー内の使用可能なスペースを埋める必要があります。

2 番目のウィジェットは常に物理的な正方形にする必要があります。したがって、正方形が拡大すると、最初のウィジェットの幅が縮小します。

ここでは、いくつかのサンプル コードが役立ちます。

ウィンドウを展開すると、GtkBox も同様に展開されます。それは良い。最初のボタンも同様に展開します。良いも。ただし、GtkWidget にset_allocationメソッドを 使用しているにもかかわらず、2 番目のボタンが正方形になることはありません。

ウィンドウを縮小すると、2番目のボタンの最小サイズが変更されたため、ウィンドウのサイズを変更できないため、set_size_requestを使用できません(または使用できますか?)。

コンテナーが間隔を管理する方法を理解しようとしている理由は、最終的には次の iTunes の例のようなものを実装しようとしているからです。

ここに画像の説明を入力

つまり、カバーが常に正方形であることがわかりますが、音楽の詳細は、使用可能なスペースに応じて縮小または拡大されます。

0 投票する
1 に答える
970 参照

c - 非同期 GIO サーバー/クライアント

GIO を使用してソケット経由で通信する非同期サーバーとクライアント アプリケーションを作成したいと考えています。私は GIO の初心者なので、ブラウジングで以下のコードを取得しました。これが私のクライアントです。サーバーの例が見つかりません。この点で私を導いてください。

0 投票する
1 に答える
140 参照

client-server - GSOCKET を使用してクライアント サーバー通信を実現する方法

gio と glib を使用して、クライアント サーバー通信を作成したいと考えています。ただし、GSocket と混同しています。誰かがいくつか例を挙げることができますか?また、GMainLoop はこれにどのように役立ちますか?

0 投票する
1 に答える
117 参照

c - GInterface メソッドのシグネチャが VirtualTable (構造体) メソッドと一致しない場合はどうなりますか?

GObject の GInterfaces について基本に戻ることにしたので、もう一度基本チュートリアルを読みに行きました。このでは、非常に単純な GInterface を定義する方法を見ることができます。

ご覧のとおり、メソッドmaman_ibaz_do_actionとのシグネチャは、シンボルとmaman_ibaz_do_somethingのシグネチャとそれぞれ一致します。_MamanIbazInterface.do_action_MamanIbazInterface.do_something

しかし、そうしないとどうなりますか?私は実際の例を持っています。GInterface はgpollableinputstream (ソースはこちら) です。特にメソッドは read_nonblocking() で、VT に 4 つのパラメーターがありますが、後でヘッダー関数に 5 つのパラメーターがあります。

したがって、このインターフェイスの実装者が前者 (ここで実際の例) をオーバーライドする場合、他のクラスからこの実装を呼び出すにはどうすればよいでしょうか?

0 投票する
1 に答える
696 参照

javascript - Gnome-Shell 拡張機能、GSettings の変更を確認しますか?

だから私は拡張機能を書いていますが、それにはいくつかの設定があります。設定は、convenient.js を使用して GSettings に保存します (こちらで説明)。関連するコードは次のようになります。

これまでのところうまく機能しており、コマンドも使用できます

gsettings モニター org.gnome.shell.extensions.workspace-alt-tab ソートモード

本当に必要な値を設定していることを確認するため。

しかし、ここで問題が発生します。これらの設定に加えられた変更をキャプチャして、コードに反映しようとするときです。他の拡張機能で見たものから、次のようになるはずだと思います。

しかし、問題は、init から呼び出されたログ行しか表示されないことです。

Gjs-Message: JS LOG: [_sortModeChanged] new sortMode: most-recently-used

また、この種のものをデバッグする方法についてはまったくわかりません(LookingGlassでも...)。誰かが私のばかげた間違いを指摘したり、この種のものをデバッグする方法についていくつかの指針を与えたりすることができれば、それは大歓迎です!

0 投票する
1 に答える
195 参照

c++ - ディレクトリ内のファイルの作成または抑制と gtk::label を同期するにはどうすればよいですか?

作業ディレクトリ内のすべてのファイルをリストするプログラムがあります (glibこれを行うために使用します)。次に、このリストをGtkWindowトラフ aで選別しますGtk::Label。を使用してウィンドウをスクリーニングしますrun()

set_label()ボタンをクリックするだけで、ディレクトリ内のファイルのリストをスクリーニングされたリストと同期させることができます。したがって、ファイルを削除または作成すると、ファイルが削除またはラベルに追加されます。しかし、クリックせずに毎秒同期するようにプログラムを作成するにはどうすればよいですか?

0 投票する
1 に答える
692 参照

python - pythons Gio-Bindings を使用して DBus にオブジェクトを登録する

私は既存の C プロジェクトの Python クローンに取り組んでいます。C プロジェクトはカスタム DBus に接続し、そこでコールバックを取得するためのオブジェクトを提供します。

基本的には次のコードで Python を使用してこれを複製しようとしました。

呼び出しで vtable を作成するときにコードが失敗しvtable.method_callます (ただしget_property、1 つの呼び出しをコメントアウトすると失敗します)、次のログ/トレースバック:

Python で使用しているコードを見つけることができなかったregister_object()ので、Gio のこの部分を使用できるかどうか、または完全ではないかどうかはわかりません。

0 投票する
1 に答える
2244 参照

c - Glib/Gio 非同期またはスレッド化された UDP サーバー

現在、同期 UDP アプリケーションでメッセージを受信して​​います。

コード :

そこで、ブロッキングではなくノンブロッキングで受信操作を行いたいと思います。開発したいアプリケーションに関連する他の操作を実行できるように、非同期にするか、スレッド化する必要があります。

しかし、私はそれを思い通りにすることに成功しませんでした。GLib IO チャネルを使用しようとしましたが、動作させることができません。processus は待機していますが、これはメイン ループのためだけです (アプリケーションに telnet できません)。

コード :

私は GLib/Gio の初心者であり、IO チャネルで間違っていると思います。コールバック関数を使用できるように、イベントとしてメイン ループに追加したいと思います。多分それを行うためのより簡単な方法があります。

その上、私は動作しているTCP非同期およびスレッド化されたサーバーを持っていますが、UDPで同じことを行う方法が見つかりませんでした(GThreadedSocketServiceを使用してソケットリスナーを作成し、サービスをメインループに追加します.TCPのパイのように簡単)。

続行する方法はありますか?基本的な API ソケットのみを使用する方法を知っている場合でも、私はそれを受け入れます。ありがとう。