Использовать другой менеджер окон с gnome3?

Немного изменил сценарий Джейкоба. Во-первых, с помощью 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. Все еще нет. Где вы все это узнали.

Серьезно, где я изучаю этот материал.

1
задан 23 April 2018 в 20:59

2 ответа

Поскольку 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/ в качестве ссылки.

2
ответ дан 17 July 2018 в 16:19

Поскольку 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/ в качестве ссылки.

2
ответ дан 23 July 2018 в 17:12

Другие вопросы по тегам:

Похожие вопросы: