Ubuntu+Gnome(Wayland)ã§ã¿ã¼ããã«ã¦ã¤ã³ãã¦ã®è¡¨ç¤ºã»é表示ã®ãã¼ãã¤ã³ããè¨å®ãã
éå»ãMacã®ã¿ã¼ããã«ããã¼å ¥åä¸ã¤ã§è¡¨ç¤ºã»é表示ããã¹ã¯ãªãããæ¸ããã®ã§ãããæè¿ä¹ ã ã«ã¡ã¤ã³ç«¯æ«ãUbuntuã«ããã®ã§ãã¡ãã§ãåãããã«ã¿ã¼ããã«ã®è¡¨ç¤ºã»é表示ãã³ãã³ãä¸ã¤ã§å®è¡ã§ããããã«ãã¦ã¿ã¾ããã
以åã®è¨äºã¯ä»¥ä¸ã§ãã
ã¿ã¼ããã«ã ãã§ã¯ãªãããã©ã¦ã¶ãã¨ãã£ã¿ãªã©å¥ã®Windowãæä½ã§ãã¾ãã
åæ
以ä¸ã®ç°å¢ã使ç¨ãã¾ãã
Gnome-Extensionãå ¥ãã
ã¾ãã¯ã¯ããã«Windowãæä½ããããã«Gnome Extensionãå ¥ãã¾ãã
å ¥ããextensionã¯ãã¡ãã§ãã
https://github.com/ickyicky/window-calls
Gnomeã®ãã¤ãããããã£ã¹ãã¬ã¤ãµã¼ãã¼ãããã³ã«ãXorgããwaylandã«å¤æ´ããã¦ãããã»ãã¥ãªãã£ä¸ã®çç±ããXorgã§ä½¿ç¨å¯è½ã ã£ã xdotool
ã³ãã³ãã«ããæä½ãä¸é¨ã§ããªããªã£ã¦ãã¾ã£ã¦ãã¾ãã
ç¾å¨ã®ç¶æ ã§ãxdotoolã«ãã£ã¦æä½ã§ããã¦ã¤ã³ãã¦ãããã¿ããã§ãããGnome-Terminalã¯æä½ãããã¨ãã§ãã¾ããã§ããã
ããã§ãä¸è¨ã®æ¡å¼µæ©è½ã追å ãããã¨ã§ã gdbus
ãçµç±ãã¦å種æä½ãè¡ããããã«ãã¾ãã
Toggleã¹ã¯ãªãããæ¸ã
extensionãå ¥ãããgdbusçµç±ã§ã¦ã¤ã³ãã¦ã®æä½ãã§ããããã«ãªããããã¹ã¯ãªãããçµãã§ãã°ã«æä½ãã§ããã³ãã³ããä½ãã¾ãã
以ä¸ãä»åè¨è¿°ããã¹ã¯ãªããã§ãã
#!/bin/bash GDBUS_RESULT=`gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell/Extensions/Windows --method org.gnome.Shell.Extensions.Windows.List | cut -c 3- | rev | cut -c4- | rev` W_ID_LIST=`echo ${GDBUS_RESULT} | jq -c '.[] | select (.in_current_workspace == true and .wm_class == "gnome-terminal-server") | .id'` W_FOCUS_LIST=`echo ${GDBUS_RESULT} | jq -c '.[] | select (.in_current_workspace == true and .wm_class == "gnome-terminal-server") | .focus'` for W_ID in ${W_ID_LIST}; do if [[ "${W_FOCUS_LIST}" == *true* ]]; then # if it containes at lease one focus == true # all hide gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell/Extensions/Windows --method org.gnome.Shell.Extensions.Windows.Minimize ${W_ID} else # show gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell/Extensions/Windows --method org.gnome.Shell.Extensions.Windows.Activate ${W_ID} fi done
gnome-terminal-server
ã®é¨åãå¤æ´ãããã¨ã§ä»ã®ã¦ã¤ã³ãã¦ã«ãé©ç¨ã§ãã¾ãã
é©å½ã«ããæãã®å ´æã«ç½®ãã¦ããã¦ãã ããã
bash ./toggle_terminal.sh # ã¿ã¼ããã«ããã©ã¼ã«ã¹ç¶æ ãªã®ã§é表示ã«ãªã sleep 3; toggle_terminal.sh # ãã©ã¼ã«ã¹ãå¥ã®ã¦ã¤ã³ãã¦ã«ç§»ãã¨ã3ç§å¾ã¹ã¯ãªããã«ãã£ã¦æåé¢ã«è¡¨ç¤ºããã
ãã®ã¹ã¯ãªããã§ã¯ãã¦ã¤ã³ãã¦ã®ç¶æ ï¼ãã©ã¼ã«ã¹ããã¦ãããã©ããï¼ã«ãã£ã¦è¡¨ç¤ºã»é表示ãåãæ¿ããã¾ããè¤æ°ã¦ã¤ã³ãã¦ã«ã対å¿ãã¦ããããã¹ã¦ã®ã¿ã¼ããã«ãåæã«è¡¨ç¤ºã»é表示ããã¾ãã
è¨å®ãããã¼ãã¤ã³ãã«å²ãå½ã¦ã
ãã¦ã次ã¯ä¸è¨ã§ä½æããã¹ã¯ãªããããã¼ãã¤ã³ãã«å²ãå½ã¦ããã¼å ¥åä¸ã¤ã§åãæ¿ããããã«ãããã§ãã
Gnomeã®è¨å®ããããã¼ãã¼ãâãã¼ãã¼ãã·ã§ã¼ãã«ããã§è¨å®ã§ãã¾ãã
ã«ã¹ã¿ã ã·ã§ã¼ãã«ãããä¸çªä¸ã«ããã¾ãã
/path/to/toggle_terminal.sh
ããèªèº«ã®ã¹ã¯ãªããã®ãã¹ã«ç½®ãæãã¦ãã ããã
ä»åã¯ãç§ããã¤ã使ã£ã¦ãã Alt+`
ã«å²ãå½ã¦ã¾ããã
(Option) Gnomeã®ããã©ã«ããã¼ãã¤ã³ããç¡å¹åãã
ãããè¨å®ããããã¼å
¥åãGnomeã«ãã£ã¦ä½¿ããã¦ãã¾ã£ã¦ããå ´åãä¸è¨ã®è¨å®ã ãã§ã¯ä½¿ããã¨ãã§ãã¾ããã Alt+`
ãGnomeã®ã¦ã¤ã³ãã¦é¸ææ©è½ã«ä½¿ããã¦ãã¾ã£ã¦ããããã使ç¨ãããã¨ãã§ãã¾ããã§ããã
ãã®å ´åã¯ãdconfã§Gnomeã®æåãæ¸ãæãã¦ãã¾ãã¾ããä¸ä¾ã¨ã㦠`Alt+`
ã®å ´åã®ç·¨éæ¹æ³ãè¨è¼ãã¦ããã¾ãã
apt install dconf-editor
ã§dconf-editorãå
¥ãèµ·åãã¾ãã
/org/gnome/desktop/wm/keybindings/
ãéã switch-group
ã®è¨å®ãç·¨éãã¾ãã Use default valueãç¡å¹ã«ããCustom value似次ã®ããã«è¨è¼ãã¾ãï¼ç©ºã«ã¯ã§ããªããããªã®ã§å²ãå½ã¦ããã¤ã³ãã¯ä½ã§ãOKã§ãï¼
['<Ctrl><Shift><Super>Above_Tab', '<Ctrl><Shift><Alt>Above_Tab']
ãã¡ãã®è¨äºãåèã«ããã¦ããã ãã¾ããã
以ä¸ã§è¨å®çµäºã§ãã