TutoriaisVídeo

Automatize tudo no KDE Plasma: o poder oculto dos Service Menus

Acesse nossos conteúdos exclusivos!

Toda vez que gravamos um vídeo aqui para o canal, precisamos converter o arquivo para um formato compatível com o DaVinci Resolve gratuito. Fazer isso uma vez não é um problema, mas considerando que produzimos conteúdo de segunda a sexta-feira, e alguns vídeos contam com mais de uma gravação, você entende como esse processo repetitivo pode se tornar maçante rapidamente.

É aí que entra a magia da automação, um assunto que adoramos. Já mostramos como fazer isso no GNOME através dos “Nautilus Scripts”, uma funcionalidade nativa dessa interface. Mas e no KDE Plasma? Existe algo equivalente?

A resposta é um entusiástico “sim”! A funcionalidade se chama Service Menu (Menu de Serviço), e apesar de ser pouco comentada, é uma das ferramentas mais poderosas e subutilizadas do ambiente Plasma. No artigo de hoje, vamos desvendar como você pode usá-la para transformar alguns poucos cliques do mouse em tarefas complexas e automatizadas.

O que é um service menu?

Basicamente, um Service Menu é uma ferramenta do Dolphin, o gerenciador de arquivos do KDE Plasma. Ele permite que você adicione opções personalizadas ao menu que aparece quando você clica com o botão direito do mouse em um arquivo ou pasta.

Em nosso caso, usamos primariamente para:

  • Converter arquivos de vídeo ou imagem para formatos específicos.
  • Criar pastas pré-estruturadas para projetos pessoais.
  • Comprimir ou extrair arquivos com configurações customizadas.

No entanto, a verdadeira beleza dessa ferramenta é que você pode fazer basicamente qualquer coisa que sua imaginação e conhecimento de linha de comando permitirem.

Como criar um service menu

A criação de um Service Menu é surpreendentemente simples. Tudo se resume a criar um arquivo especial com a extensão .desktop e colocá-lo no local correto.

Existem dois caminhos possíveis para armazenar o arquivo:

  • Se for acessado por um único usuário: ~/.local/share/kio/servicemenus/
  • Para todos os usuários do sistema: /usr/share/kio/servicemenus/

Como geralmente estamos automatizando um fluxo de trabalho pessoal, usar a pasta dentro do diretório local do usuário (~/.local/) é a opção mais comum e segura.

O Arquivo .desktop: Crie um novo arquivo de texto com um nome descritivo e termine com .desktop. Por exemplo: converter-para-mov.desktop.

Após criar o arquivo, você precisa torná-lo executável. Clique com o botão direito sobre ele, vá em “Propriedades” -> “Permissões” e marque a caixa “É executável”.

Automatize tudo no KDE Plasma o poder oculto dos Service Menus 1

A anatomia de um arquivo de Service Menu

Agora, vamos abrir o arquivo .desktop em um editor de texto e entender o que cada linha significa. Vamos usar como exemplo um menu para converter vídeos para o formato MOV usando o FFmpeg.

ini

[Desktop Entry]

Type=Service

MimeType=video/*;

Actions=ConvertToMov

X-KDE-Priority=TopLevel

Icon=video-x-generic

[Desktop Action ConvertToMov]

Name=Converter para MOV

Icon=video-x-generic

Exec=bash -c 'for f in %F; do ffmpeg -i "$f" -c:v mpeg4 -map 0 -q:v 0 -codec:a pcm_s16le "${f%.*}-converted.mov"; done'

Vamos dissecar cada seção:

  • [Desktop Entry]: Esta linha inicial é obrigatória e define que se trata de uma entrada desktop;
  • Type=Service: Especifica que o tipo desta entrada é um “Serviço” para o gerenciador de arquivos;
  • MimeType=video/*;: Esta é uma das linhas mais importantes. Ela define em quais tipos de arquivo o menu aparecerá. Usar video/* significa “qualquer tipo de vídeo” (MP4, MKV, AVI, etc.). Em outros casos, você poderia restringir para image/jpeg (apenas JPEGs) ou application/pdf (apenas PDFs);
  • Actions=ConvertToMov: Define o nome da ação que será criada. Você pode definir múltiplas ações separando os nomes com vírgulas;
  • X-KDE-Priority=TopLevel: (Opcional) Esta linha diz ao Dolphin para mostrar esta ação diretamente no menu principal de contexto, e não dentro de um submenu (como “Ações”). Isso é ideal para funções que você usa com muita frequência;
  • Icon=video-x-generic: Define o ícone que aparecerá ao lado da opção no menu. Você pode explorar os ícones disponíveis no seu sistema em /usr/share/icons/;
  • [Desktop Action ConvertToMov]: Esta seção define o que a ação chamada “ConvertToMov” fará. O nome deve corresponder ao que foi definido na linha Actions;
  • Name=Converter para MOV: O texto que o usuário verá no menu de contexto;
  • Exec=Exec=bash -c 'for f in %F ...: O coração do Service Menu! Este é o comando de terminal que será executado. Variáveis especiais são usadas aqui. Vamos por partes:
    • bash -c '...': Roda um comando dentro de um shell Bash;
    • for f in %F; do ... done: Um loop: para cada arquivo selecionado (%F = lista de arquivos que você clicou), execute os comandos dentro do do … done;
    • ffmpeg -i "$f": Usa o ffmpeg para abrir o arquivo de vídeo atual ($f);
    • -c:v mpeg4: Define o codec de vídeo como MPEG4 (compatível com MOV);
    • -map 0: Inclui todas as faixas do arquivo original (vídeo, áudio, legendas se existirem);
    • -q:v 0: Define a qualidade de vídeo como máxima (quanto menor o número, maior a qualidade);
    • -codec:a pcm_s16le: Define o codec de áudio como PCM sem compressão, muito usado em MOVs.
    • "${f%.*}-converted.mov": Cria um novo arquivo com o mesmo nome do original, mas Remove a extensão (%.*) e adiciona -converted.mov no final. Exemplo: video.mp4 → video-converted.mov.

Dicas de ouro

Batendo o olho, pode parecer que utilizar o esse tipo de automação é algo avançado ou deixa o sistema desorganizado. Então aqui vão algumas dicas:

  • Use IAs como assistente: Não domina shell script ou a sintaxe do FFmpeg? Use o ChatGPT ou outras IAs generativas para ajudá-lo a escrever. Você pode descrever a tarefa: “Escreva um comando FFmpeg para o Service Menu do KDE para converter um vídeo para MOV mantendo a qualidade original de vídeo e áudio”. Depois, é só testar e refinar;
  • Adicione notificações: Para tarefas longas, como conversão de vídeo, adicione && kdialog --msgbox "Conversão finalizada!" ao final do comando Exec. Isso exibirá um pop-up avisando quando o processo terminar;
  • Crie menus para pastas: Use MimeType=inode/directory; para fazer seu Service Menu aparecer quando você clicar com o botão direito em uma pasta, não em um arquivo. Perfeito para scripts de organização ou sincronização.
  • Muito cuidado: Com grande poder vem grande responsabilidade. O comando Exec tem potencial para modificar ou apagar arquivos. Sempre teste seus scripts novos em arquivos de exemplo antes de usá-los em arquivos importantes. Cuidado ao copiar e colar comandos de fontes não confiáveis.

Os Service Menus do KDE Plasma são um tesouro escondido. Eles transformam o Dolphin de um simples visualizador de arquivos em um centro de controle poderoso para seus fluxos de trabalho mais repetitivos. Se você é um usuário do Plasma, dedicar alguns minutos para criar seus próprios menus é um investimento em produtividade que se paga rapidamente.

Comece com uma tarefa pequena, como a conversão de arquivos que mostramos aqui, e logo você estará automatizando tudo, desde a compressão de imagens até o deploy de projetos.Quer aprender mais sobre terminal e shell script? Seja membro Diolinux Play e assista aos nossos cursos exclusivos!

Diolinux Ofertas - Aproveite os melhores descontos em diversos produtos!