[Ranger] Como eu faço pra setar um wallpaper utilizando o ranger?

Boa noite, gostaria de saber como eu seto um um papel de parede com o ranger. Eu uso o nitrogen pra isso, porem seria melhor eu fazer isso direto no ranger.

Fala @Flamezito157 tudo bom? :slight_smile:

Então, eu não acho que o ranger tenha essa funcionalidade, mas uma ideia aqui:

Se você usar o nitrogen para colocar um wallpaper e chamar esse arquivo de “wallpaper.jpg” por exemplo, você pode usar o ranger para sobrescrever ele sempre com um novo, chando ele de “wallpaper.jpg” colocando no mesmo lugar do arquivo original, assim sempre que você substituir os arquivos, o wallpaper deve trocar. Não sei se funciona mesmo, mas vale o teste. :slight_smile:

Abraços!

1 curtida

Crie um comando personalizado, com o auxilio do utilitário feh para definir o wallpaper.

Em ~/.config/ranger/ crie um arquivo com o nome de commands.py e adicione o conteúdo abaixo.

from ranger.api.commands import *
from os.path import basename


class setwall(Command):
    def execute(self):
        _img = self.fm.thisfile
        self.fm.notify(f'Set {basename(str(_img))} as wallpaper!')
        self.fm.run(f'feh --bg-fill {_img}')

Tendo isso, basta pressionar :[Dois Pontos] e digitar nesse caso setwall, ele definirá a imagem selecionada como wallpaper.


* Obs.: Isso é somente um exemplo, portanto cabem muitas melhorias…

1 curtida

Boa tarde, eu testei o seu código e funcionou, porem eu acabei descobrindo que tem como fazer isso apertando “bg” na imagem que você quer usar. Uma outra coisa, como eu faço pra iniciar o bspwm com a imagem que eu selecionei no ranger?

Enfim, consegui aqui. Era só eu adicionar esse comando no meu bspwmrc.
print

Se utilizar o feh, para definir o wallpaper, não precisa ficar copiando a imagem, porque ele mesmo cria na sua /home um arquivo executável oculto chamado .fehbg, com os comandos e o caminho da imagem usada, bastando simplesmente executar na inicialização do bspwm, adicionando no seu bspwmrc a seguinte linha.

~/.fehbg &
1 curtida

Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.