Как иметь другой фон для каждой рабочей области в MATE

Загрузите maven с официального сайта maven и извлеките

Переместите каталог приложения в / usr / local

sudo cp -R apache-maven-X.X.X /usr/local

Сделайте мягкую ссылку в / usr / bin для универсального доступа mvn

sudo ln -s /usr/local/apache-maven-X.X.X/bin/mvn /usr/bin/mvn

Проверить установку mvn

mvn --version
5
задан 12 August 2017 в 23:38

5 ответов

Хотя я не мог его протестировать, из-за того, что у меня нет Mate avaialble atm, смотрящего на выходе wmctrl -d и учитывая тот факт, что обои на Mate, очевидно, установлены с тем же gsettings command, я не вижу причин, почему это не должно работать.

Скрипт

Скрипт ниже - это отредактированная версия этого и вид экзерпата того, который я нажал Launchpad. Как бы то ни было, этот не будет работать для Mate, так как я добавил сеансовую проверку в том, что для Unity или Budgie.

Если вы можете подтвердить, что скрипт ниже работает над Mate, Возможно, отредактируйте версию ppa, чтобы включить Mate.

Сценарий

#!/usr/bin/env python3
import subprocess    
import os
import time

try:
    os.mkdir(os.path.join(os.environ["HOME"], ".config/wswitcher"))
except FileExistsError:
    pass

workspace_data = os.environ["HOME"]+"/.config/wswitcher/wallpaper_data_"
key = [
    "gsettings get ",
    "gsettings set ",
    "org.gnome.desktop.background picture-uri",
    ]

def getwall():
    return subprocess.check_output(
        ["/bin/bash", "-c", key[0]+key[2]]
        ).decode("utf-8").strip()

def get_res():
    # get resolution
    xr = subprocess.check_output(["xrandr"]).decode("utf-8").split()
    pos = xr.index("current")
    return [int(xr[pos+1]), int(xr[pos+3].replace(",", "") )]

def current_ws():
    # get the current workspace
    wsdata = subprocess.check_output(["wmctrl", "-d"]).decode("utf-8").splitlines()
    return [l.split()[0] for l in wsdata if "*" in l][0]

def wswitcher(curr_ws1, currwall1):
    while True:
        time.sleep(1)
        currwall2 = getwall()
        curr_ws2 = current_ws()
        datafile = workspace_data+curr_ws2
        if curr_ws2 == curr_ws1:
            if currwall2 != currwall1:
                open(datafile, "wt").write(currwall2)
        else:
            if not os.path.exists(datafile):
                open(datafile, "wt").write(currwall2)
            else:
                curr_set = open(datafile).read()
                command = key[1]+key[2]+' "'+str(curr_set)+'"'
                subprocess.Popen(["/bin/bash", "-c", command])
        curr_ws1 = curr_ws2
        currwall1 = getwall()

curr_ws1 = current_ws(); currwall1 = getwall()
wswitcher(curr_ws1, currwall1)

Как использовать

Скопировать сценарий в пустой файл Сохранить как [ f6] Протестируйте его командой:
python3 /path/to/wallswitcher.py
Затем просто запустите настройку своих обоев, как показано здесь. Если все работает нормально, добавьте его в приложения для запуска:
/bin/bash -c "sleep 10 && /path/to/wallswitcher.py
1
ответ дан 22 May 2018 в 19:35

Хотя я не мог его протестировать, из-за того, что у меня нет Mate avaialble atm, смотрящего на выходе wmctrl -d и учитывая тот факт, что обои на Mate, очевидно, установлены с тем же gsettings command, я не вижу причин, почему это не должно работать.

Скрипт

Скрипт ниже - это отредактированная версия этого и вид экзерпата того, который я нажал Launchpad. Как бы то ни было, этот не будет работать для Mate, так как я добавил сеансовую проверку в том, что для Unity или Budgie.

Если вы можете подтвердить, что скрипт ниже работает над Mate, Возможно, отредактируйте версию ppa, чтобы включить Mate.

Сценарий

#!/usr/bin/env python3 import subprocess import os import time try: os.mkdir(os.path.join(os.environ["HOME"], ".config/wswitcher")) except FileExistsError: pass workspace_data = os.environ["HOME"]+"/.config/wswitcher/wallpaper_data_" key = [ "gsettings get ", "gsettings set ", "org.gnome.desktop.background picture-uri", ] def getwall(): return subprocess.check_output( ["/bin/bash", "-c", key[0]+key[2]] ).decode("utf-8").strip() def get_res(): # get resolution xr = subprocess.check_output(["xrandr"]).decode("utf-8").split() pos = xr.index("current") return [int(xr[pos+1]), int(xr[pos+3].replace(",", "") )] def current_ws(): # get the current workspace wsdata = subprocess.check_output(["wmctrl", "-d"]).decode("utf-8").splitlines() return [l.split()[0] for l in wsdata if "*" in l][0] def wswitcher(curr_ws1, currwall1): while True: time.sleep(1) currwall2 = getwall() curr_ws2 = current_ws() datafile = workspace_data+curr_ws2 if curr_ws2 == curr_ws1: if currwall2 != currwall1: open(datafile, "wt").write(currwall2) else: if not os.path.exists(datafile): open(datafile, "wt").write(currwall2) else: curr_set = open(datafile).read() command = key[1]+key[2]+' "'+str(curr_set)+'"' subprocess.Popen(["/bin/bash", "-c", command]) curr_ws1 = curr_ws2 currwall1 = getwall() curr_ws1 = current_ws(); currwall1 = getwall() wswitcher(curr_ws1, currwall1)

Как использовать

Скопировать сценарий в пустой файл Сохранить как wallswitcher.py Протестируйте его командой: python3 /path/to/wallswitcher.py Затем просто запустите настройку своих обоев, как показано здесь. Если все работает нормально, добавьте его в приложения для запуска: /bin/bash -c "sleep 10 && /path/to/wallswitcher.py
1
ответ дан 18 July 2018 в 08:43

Хотя я не мог его протестировать, из-за того, что у меня нет Mate avaialble atm, смотрящего на выходе wmctrl -d и учитывая тот факт, что обои на Mate, очевидно, установлены с тем же gsettings command, я не вижу причин, почему это не должно работать.

Скрипт

Скрипт ниже - это отредактированная версия этого и вид экзерпата того, который я нажал Launchpad. Как бы то ни было, этот не будет работать для Mate, так как я добавил сеансовую проверку в том, что для Unity или Budgie.

Если вы можете подтвердить, что скрипт ниже работает над Mate, Возможно, отредактируйте версию ppa, чтобы включить Mate.

Сценарий

#!/usr/bin/env python3 import subprocess import os import time try: os.mkdir(os.path.join(os.environ["HOME"], ".config/wswitcher")) except FileExistsError: pass workspace_data = os.environ["HOME"]+"/.config/wswitcher/wallpaper_data_" key = [ "gsettings get ", "gsettings set ", "org.gnome.desktop.background picture-uri", ] def getwall(): return subprocess.check_output( ["/bin/bash", "-c", key[0]+key[2]] ).decode("utf-8").strip() def get_res(): # get resolution xr = subprocess.check_output(["xrandr"]).decode("utf-8").split() pos = xr.index("current") return [int(xr[pos+1]), int(xr[pos+3].replace(",", "") )] def current_ws(): # get the current workspace wsdata = subprocess.check_output(["wmctrl", "-d"]).decode("utf-8").splitlines() return [l.split()[0] for l in wsdata if "*" in l][0] def wswitcher(curr_ws1, currwall1): while True: time.sleep(1) currwall2 = getwall() curr_ws2 = current_ws() datafile = workspace_data+curr_ws2 if curr_ws2 == curr_ws1: if currwall2 != currwall1: open(datafile, "wt").write(currwall2) else: if not os.path.exists(datafile): open(datafile, "wt").write(currwall2) else: curr_set = open(datafile).read() command = key[1]+key[2]+' "'+str(curr_set)+'"' subprocess.Popen(["/bin/bash", "-c", command]) curr_ws1 = curr_ws2 currwall1 = getwall() curr_ws1 = current_ws(); currwall1 = getwall() wswitcher(curr_ws1, currwall1)

Как использовать

Скопировать сценарий в пустой файл Сохранить как wallswitcher.py Протестируйте его командой: python3 /path/to/wallswitcher.py Затем просто запустите настройку своих обоев, как показано здесь. Если все работает нормально, добавьте его в приложения для запуска: /bin/bash -c "sleep 10 && /path/to/wallswitcher.py
1
ответ дан 24 July 2018 в 19:09

Решение, предложенное Jacob Vlijm, отлично работает на моем Mate, при условии, что я изменяю org.gnome.desktop.background picture-uri на org.mate.background picture-filename в скрипте (информация найдена здесь).

1
ответ дан 18 July 2018 в 08:43

Решение, предложенное Jacob Vlijm, отлично работает на моем Mate, при условии, что я изменяю org.gnome.desktop.background picture-uri на org.mate.background picture-filename в скрипте (информация найдена здесь).

1
ответ дан 24 July 2018 в 19:09

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

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