Alterne seu papel de parede
Não literalmente o que você pediu, mas a melhor opção, até onde eu posso ver: um atalho para alternar entre o seu papel de parede usual (o script vai descobrir), e um pré - papel de parede escolhido, a ser definido na cabeça do script.
Meu papel de parede secreto: (que eu não quero que as pessoas vejam) :)
Pressioneoatalho,Meupapeldeparede"público" está definido. Pegue a captura de tela:
Pressioneoatalhonovamente:
Porqueessapareceseramelhoropção
- Nasuapergunta,vocêmencionaautomaticamente"substituir" o papel de parede na captura de tela (ou gravação) por outro papel de parede. No entanto, todos os aplicativos mencionados fazem uma gravação em uma camada de pixels. Separar papel de parede e primeiro plano é praticamente impossível, a menos que você o faça manualmente (o que é um trabalho exigente).
- Nos comentários, falamos sobre definir automaticamente outro papel de parede uma vez que a captura de tela é (vai ser) realizada, mas como você executa
Shutter
continuamente em segundo plano, e você executa o comando seu menu do painel, parece impossível encontrar um gatilho. Opid
deShutter
obviamente não é, e o menu não aparece como uma janela na saída dewmctrl -l
- Mesmo se pudermos encontrar um processo filho de
Shutter
assim que a captura de tela estiver sendo realizada, a ação teria ocorrido antes de podermos alterar o papel de parede.
Então ...
Abaixo de um script para usar sob uma tecla de atalho, para alternar seu papel de parede:
#!/usr/bin/env python3
import subprocess
import os
# --- set your replacement- wallpaper below
image = "/path/to/your/image"
# ---
currwall = os.environ["HOME"] + "/.set_wall"
key = [
"gsettings ",
"get ", "set ",
"org.gnome.desktop.background picture-uri",
]
def get(command):
return subprocess.check_output(["/bin/bash", "-c", command]).decode("utf-8").strip()
def run(command):
subprocess.Popen(["/bin/bash", "-c", command])
if not os.path.exists(currwall):
# save the (path to the) currently used wallpaper to an invisible file
cmd = key[0]+key[1]+key[-1]
open(currwall, "wt").write(get(cmd))
# set the temporary wallaper
cmd = key[0]+key[2]+key[-1]+" 'file://"+image+"'"
else:
# read the file, restore the original wallpaper
cmd = key[0]+key[2]+key[-1]+" "+open(currwall).read()
# remove the temporary file
os.remove(currwall)
run(cmd)
Como usar
- Copie o script em um arquivo vazio, salve-o como
toggle_wallpaper.py
-
Na seção head do script, defina o papel de parede secundário, que deve substituir o normal.
# --- set your replacement- wallpaper below image = "/path/to/your/image" # ---
-
Teste- execute o script com o comando:
python_3 /path/to/toggle_wallpaper.py
(duas vezes para definir o secundário e restaurar o papel de parede original)
-
Adicione o comando a uma tecla de atalho: escolha: Configurações do Sistema → Teclado → Atalhos → Atalhos Personalizados . Clique no + e adicione o comando:
python_3 /path/to/toggle_wallpaper.py