問題タブ [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.
javascript - GSettings で dconf-entry を変更できない
現在、 Gjsで単純なアプリケーションを構築しています。これにより、gnome-shell の背景画像が変更されるはずです。gsettings
-toolを使用してこれを行う方法に関する解決策は、ここにあります。
その周りにデスクトップアプリケーションを構築したいので、Gio の -class を使用して -key を変更したいと考えていorg.gnome.desktop.background.picture-uri
ます。ただし、-メソッドを使用してもキーの値は変更されません。GSettings
set_X()
これは gsettings 値を変更する私のコードです:
値の読み取りは期待どおりに機能し、is_writable()
-method が返さtrue
れ、set_string()
-method も返されますtrue
。
「delay-apply」モードではなく、キーにGVariantType
of 文字列があることを確認したので、set_string()
-method が機能するはずです。
通常のgsettings
コマンドライン ツール (リンクされた投稿で説明されている) を使用すると、問題なく動作します。
何が問題なのかわかりません。ログなどを探すことができる場所はありますか?
linux - gio.h そのようなファイルまたはディレクトリはありません
ここでdeveloper.gnome.orgリンクの GIO サンプル プログラム コードをコンパイルしようとしています。そして、それをコンパイルするために使用しているコマンドは
しかし、エラーメッセージ
glib と glib-devel がインストールされています (GIO には glib が付属していると思いますよね?)。
編集:私が使用している(私はそれを使用することになっている)centos5.5にはglib2バージョン2.12があり、バージョン2.15以降のglib2のみがGIOに付属しています。GIO を個別にインストールする方法がわかりません。
python - Rhythmbox 2.96 で再生中の曲の評価を設定するにはどうすればよいですか?
Rhythmbox 2.96 で現在再生中の曲の評価を設定する Python プラグインを作成しようとしています。Rhythmbox 2.96 では、API (Python モジュール) を使用して曲の評価を設定することができなくなったようです。プレーヤー関連のアクションは、MPRIS を支持して削除されました。
次に、MPRIS で dbus を使用してみましたが、MPRIS には曲の評価を設定するための仕様もありません。いろいろ調べた結果、Rhythmbox コードベースでこのサンプルを見つけ、それをテスト スクリプトに適合させました。
動作しますが、SetEntryProperties メソッドによって Rhythmbox が約 30 秒間フリーズします。ここに Python スクリプトがあります。
指示:
コードを rate.py というファイルにコピーします。
を使用して端末からリズムボックスを起動します
/li>Rhythmbox で、プラグインから Python コンソールを有効にします。
Python コンソールを起動して実行します
/li>ターミナルに印刷出力が表示され、Rhythmbox が約 20 ~ 30 秒間フリーズします。
印刷される例外は次のとおりです。
私の Python/dbus に関する知識は限られているため、そのエラーが発生する理由がわかりません。助けていただければ幸いです。
また、コードを使用して Rhythmbox で曲の評価を設定するより良い方法を知っていれば、それも大歓迎です!
違いがある場合は、Ubuntu 12.04 を使用しています。
glib - 既存の GVariant 辞書にデータを追加する方法はありますか?
GSettings を使用して、アプリケーションの設定を保存します。これらの形式は「a{q(bsyssbyqqqq)}」なので辞書です。
その辞書に新しいレコードを追加する必要がある場合があります。GSettings から GVariant として取得できます。レコードを 1 つだけ追加する方法はありますか?
その新しいエントリを作成するために新しい GVariantBuilder を作成しましたが、正常に動作しますが、操作の結果は 1 つのレコードにすぎません。残りのすべてを追加するには、既存のすべての辞書エントリを反復処理してビルダーに追加する必要があります。それを行うためのより簡単で効率的な方法はありますか?
c - GIOで、これらの非同期ファイルIO操作が完了しないのはなぜですか?(CとValaの両方に適用されます)
非同期ファイルIO操作を実行したい。これが私がValaでやろうとしていることの単純化されたバージョンです:
このプログラムを実行し、ファイルsettings.ini
が存在しない場合、settings.ini
作成され、次の出力が表示されます。
存在する場合settings.ini
、何も書き込まれず、次の出力が表示されます。
この問題をCで再現しようとすると、同様の問題が発生します。これが私のCコードです(上記のvalaの例全体を複製するのではなく、ファイルを作成する部分だけを複製します)。
この例を実行すると、次の出力が表示されます(settings.ini
存在しないと仮定)。
言い換えれば、create_callback
は呼び出されません。
私は何が間違っているのですか?私が彼らに電話するとき、なぜこれまでに完了g_file_create_async
しないのですか?g_file_replace_contents_async
c - GIO ライブラリを使用して FTP マウントを作成する
私はGIOを使用しようとしています。GVolumeMonitor を使用してボリュームの変更をキャッチし、ボリュームのリストを取得する方法を見つけました。g_volume_monitor_get_mounts
関数は、既存の GMount のリストを表示します。それらのそれぞれは、HDD パーティションまたはネットワーク共有 (ftp、smb、sftp など) のマウントを表すことができます。を使用して HDD パーティションをマウントすることは可能のようg_volume_mount
です。しかし、ネットワーク共有を表す GMount を作成するにはどうすればよいでしょうか? どのクラスがこれを担当していますか?
これが私のコードです:
( と がなければならないことはわかっていますg_object_unref
。g_list_free
)
出力:
nautilus を使用して最初の sftp マウントを作成しました。今、私はこの機能を自分で実装したいと考えています。ターゲット OS は Ubuntu 12.04 です。
unicode - Javascriptとgjsを使用したUnicodeファイルI/O?
JavascriptとGjsを使用して、おそらくGioやGlibを使用して、Unicodeテキストファイルを読み書きする方法の実用的な例を誰かに教えてもらえますか?私はJavascriptの経験がありますが、これらのAPIはまだ私には異質であり、まったく新しいテクノロジーであるため、グーグルはあまり役に立ちません。
私はこれを見ました:https : //live.gnome.org/Seed/Tutorial/Simple_file_io、しかしそれはシードベース(Gjsではない)であり、かなり古いようです。エラーが発生しているため(9行目のGio.readの引数が少なすぎるなど)、Unicodeテキストを使用してテストできません。
実用的なスニペットが非常に役立ちます。ありがとう!
更新:Ubuntu12.0464ビットでテストしています。
python - Rhythmbox でデータを照会する方法
ubuntu 12.04 を使用しており、Rhythmbox データベースにクエリを実行するための Python プラグインを作成しようとしています。Rhythmbox のバージョンは v2.96 ですが、この問題は v2.97 でも発生します。Python クエリを実行すると、Ubuntu がセグメンテーション エラーでクラッシュします。
以下が正しいことを確認する必要があります。また、Ubuntu に固有のバグを見つけた場合、または正しくクエリする方法を誤解した場合は、確認する必要があります。別のディストリビューションを使用している他の誰かが確認できる場合-これは大歓迎です.
セグメンテーション違反に関して、bugzilla にバグ レポートを提出しました。ただし、私の質問は厳密にはこれに関するものではありません。具体的には、データを照会するための正しい python コードを確認しようとしています。
したがって、私の質問: Rhythmbox データベースをクエリするには、以下のコード スニペットは正しいですか、それとも、クエリを有効にするために追加のパッケージをインストールする必要がありますか?
手順:
- Python コンソール プラグインを有効にする
- 入力します(または、次の行ごとにコピーして貼り付けます)
この行を入力したときにubuntu 12.04の場合、Ubuntuはセグメンテーション違反でクラッシュします
したがって、呼び出しの最初のパラメーター (クエリ ポインター配列 (PtrArray)) を実際に正しく使用したか、またはクエリ関数のパラメーターが正しくないか?
c - D-Bus リスト名
C で D-Bus sessionBus のすべての名前を一覧表示するにはどうすればよいですか?
dbus.list_names python メソッドに相当するC GIOを探しています
«org.mpris.MediaPlayer2» のすべての名前をリストしたいと思います。たとえば、«org.mpris.MediaPlayer2.clementine、org.mpris.MediaPlayer2.someotherplayer、...» のようになります。
同様のことを行う「qdbusviewer」というアプリケーションがあります
mime-types - Gtk3: MIME タイプのアイコン ファイル名を取得する
MIMEタイプに関連付けられたGtk3アイコンファイル名を取得するコマンドラインプログラムを作成しています...これを実行できるようにするためのアイデアです:
残念ながら、これは代わりに起こっています:
ドキュメントを検索して解決策を探した後、どのように進めればよいのか戸惑っています。DISPLAYが適切にエクスポートされた状態で、これをXターミナルで実行しています:
プログラムのソースは以下です。私は glib2-2.30.3 と gtk3-3.2.4 に対してビルドしています。どんな洞察も大歓迎です!