▲ 4 r/devuan+1 crossposts

XFCE Theme Manager

Gerenciador gráfico de temas para XFCE: GTK, ícones, wallpaper, Rofi e Mousepad — com suporte a coleções (perfis) que aplicam tudo de uma vez.

Recursos

  • Lista e aplica temas GTK, de ícones, Rofi e Mousepad.
  • Navega e aplica wallpapers com miniaturas, pré-visualização e integração com o cache de miniaturas padrão do sistema (compartilhado com Thunar/Tumbler).
  • Salva coleções: combinações de temas que podem ser editadas e aplicadas com um clique.
  • Busca/filtro dinâmico em cada lista de temas.
  • Pastas extras para cada tipo de tema, além das padrões do sistema (suporta diretórios personalizados adicionados pelo usuário).
  • Interface em Português (Brasil) e English, com detecção automática do idioma do sistema através da cadeia do GLib.
  • Estilo de Janela Configurável: Opção para usar a barra de cabeçalho integrada (CSD) ou a barra de título nativa do XFCE (xfwm4).
  • Suporte a atalhos de teclado integrados (Ctrl+, para Configurações, Ctrl+F para buscar e Ctrl+Q para sair).
  • Notificações de ações (toast) integradas não-bloqueantes para confirmações de aplicação.

Dependências

  • Python 3
  • GTK 3 + PyGObject (python3-gi)
  • xfconf-query (XFCE)
  • xfdesktop em execução (necessário para aplicar wallpapers)
  • gsettings (opcional, para o tema do Mousepad)

Uso

python3 app.py

Configurações:

  • Geral: Idioma (automático, Português ou English) e estilo da barra de título da janela.
  • Pastas: Gerenciamento das pastas extras escaneadas para wallpaper, GTK, ícones, Rofi e Mousepad.
  • Sobre: Versão do aplicativo (2.1), créditos ao desenvolvedor (Mateus Calixto) e detalhes da Licença (MIT).

Onde os temas são buscados e aplicados

Tipo Pastas padrão Aplicado via
GTK ~/.themes e pastas do XDG (ex: ~/.local/share/themes, /usr/share/themes) xfconf-query (xsettings e xfwm4)
Ícones ~/.icons e pastas do XDG (ex: ~/.local/share/icons, /usr/share/icons) xfconf-query (xsettings)
Wallpaper Pastas de backgrounds do XDG (ex: /usr/share/backgrounds) e pasta de Imagens do usuário (~/Pictures ou o equivalente traduzido pelo xdg-user-dirs, como ~/Imagens) xfconf-query (xfce4-desktop)
Rofi ~/.config/rofi/themes e pastas do XDG (ex: ~/.local/share/rofi/themes, /usr/share/rofi/themes) linha @theme diretamente no arquivo ~/.config/rofi/config.rasi
Mousepad Estilos gtksourceview em pastas do XDG (ex: /usr/share, ~/.local/share) gsettings (esquema org.xfce.mousepad.preferences.view) ou retrocompatibilidade via ~/.config/Mousepad/mousepadrc

Configuração

O aplicativo salva em ~/.config/xfce-theme-manager/config.json de forma atômica. Este arquivo armazena:

  • Idioma e pastas extras.
  • Preferência de barra de título (nativa ou header).
  • O tamanho exato (largura e altura) da janela para uso futuro.
  • As coleções cadastradas.

Licença

MIT

Releases

2.1

u/Willing-Tie-9890 — 12 days ago
▲ 15 r/linux_latam+1 crossposts

XFCE Theme Manager - Mega Update

  • Lista e aplica temas GTK, de ícones, Rofi e Mousepad
  • Navega e aplica wallpapers com miniaturas e pré-visualização
  • Salva coleções: combinações de temas que podem ser editadas e aplicadas com um clique
  • Busca/filtro em cada lista de temas
  • Pastas extras para cada tipo de tema, além das padrões do sistema
  • Interface em Português (Brasil) e English, com detecção automática do idioma do sistema

Release

2.0

u/Willing-Tie-9890 — 27 days ago
▲ 14 r/linux_latam+1 crossposts

Do Xfce-Painel ao polybar

Recentemente eu deixei de usar o painel padrão do xfce substituindo ele pela polybar, foi uma mudança significativa, ficou muito melhor e muito mais custumizavel, recomento a todos que experimentem, o único ponto negativo é a partede configurar pois tem que ter um conhecimento um pouco maior sobre o xfce, coisa que leigos e iniciantes na interface não teriam.

u/Willing-Tie-9890 — 29 days ago
▲ 12 r/linux_latam+1 crossposts

YTDLgtk - Youtube downloader

YTDLgtk é uma interface gráfica desenvolvida em Python com GTK3 para facilitar o uso do yt-dlp.

O projeto permite baixar vídeos, músicas, playlists e álbuns de forma simples, oferecendo recursos como seleção de qualidade, conversão de áudio, miniaturas, metadados, legendas e organização dos arquivos.

A proposta é oferecer uma experiência prática, moderna e intuitiva para quem prefere utilizar o yt-dlp através de uma interface gráfica.

u/Willing-Tie-9890 — 1 month ago
▲ 5 r/linux_latam+1 crossposts

Update DUP - Multi-Distro Maintenance Tool

Melhorias/atualizações

Segurança

  • install_dup_command — a cópia instalada em /usr/local/bin/dup agora recebe chown root:root + chmod 755 explícitos (em vez de só chmod +x, que apenas adicionava o bit de execução sem remover bits de escrita herdados do arquivo fonte). Evita que um dup.sh com permissões frouxas vire uma porta de escalonamento de privilégio, já que o binário roda como root via sudo dup. Também passou a checar se o cp teve sucesso antes de prosseguir.

Robustez

  • save_config — escrita passou a ser à prova de falha em cada etapa (cat, chmod, chown, mv): se qualquer uma falhar, o arquivo temporário é descartado e /etc/dup.conf nunca é substituído por uma versão parcial ou com permissões erradas.
  • install_yay — adicionado trap ... EXIT INT TERM para garantir a remoção do diretório temporário de build mesmo se o usuário interromper o script (Ctrl+C) no meio do clone/compilação do AUR.

Correções funcionais

  • upgrade_to_sid — passou a desativar também arquivos .list legados (PPAs e outros repositórios de terceiros) em sources.list.d/, não só o formato DEB822 (*.sources). Antes, um repositório apontando para o codename estável antigo continuava ativo durante o dist-upgrade para o Sid, causando conflitos de dependência. A mensagem exibida (TXT_SID_STEP_DIS) foi generalizada nos 4 idiomas, já que antes dizia especificamente "arquivo DEB822".
  • get_orphan_dry_run (Fedora) — a chamada ao dnf agora roda com LC_ALL=C LANG=C só nessa invocação. Antes, o parsing dependia do literal em inglês "Removing:"; em qualquer locale traduzido (pt-BR, es, etc.) o awk não casava nada e o script reportava silenciosamente "nenhum órfão" mesmo havendo pacotes para remover.

https://github.com/ogoncas/multi-distro-maintenance-tool

reddit.com
u/Willing-Tie-9890 — 2 months ago

DUP deixou de ser só pra Debian — agora com suporte a Fedora e Arch também

E aí, pessoal!

Há um dia compartilhei aqui o DUP, minha ferramenta de manutenção via terminal feita em Bash, focada em distros baseadas em Debian (Ubuntu, Mint, Kali etc).

O DUP acabou de passar por uma reescrita e agora é multi-distro: além de Debian, ele suporta nativamente Fedora (via dnf) e Arch (via pacman, com suporte opcional a AUR via yay).

O que mudou:

  • Detecção automática da família da distro no início — o menu se adapta e só mostra as opções que fazem sentido pra cada sistema
  • Novo suporte a AUR, com instalação e gerenciamento do yay direto pelo menu (exclusivo Arch)
  • A migração para Debian Sid continua disponível, mas agora é exibida só em sistemas Debian, já que é uma feature específica dessa família
  • O "escudo" de proteção contra remoção de pacotes críticos (kernel, bootloader, ambiente gráfico) foi adaptado pra cada gerenciador de pacotes

O resto continua como era:

  • Atualização de pacotes + Flatpak num só passo
  • Remoção segura de órfãos com dry-run
  • Limpeza de cache, correção de dependências quebradas, remoção de configs residuais
  • Verificação de necessidade de reboot
  • Interface em PT, EN, ES e FR

Segue funcionando do mesmo jeito de sempre:

chmod +x dup.sh
sudo ./dup.sh

Quem já testou a versão focada em Debian a experiência é a mesma, só que agora com mais gente podendo aproveitar. Quem tiver Fedora ou Arch em casa, testa e me conta se rodou redondo!

https://github.com/ogoncas/multi-distro-maintenance-tool

u/Willing-Tie-9890 — 2 months ago

DUP - Debian Maintenance Tool

O DUP (Debian Maintenance Tool) é uma ferramenta CLI (Interface de Linha de Comando) interativa e amigável desenvolvida em Bash para simplificar a manutenção rotineira de sistemas operacionais derivados do Debian (como Ubuntu, Linux Mint, Pop!_OS, entre outros).

Ele une comandos do ecossistema apt e do flatpak em menus gráficos simplificados via terminal usando o whiptail, oferecendo explicações detalhadas sobre o que cada operação realiza.

Funcionalidades

  • Atualização do Sistema: Atualiza repositórios, pacotes do Debian (apt-get dist-upgrade) e aplicativos Flatpak em um único passo.
  • Limpeza de Órfãos: Remove bibliotecas e runtimes inutilizados acumulados no sistema (autoremove e flatpak uninstall --unused). Agora fortificado com um dry-run simulado, um Escudo de Pacote Crítico que bloqueia explicitamente a remoção de componentes do sistema do núcleo (como kernel, grub, e ambientes de desktop), e uma caixa de confirmação rolável para revisar a carga útil exata antes da exclusão.
  • Limpeza de Cache: Libera espaço em disco apagando instaladores .deb antigos mantidos em /var/cache/apt/archives.
  • Correção de Pacotes Quebrados: Força a checagem e instalação de dependências interrompidas por quedas de energia ou falhas de conexão.
  • Remoção de Configurações Residuais: Localiza e apaga arquivos de configuração deixados para trás por pacotes desinstalados (status rc).
  • Status de Reinício: Verifica se alguma atualização recente do Kernel exige que a máquina seja reiniciada (/var/run/reboot-required).
  • Manutenção Dedicada do Flatpak: Repara o banco de dados interno e higieniza dependências e repositórios remotos.
  • Migração para Debian Sid: Permite transformar o sistema em versão Unstable (Rolling Release) com backup automático do seu sources.list.
  • Suporte Multilíngue (i18n): Traduzido nativamente para Português, Inglês, Espanhol e Francês.

Pré-requisitos

  • Sistema operacional baseado em Debian (Debian, Ubuntu, Mint, Kali, etc.).
  • Privilégios de superusuário (root ou sudo).
  • O pacote whiptail (o próprio script tentará instalá-lo automaticamente caso não esteja presente).

Licença

Este projeto é de uso livre para modificação e redistribuição.

Github

https://github.com/ogoncas/dup

reddit.com
u/Willing-Tie-9890 — 2 months ago
▲ 51 r/xubuntu+2 crossposts

FlatStore

Um gerenciador gráfico de pacotes Flatpak rápido, leve e nativo, ideal para ambientes de desktop GTK, como o XFCE. Desenvolvido em Python 3 com PyGObject (GTK3), o FlatStore oferece uma interface limpa para buscar, instalar, atualizar e remover aplicativos, além de gerenciar repositórios (remotes) diretamente da interface.

Disponível em appimage, ou via instalador em python.

Github do Projeto

u/Willing-Tie-9890 — 2 months ago
▲ 2 r/PythonProjects2+1 crossposts

OpenWave Player

Um player de música para Linux desenvolvido em Python com GTK3. Ele foi desenhado com foco na simplicidade, leveza e planejado especialmente para harmonizar com a estética do tema Mint-Y (Linux Mint).

Gerencie sua biblioteca de áudio local com uma interface limpa, leitura inteligente de metadados e suporte nativo a playlists e favoritos.


Recursos

  • Interface GTK3 Limpa: Integração perfeita com ambientes desktop baseados em GTK (projetado com a estética Mint-Y em mente).
  • Leitura de Metadados: Suporte avançado à leitura de tags de áudio e extração de capas embutidas usando o mutagen e GStreamer.
  • Gestão de Biblioteca: Escaneamento automático de pastas, organização dinâmica por Artistas e Álbuns.
  • Playlists & Favoritos: Crie playlists personalizadas e favorite suas faixas preferidas rapidamente.
  • Fila de Reprodução Inteligente: Modo aleatório (shuffle), reprodução sequencial e histórico de faixas.
  • Atualização Automática: Mecanismo integrado (updater.py) que verifica novas versões no GitHub e aplica atualizações sem complicações.
  • Instalador Gráfico Integrado: Acompanha um assistente (installer.py) para instalação no perfil do usuário, criação de atalhos (.desktop) ou remoção completa.

Formatos Suportados

O OpenWave suporta uma ampla variedade de formatos de áudio nativamente, incluindo: MP3, WAV, OGG, FLAC, M4A, AAC, OPUS, WMA, AIFF, ALAC, MP2, MKA.


Instalação

Pré-requisitos

Certifique-se de ter o Python 3 instalado no seu sistema, juntamente com as bibliotecas GTK e GStreamer. Em distribuições baseadas em Debian/Ubuntu (como o Linux Mint), você pode instalar as dependências com:

sudo apt update
sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0 gir1.2-gst-plugins-base-1.0 gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly python3-mutagen python3-pip

(Nota: O instalador do OpenWave tentará instalar o mutagen via pip automaticamente caso ele não seja encontrado no sistema).

Instalando o OpenWave

O projeto conta com um assistente de instalação gráfico para facilitar o processo.

  1. Clone o repositório:
git clone [https://github.com/openwave-player/openwave.git](https://github.com/openwave-player/openwave.git)
cd openwave
  1. Execute o instalador:
python3 installer.py
  1. Siga os passos na tela do assistente. Ele copiará os arquivos necessários para ~/.local/share/openwave e criará um atalho no seu menu de aplicativos.

Como Usar

  • Pelo Menu do Sistema: Procure por "OpenWave" no seu menu de aplicativos e inicie por lá.
  • Via Terminal: Se preferir rodar direto pelo terminal após instalar:
python3 ~/.local/share/openwave/app.py
  • Primeiro Acesso: Ao abrir pela primeira vez, clique no ícone de pasta na barra superior para escolher o diretório onde suas músicas estão armazenadas. O OpenWave vai ler sua biblioteca automaticamente!

Estrutura do Projeto

O código está organizado em uma arquitetura modular simples:

  • installer.py: Assistente gráfico de instalação/desinstalação.
  • app.py: Ponto de entrada do aplicativo (que se comunica com o script de atualização).
  • openwave/:
  • window.py: Interface principal, fluxo de telas e eventos.
  • player.py: Encapsulamento do pipeline GStreamer (playbin).
  • ui_builder.py: Fábrica de componentes visuais e CSS customizado.
  • utils.py: Leitura de arquivos e extração de metadados.
  • updater.py: Checagem e download assíncrono de atualizações.
  • dialogs.py: Telas de diálogo (Sobre, Criação de Playlists).

Contribuindo

Se você encontrou um bug ou tem uma ideia de nova funcionalidade:

  1. Faça um fork do projeto.
  2. Crie uma branch para sua modificação (git checkout -b feature/minha-feature).
  3. Faça o commit das suas alterações (git commit -m 'Adicionando nova feature').
  4. Faça um push para a branch (git push origin feature/minha-feature).
  5. Abra um Pull Request.

Licença

Este projeto é distribuído sob a Licença MIT. Veja o arquivo LICENSE (ou o cabeçalho do código) para mais detalhes.


Autor

Mateus Calixto

Inspiração visual: Linux Mint Desktop Team. Ícones Simbólicos: GNOME Project.

reddit.com
u/Willing-Tie-9890 — 4 months ago