我经常使用 Skype,我遇到的一个问题是,ubuntu 中没有视频弹出窗口,而 Windows 中却有。我尝试使用它wmctrl
来获得所需的结果。这是我所做的:
wmctrl -i -r ID -b add,above #Bring Skype window on top
wmctrl -i -r ID -e 0,30,30,30,30 #Try to resize it to a small size
其中 ID 是我从执行中获得的十六进制 ID wmctrl -l
。
上面的第一步工作正常。但在第二步中,我无法在一定限制后缩小窗口。有没有办法强制调整窗口大小?
我在 Ubuntu GNOME 16.04 上使用 Skype 版本5.5.0.1
,如果能以某种方式修复 Skype 的视频弹出功能(在 Windows 上运行)来解决该问题,我将不胜感激。
编辑:即使窗口被“剪切”成只有 Skype 窗口的视频部分可见,我也没问题,只要完成后可以恢复到之前的状态即可。调整大小是为了让 Skype 不会遮挡太多屏幕的其余部分。
编辑2:这是我的 wmctrl -v 命令的输出:
utkarsh@utkarsh-Inspiron-7537:~$ wmctrl -v -r "Skype for Linux Beta" -b remove,maximized_vert,maximized_horz
envir_utf8: 1
Invalid type of WM_NAME property.
Invalid type of WM_NAME property.
Using window: 0x05600001
State 2: _NET_WM_STATE_MAXIMIZED_HORZ
State 1: _NET_WM_STATE_MAXIMIZED_VERT
utkarsh@utkarsh-Inspiron-7537:~$ wmctrl -v -r "Skype for Linux Beta" -b add,above
envir_utf8: 1
Invalid type of WM_NAME property.
Invalid type of WM_NAME property.
Using window: 0x05600001
State 1: _NET_WM_STATE_ABOVE
utkarsh@utkarsh-Inspiron-7537:~$ wmctrl -v -r "Skype for Linux Beta" -e 0,50,50,200,200
envir_utf8: 1
Invalid type of WM_NAME property.
Invalid type of WM_NAME property.
Using window: 0x05600001
grflags: 3840
utkarsh@utkarsh-Inspiron-7537:~$ wmctrl -v -r "Skype for Linux Beta" -e 0,50,50,200,100
envir_utf8: 1
Invalid type of WM_NAME property.
Invalid type of WM_NAME property.
Using window: 0x05600001
grflags: 3840
utkarsh@utkarsh-Inspiron-7537:~$
最后一个命令和倒数第二个命令之间的窗口大小没有区别。
答案1
任何一个
wmctrl -r "Skype for Linux Beta" -b remove,maximized_vert,maximized_horz
xdotool search "Skype for Linux Beta" windowraise windowmove 50 50 windowsize 200 200
或者
wmctrl -r "Skype for Linux Beta" -b remove,maximized_vert,maximized_horz
wmctrl -r "Skype for Linux Beta" -b add,above
wmctrl -r "Skype for Linux Beta" -e 0,50,50,200,200
达到目的。
显然,调整大小(使用wmctrl
或xdotool
)不起作用,除非先删除窗口属性maximized_vert
和。我通常更喜欢它,因为它写得很好maximized_horz
xdotool
man xdotool
,有很多选项和清晰的语法,但似乎wmctrl
只能应付这些属性。xdotool
然而使用可以节省一个命令调用。