我一直在爭奪可怕的侏儒API文檔以及與此延伸過來的Gnome外殼擴展查詢:如何使更改
const St = imports.gi.St;
const Main = imports.ui.main;
const Tweener = imports.ui.tweener;
const GLib = imports.gi.GLib;
let label;
function init() {
label = new St.Bin({ style_class: 'panel-label' });
let stuff = GLib.spawn_command_line_sync("cat /home/user/temp/hello")[1].toString();
let text = new St.Label({ text: stuff });
label.set_child(text);
}
function enable() {
Main.panel._rightBox.insert_child_at_index(label, 0);
}
function disable() {
Main.panel._rightBox.remove_child(label);
}
這應該閱讀無論是在hello
文件和顯示它頂部面板。但是,如果我更改hello
文件的內容,則必須重新啓動Gnome才能顯示新內容。現在,當然有一種方法可以動態執行此操作,但我無法在文檔中找到任何內容。面板中的信息基本上總是反映文件中的任何內容。任何想法如何做到這一點?
這是偉大的!我希望這個東西被清楚地記錄在某處:(還有一個問題:如何監視命令的輸出?假設我想運行ping並在頂部面板中顯示每個數據包的時間?感謝您的幫助! – mart1n
這就是值得一個完整的問題和答案,但這個C代碼可能讓你開始:https://github.com/ptomato/gnome-inform7/blob/master/src/spawn.c#L215說到C代碼,不幸的是,您正確的GJS文檔的最佳選擇是閱讀C API:https://developer.gnome.org/gio/stable/GFileMonitor.html#GFileMonitor-changed – ptomato