我正在尋找一種方法來從腳本啓動一些GUI應用程序,以便應用程序窗口以與啓動應用程序相同的順序顯示。這可能嗎?有沒有辦法告訴啓動的GUI應用程序何時顯示其窗口?
2
A
回答
2
我能想到的唯一事情是比啓動腳本複雜的東西。例如一個應用程序管理器,並使用事件(在你的情況下「應用程序啓動」事件)來啓動下一個應用程序,所以
如果你試圖從控制檯啓動應用程序,並希望他們完成初始化/同樣的順序,你啓動它們,然後它不起作用,因爲你無法控制加載應用程序需要多長時間。
如何應用程序可以與應用程序管理器通信,告訴它,他們完成加載使用的inter-process communication
許多可用的機制,如果在另一方面,這些應用都不是你的,你無法實現IPC,然後你必須找到另一種方法來確定在啓動下一個應用程序之前它們是否已經啓動,如果它們提供了它們,可能會對它們執行ping操作,或者搜索它們在重新啓動時創建的某些文件,或者其他任何可以檢測到的行爲並根據它來決定申請是否已經開始
3
對於wmctrl這似乎是一個工作,對於e xample:
wait_for_window() {
"[email protected]" &
local PID=$!
while test -z "$(wmctrl -pl | awk "\$3 ~ $PID")"; do
sleep 1
done
}
wait_for_window gnome-calculator
wait_for_window gnome-terminal
這可能需要一些調整,因爲PID和窗口之間的關係並不總是微不足道的,但你的想法。
相關問題
- 1. 有沒有辦法顯示WPF應用程序的啓動畫面?
- 2. 有沒有辦法通過REST告訴Azure VM是否啓動?
- 3. 有沒有辦法讓firebug同時顯示Console和HTML窗口?
- 4. JavaFX GUI窗口沒有顯示
- 5. Python:有沒有辦法告訴程序回去?
- 6. 有沒有辦法告訴gcc從鍵盤上讀取程序?
- 7. 當顯示模態窗口時,有沒有辦法讓其他窗口保持活動狀態?
- 8. 有沒有辦法告訴NTP何時更新了時間
- 9. 有沒有辦法知道最近的應用程序何時啓動?
- 10. 有沒有辦法告訴GUICtrlCreateInput是否在其中有文字?
- 11. 有沒有辦法限制UIDocumentInteractionController中顯示的應用程序?
- 12. 有沒有辦法從Firefox和鉻啓動EXE應用程序
- 13. 有沒有辦法啓動一個Express應用程序?
- 14. 有沒有辦法知道應用程序第一次啓動?
- 15. 有沒有辦法減小NSWorkSpace啓動的窗口大小?
- 16. 有沒有辦法告訴子程序是否有運行時日誌(n)?
- 17. 僅在應用程序啓動時顯示彈出窗口
- 18. WinForms應用程序顯示黑色窗口+啓動時
- 19. 如何啓動.net窗體窗體應用程序沒有可見的窗口?
- 20. 有沒有辦法運行c#窗體應用程序而不顯示GUI窗口(如控制檯應用程序)
- 21. wpa_supplicant告訴「沒有驅動程序啓用」
- 22. 沒有顯示窗口C#應用程序處理中的telnet
- 23. 有/沒有顯示窗口
- 24. Qt5快速應用程序窗口沒有在Windows上顯示
- 25. 如何啓動沒有顯示關聯的X11窗口
- 26. 有沒有辦法在LWJGL/LibGDX中設置應用程序窗口的位置?
- 27. xcb:如何啓動應用程序並將其顯示到窗口中
- 28. 可能在沒有GUI的情況下啓動應用程序,但在需要時顯示GUI?
- 29. 沒有窗口的Mac應用程序
- 30. 沒有窗口的Windows應用程序
感謝您的詳細解釋。 –