Немного изменил сценарий Джейкоба. Во-первых, с помощью dconf watch / и включения / выключения hotcorners в инструменте single-tweak-tool, чтобы узнать, какие переменные (?) Меняются
У меня есть окна, связанные с нижним левым углом, установка находится в [ f3] Кроме того, в нижнем правом углу есть рабочее пространство, настройка находится в /org/compiz/profiles/unity/plugins/scale/initiate-edge. Спасибо, Google и 2-дневный семинар по коду:
#!/usr/bin/env python3
import subprocess
key = "/org/compiz/profiles/unity/plugins/expo/expo-edge" #<-- this is for "show workspaces"
val_on = "'BottomRight'"
def test():
# read the current setting
# if one corner is on, other is also on and vice versa, no need to check both
return subprocess.check_output(["dconf", "read", key]).decode("utf-8").strip() == val_on
currstate = test()
if currstate == True:
# if currently hotcorners are "on", set it to "''"
newval = "''"
othercorner = "''"
else:
# if currently hotcorners are "off", set it to val_on
newval = val_on
othercorner = "'BottomLeft'"
subprocess.Popen(["dconf", "write", key, str(newval)])
# this is for "windows spread"
subprocess.Popen(["dconf", "write", "/org/compiz/profiles/unity/plugins/scale/initiate-edge", str(othercorner)])
Воля, работал как шарм. [ ! d5]
Действительно большое спасибо @Jacob за предоставленную мне информацию и базовый скрипт, потому что я понятия не имею, что делает dconf или как использовать python. Все еще нет. Где вы все это узнали.
Серьезно, где я изучаю этот материал.
Поскольку GNOME Shell является диспетчером окон, нет, вы не можете заменить WM и запустить GNOME Shell (т. е. GNOME 3).
Вы пытаетесь создать сеанс таким же образом, как и вы было бы с GNOME 2.x 10 лет назад. Это не работает с современной системой и т. Д. Вам нужно будет создать цель systemd для сеанса, который вы хотите определить, и сделать что-то подобное в своем gnome-stump.desktop:
Exec=/usr/lib/gnome-session/run-systemd-session gnome-stump-session.target
Вы можете просматривать обычные цели в /usr/lib/systemd/user/ в качестве ссылки.
Поскольку GNOME Shell является диспетчером окон, нет, вы не можете заменить WM и запустить GNOME Shell (т. е. GNOME 3).
Вы пытаетесь создать сеанс таким же образом, как и вы было бы с GNOME 2.x 10 лет назад. Это не работает с современной системой и т. Д. Вам нужно будет создать цель systemd для сеанса, который вы хотите определить, и сделать что-то подобное в своем gnome-stump.desktop:
Exec=/usr/lib/gnome-session/run-systemd-session gnome-stump-session.target
Вы можете просматривать обычные цели в /usr/lib/systemd/user/ в качестве ссылки.