Como definir um site com informações ao vivo como papel de parede da área de trabalho


10

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

É possível definir isso como 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 pergunta é semelhante em espírito: como definir o feed de vídeo ao vivo da ISS como meu plano de fundo da á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 (portanto, quando você clica na área de trabalho, ele se comporta como um navegador)
  • ele cobre 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 cheia

@ Esta questão está bem próxima! Na verdade não, essa pergunta perguntar como definir um vídeo como papel de parede, a sua pergunta perguntar como configurar um site interativo como papel de parede
Stackcraft_noob

As perguntas são realmente diferentes e, portanto, as respostas para a outra pergunta não são aplicáveis ​​a esta. É por isso que acho que justifica uma nova pergunta.
Octopus

Você já tentou olhar para o Rainmeter? Tenho certeza que existe um plugin para isso!
Ivanempire 5/07

Eu queria um mapa interativo com zoom do mundo, com opções de mapeamento de cores! : p
jiggunjer 17/10

Você quer dizer Active Desktop ? Oh, espere ... A Microsoft retirou esse recurso do Windows. : /
Eu digo Reinstate Monica

Respostas:


2

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

Ele pode tirar fotos de um feed RSS e atualizar automaticamente sua área de trabalho.

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

Na verdade, não sei como configurar um feed RSS, mas se você tiver alguma dúvida sobre variedade, entre em contato.

Editar:

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

  1. Execute sudo apt-get install libqt5webkit5 python3-pyqt5.qtwebkit python3-pyqt5 python3para instalar as bibliotecas necessárias
  2. Configure um arquivo com o seguinte código python3. Este código tira uma captura de tela do WEBSITE_URL e atualiza a á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 yourfilepathsob comando. Substitua yourfilepathpelo caminho para onde você salvou o pythonscript. Isso executará o script a cada 3600 segundos = 1 hora.

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


Então você tem uma solução, mas não sabe como implementá-la ou mesmo se ela é realmente viável? Isso não é resposta.

@FleetCommand Estou apenas tentando ajudar ... Já é um começo. Desculpe ...
staad

Eu sei que você é Mas este não é um site "tentando ajudar". Este é um site de ajuda. Suas respostas devem ser soluções completas e independentes que tenham uma probabilidade muito alta de trabalhar em um sistema saudável.

@FleetCommand, veja edit
#
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.