#!/bin/bash
# get the window ID of the target window
WINDOW_ID=$(wmctrl -l | grep "Android Emulator - " | awk '{print $1}')
# define the code to execute when the window is maximized
function on_maximize() {
wmctrl -i -r $(wmctrl -l | grep ' Android Emulator - ' | sed -e 's/\s.*$//g') -b add,above
wmctrl -i -r $(wmctrl -l | grep ' Emulator$' | sed -e 's/\s.*$//g') -b add,above
}
# define the code to execute when the window is minimized
function on_minimize() {
wmctrl -i -r $(wmctrl -l | grep ' Android Emulator - ' | sed -e 's/\s.*$//g') -b remove,above
wmctrl -i -r $(wmctrl -l | grep ' Emulator$' | sed -e 's/\s.*$//g') -b remove,above
}
# set initial window state to "unknown"
WINDOW_STATE="unknown"
# loop forever and check for window events
while true; do
# wait for the window to be maximized or minimized
geometry_output=$(xdotool getwindowgeometry $WINDOW_ID 2>&1)
# check if the window was maximized or minimized
if [[ "$(xprop -id $WINDOW_ID _NET_WM_STATE | grep '_NET_WM_STATE_HIDDEN')" != "" ]]; then
if [[ "$WINDOW_STATE" != "minimized" ]]; then
WINDOW_STATE="minimized"
on_minimize
fi
else
if [[ "$WINDOW_STATE" != "maximized" ]]; then
WINDOW_STATE="maximized"
on_maximize
fi
fi
# discard the output of the xdotool command
echo "$geometry_output" > /dev/null
done
7条答案
按热度按时间xoefb8l81#
我也有同样的问题。我像下面这样解决:
1.右键单击模拟器顶部栏,并将其设置为始终在顶部
1.右键单击 Jmeter 板上的模拟器图标,选择“模拟器”,这次使用快捷键ALT +空格显示上下文菜单,并再次选择始终在顶部。
就是这样!
注意:* 每次最小化模拟器窗口时,请重新执行上述步骤。*
a11xaf1n2#
在活动窗口模拟器上,按alt + space,选择始终在顶部。
1hdlvixo3#
终端中的快速方式(切换always_on_top):
4ngedf3f4#
单击模拟器侧栏上的更多选项按钮。进入设置。激活选项“显示设备周围的窗口框架”。然后右键单击模拟器的窗口框架。点击“始终在顶部”选项。就是这样
gjmwrych5#
我知道这个问题是Ubuntu的,但是任何想要其他解决方案的人,就像我在Debian上一样,你可以试试这个:
r6l8ljro6#
它在Windows上的工作
->遵循2个步骤:-
5gfr0r5j7#
Andrey Izman's answer很好,但是当模拟器最小化时,“总是在最上面”的特性就丢失了...
基于他的代码,我编写了一个shell脚本,每当模拟器最大化时,它就会激活“总是在最上面”,每当模拟器最小化时,它就会停用该功能。
下面是脚本的代码:
现在按照以下步骤操作:
1.将脚本另存为.sh文件,保存在任意位置,例如
~/scripts/emulator_always_on_top.sh
。1.在终端中使用
~/scripts/emulator_always_on_top.sh &
执行。&
作为守护进程(后台进程)运行非常重要。瞧!
要关闭它,您需要手动杀死该进程。在系统监视器中查找
emulator_always_on_top.sh
进程并杀死它。也许有一天我会调整到一个更简单的方式...敬请接受旨在改进此方法的意见!
P.S.:GPT帮助我编写这段代码!虽然它花了几次迭代才取得成功。