Como mostrar uma imagem de desktop diferente para capturar aplicativos?

1

Muitas vezes, faço capturas de tela com shutter e gravações de tela com outros aplicativos, e às vezes tenho minha imagem da área de trabalho definida como privada que não quero que as pessoas vejam meus screencasts ou capturas de tela ... Então, Acabo tendo que mudar temporariamente a minha imagem de desktop, e isso está ficando bastante irritante ... Então, eu queria saber se existe uma maneira de fazer com que os aplicativos de captura de tela vejam uma imagem de desktop diferente da real que eu configurei? Para que eu não precise alterar a imagem da área de trabalho, mas os aplicativos de captura apenas o veem como outro que eu especifiquei? Eu gostaria pelo menos de shutter se não todas as aplicações de captura de tela.

Estou executando o Ubuntu GNOME 15.10 com o GNOME 3.18.

    
por Byte Commander 17.01.2016 / 14:19

1 resposta

0

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. O pid de Shutter obviamente não é, e o menu não aparece como uma janela na saída de wmctrl -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

  1. Copie o script em um arquivo vazio, salve-o como toggle_wallpaper.py
  2. 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"
    # ---
    
  3. 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)

  4. 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
    
por Jacob Vlijm 17.01.2016 / 17:50