問題タブ [gjs]
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.
combobox - gjsでGtk ComboBoxを使用するには?
いくつかのPyGTK チュートリアルに従って、gjs (Gnome デスクトップのネイティブ JavaScript) でコンボ ボックスを埋めようとしています。
これまでのところ、どちらもほとんど機能する 2 つの同様の方法を思いつきました。
最初のものは、おそらくチュートリアルの例に最も近いものです:
ここでの主な問題は、何も表示されないことです。たとえば、コンボボックスが空です。チュートリアルによると、「new Gtk.ListStore」には引数として列の型が必要ですが、そこに置くとエラー メッセージが表示されます。
他の例のコードと混ぜ合わせて、次のコードを思いつきました。
何かを実際に表示するという利点があります。たとえば、コンボボックスは選択可能なリスト項目で満たされていますが、それらはすべて空です。白の中の白のブロックだけ。
何か案は?
gnome-3 - Gnome Shell ショートカットをプログラムで呼び出す
Gnome Shell には優れたショートカットがありますが、それらをプログラミングで呼び出す方法が見つかりません。GJS スクリプトを使用して Google Chrome を起動し、ワークスペース 1 に移動して最大化し、Emacs を起動して次の場所に移動するとします。ワークスペース 2 を開き、最大化します。これは、wm.keybindings: move-to-workspace-1、move-to-workspace-2、および maximum を使用して実行できます。しかし、それらをプログラミングで呼び出す方法は?
GJS では、アクション move-to-workspace-1 のguintMeta.prefs_get_keybinding_action('move-to-workspace-1')
が返されることに気付きましたが、アクションを呼び出す関数が見つかりませんでした。https://github.com/GNOME/mutter/blob/master/src/core/keybindings.cで、関数 meta_display_accelerator_activate を見つけましたが、この関数の GJS バインディングが見つかりませんでした。
それで、プログラムで gnome シェルのショートカットを呼び出す方法はありますか?
javascript - C ライブラリを使用して JavaScript で GNOME アプリを作成する方法
私は GNOME デスクトップ アプリケーション開発の初心者なので、できるだけ多くのことを学ぼうとしています。JavaScript 用に書かれたdeveloper.gnome.orgにあるさまざまなチュートリアルを読みました。GObject Introspection を使用して、JavaScript で C ライブラリにアクセスできることを知っています。
デスクトップ アプリケーションでの JavaScript の使用は新しいため、多くのドキュメントはありません。いくつかのライブラリにアクセスするために、どのパラメーターでどの関数を使用できるかを知る方法があるかどうか疑問に思っていました。
たとえば、JavaScript で GTK を使用してボタンを作成するには、次のようにします。
使用できる関数の名前を知るにはどうすればよいですか? C 用に書かれたドキュメントを見て、JavaScript 用の関数の名前を特定する方法はありますか?
一部のライブラリについては、JavaScript 用に書かれたこのドキュメントを見たことがあります。GNOME アプリケーション開発について理解を深めるために、どんな助けも歓迎します。
javascript - Eclipse を GNOME 拡張 IDE として使用する
独自の GNOME 拡張機能を開発しようとしています。私はいくつかの記事を読みました:
そして公式のもの。
JavaScript をサポートする IDE を使用して開発すると非常に便利です。コードの折りたたみ、オートコンプリート、アウトラインなどに役立ちます。
GNOME には、Anjuta と呼ばれる独自の開発用 IDE があります。問題は、IDE にはオートコンプリートやコード フォールディングなどのいくつかの不足があることです。そのため、Anjuta がこの種の機能を備えるようになるまでは、Eclipse を使用して開発する方がよいでしょう。
そこで、JavaScript をサポートするように Eclipse のセットアップを開始します。エクリプスのセットアップ
ディストリビューションのアプリ ストアから Eclipse をインストールします。Eclipse を開き、ワークスペースを選択します。「ヘルプ」に移動します。「新しいソフトウェアをインストールする」。[利用可能なすべてのサイトで作業する] を選択します。JavaScript を検索します。インストール。それでおしまい!
Eclipse を使用して最初の拡張機能を作成しましたが、コード補完機能を有効にしたいと考えています。この機能は、コード作成を高速化するのに非常に役立ちます。
JavaScript プロジェクトに正しい「インクルード パス」を設定する必要があると思います。しかし、追加する必要があるパスが見つかりません。
注: Fedora 19 の JavaScript 開発ツールで Eclipse Kepler を使用しています。
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でも...)。誰かが私のばかげた間違いを指摘したり、この種のものをデバッグする方法についていくつかの指針を与えたりすることができれば、それは大歓迎です!
javascript - gjs g_data_input_stream_read_line_async を使用して Gnome シェル拡張でソケット ストリームを読み取る方法
ソケット サーバーを介して Arduino と通信する Gnome-Shell 拡張機能を作成しようとしています。サーバーと Arduino は正常に動作していますが、受信サーバー メッセージをリッスンする拡張コードで行き詰まっています。
ブロックしないアプローチが必要なので、read_line_asyncを使用するのは完璧に思えます。
しかし、私はそれを機能させることができません。ここに私がこれまでに得たものがあります(関連部分):
非同期関数は問題なく開始さ_SocketRead
れ、サーバーから受信した行があるときにも呼び出されますが、 でデータを読み取ることができませんread_line_finish()
。
私は gio と拡張機能の開発にまったく慣れていないので、明らかなことを見逃す可能性があります。
私には、 GAsyncResultread_line_finish()
パラメーターが欠落しているように見えますが、実装方法についての手がかりがありません。
編集:
Callback 関数と read_line_finish() にパラメータがありませんでした。Gerdの答えのおかげで、私はそれを機能させることができました。「説明」の下のGIOリファレンスにリンクされている例を理解するのに役立ちました。したがって、比較のための作業コードは次のとおりです。
gnome - Telepathy-Glib-GJS で要求されたプレゼンスを設定するには?
Telepathy Developer's Manualによると、「アカウントをオンラインにするには、RequestedPresence をオンライン状態に設定します[..]」
GJSの下のTelepathyGlib.Accountの場合、TelepathyGLib.Account.prototype.get_requested_presence を確認できますが、同等のセッターは確認できません。GJS/TelepathyGlib でテレパシー アカウントをオンラインにする正しい方法は何ですか?
javascript - GNOME Javascript アプリケーション開発のための Anjuta 設定
Anjuta で GNOME JavaScript アプリケーションのチュートリアルを実行しようとしています。
しかし、次のエラーが表示されます。
Anjuta には、JavaScript 環境用に次の設定があります。
AntergOS (Arch Linux) を使用しています。次のエラーが表示されるため、GirとGjsのパスが正しくない可能性がありますconst: Command not found
。
上記のエラーの問題は何でしょうか?
Anjuta Java プロジェクトに関連する問題を見つけました: How to import an existing Java project in the Anjuta IDE?