Como configurar um site com informações ao vivo como papel de parede

11

Aqui está um mapa excelente da Terra mostrando informações ao vivo sobre ventos e temperatura.

É possível definir isso como um plano de fundo da área de trabalho com atualização automática a cada poucas horas (o próprio mapa é atualizado a cada três horas)?

Esta questão é similar em espírito: Como posso definir o feed de vídeo ao vivo da ISS como plano de fundo da minha área de trabalho? .

Estou usando o Windows 10 e o Ubuntu, mas vou manter a questão mais geral.

EDIT:
O programa WallpaperWebPage tem a ideia certa, mas com as seguintes limitações:

  • abrange ícones da área de trabalho
  • é interativo (assim, quando você clica na área de trabalho, ele se comporta como um navegador)
  • abrange apenas a área de trabalho e pode ser minimizado
  • o mapa precisa de um navegador moderno e isso basicamente executa uma versão antiga do IE no modo de tela inteira
por octopus 01.01.2016 / 15:00

1 resposta

2

No Ubuntu eu uso variedade. É "um trocador automático de papel de parede, gerenciador de downloads e gerenciador".

É possível extrair fotos de um feed RSS e atualizar automaticamente sua área de trabalho.

Portanto, imagino que, se você configurar um feed RSS que faça uma captura de tela do seu website a cada x horas e crie uma variedade para ele, você terá uma solução.

Eu realmente não sei como configurar um feed RSS, mas se você tiver alguma dúvida sobre variedade, me avise.

Editar:

Aqui está uma outra maneira de fazer o que você quer.

  1. Execute sudo apt-get install libqt5webkit5 python3-pyqt5.qtwebkit python3-pyqt5 python3 para instalar as bibliotecas necessárias
  2. Configure um arquivo com o seguinte código python3. Este código faz uma captura de tela de WEBSITE_URL e atualiza sua área de trabalho do Ubuntu.

    import sys
    import time
    import os
    from PyQt5.QtCore import *
    from PyQt5.QtGui import *
    from PyQt5.QtWidgets import *
    from PyQt5.QtWebKitWidgets import *
    
    WEBSITE_URL='https://earth.nullschool.net/#current/wind/surface/level/overlay=temp/winkel3'
    OUT_FILE="websiteScreenshot.png"
    
    class Screenshot(QWebView):
        def __init__(self):
            self.app = QApplication(sys.argv)
            QWebView.__init__(self)
            self._loaded = False
            self.loadFinished.connect(self._loadFinished)
    
        def capture(self, url, output_file):
            self.load(QUrl(url))
            self.wait_load()
            # set to webpage size
            frame = self.page().mainFrame()
            self.page().setViewportSize(frame.contentsSize())
    
            # render image
            image = QImage(self.page().viewportSize(), QImage.Format_ARGB32)
            painter = QPainter(image)
            frame.render(painter)
            painter.end()
            print ('saving', output_file)
            image.save(output_file)
    
        def wait_load(self, delay=5):
            # process app events until page loaded
            while not self._loaded:
                self.app.processEvents()
            t_end = time.time() + delay
            while time.time() < t_end:
                self.app.processEvents()
            self._loaded = False
    
        def _loadFinished(self, result):
            self._loaded = True
    
    s = Screenshot()
    s.capture(WEBSITE_URL, OUT_FILE)
    
    #Update your background
    workingDir=os.path.dirname(os.path.realpath(__file__))
    os.system("gsettings set org.gnome.desktop.background picture-uri file://"+workingDir+"/"+OUT_FILE)
    
  3. Em "Aplicativos de Inicialização", pressione adicionar e digite watch -n 3600 python3 yourfilepath sob comando. Substitua yourfilepath pelo caminho para onde você salvou o pythonscript. Isso executará o script a cada 3600 segundos = 1 hora.

Observe a variável de atraso na função wait_load. Aumente seu valor se a página da Web não tiver tempo para carregar.

    
por 05.01.2017 / 20:53