← All projectsTodos os projetos

2026 · File managerGerenciador de arquivos · v0.1.5

Kappa File Manager.

A brutalist file manager for Ryoku OS.Um gerenciador de arquivos brutalista para o Ryoku OS.

Rust core with a native QML / Quickshell interface. Tabs, split view, transfers with progress, safe archives, KDE Connect and Google Drive or OneDrive through rclone. Independent community project, not an official Ryoku app.Núcleo em Rust com interface nativa em QML / Quickshell. Abas, visão dividida, transferências com progresso, arquivos compactados com segurança, KDE Connect e Google Drive ou OneDrive via rclone. Projeto comunitário independente, não é um app oficial do Ryoku.

RolePapel
Design, architecture, development, packagingDesign, arquitetura, desenvolvimento, empacotamento
PlatformsPlataformas
Linux · Ryoku OS · Quickshell · Wayland
StackStack
Rust 2024 · QML · Quickshell · Qt 6 · KIO-Fuse · KDE Connect · rclone · PKGBUILD (AUR)
  • 2layers: Rust + QMLcamadas: Rust + QML
  • 2panes with split viewpainéis na visão dividida
  • 3cloud and phone bridgespontes: nuvem e celular
  • 0zip-slip escapesfugas por zip-slip

Why build itPor que construir

Dolphin gets a lot right: devices that browse like folders, KDE Connect, a clean split between model and view. I wanted those ideas on a fast Rust core wearing the Ryoku design system.

Kappa is an independent community project. It is not an official Ryoku app.

O Dolphin acerta muita coisa: dispositivos que navegam como pastas, KDE Connect, separação limpa entre modelo e visão. Eu queria essas ideias num núcleo Rust rápido, vestindo o design system do Ryoku.

O Kappa é um projeto comunitário independente. Não é um app oficial do Ryoku.

A file manager should feel like the desktop, not a guest on it.Um gerenciador de arquivos deve parecer o desktop, não um convidado.

What it doesO que faz

  • 01

    Rust coreNúcleo em Rust

    Async scanning, inotify watching, FreeDesktop trash and on-the-fly metadata.Varredura assíncrona, inotify, lixeira FreeDesktop e metadados na hora.

  • 02

    Tabs and split viewAbas e visão dividida

    Two folders side by side with a draggable divider. F3 toggles it.Duas pastas lado a lado com divisor arrastável. F3 alterna.

  • 03

    Transfers with progressTransferências com progresso

    Speed, time left, pause and Esc to cancel, even for multi-gigabyte files.Velocidade, tempo restante, pausa e Esc para cancelar, mesmo em arquivos de vários gigas.

  • 04

    Safe by defaultSeguro por padrão

    Delete goes to the trash; scripts ask before opening; archives resist zip-slip and bombs.Apagar vai para a lixeira; scripts pedem confirmação; arquivos resistem a zip-slip e bombas.

  • 05

    Phone and cloudCelular e nuvem

    KDE Connect, KIO-Fuse, and Google Drive or OneDrive mounted through rclone.KDE Connect, KIO-Fuse e Google Drive ou OneDrive montados via rclone.

  • 06

    Own appearanceAparência própria

    Follow the Ryoku theme or use a Kappa-only palette, without touching the desktop.Siga o tema do Ryoku ou use uma paleta só do Kappa, sem mexer no desktop.

ScreensTelas

Kappa File Manager: List
Sortable list with places, devices and a monumental kanji behind.Lista ordenável com locais, dispositivos e um kanji monumental ao fundo.

Two decoupled layersDuas camadas desacopladas

The Rust core handles scanning, search, places and file operations, and prints JSON through a small command-line interface. The QML interface reads it with Quickshell.Io.Process.

Search cancels instantly through an AtomicBool, and transfers stream JSON progress events that the interface turns into a progress card.

O núcleo em Rust cuida de varredura, busca, locais e operações de arquivo, e imprime JSON por uma CLI pequena. A interface QML lê isso com Quickshell.Io.Process.

A busca cancela na hora por um AtomicBool, e as transferências emitem eventos JSON de progresso que a interface transforma em um cartão de progresso.

Opening things safelyAbrindo as coisas com segurança

Opening a script, program or .desktop launcher asks first, judged by the file content and not only its name. Extraction is hardened against zip-slip, hostile links and decompression bombs.

Cloud remotes come from your own rclone config. Kappa never touches the credentials.

Abrir um script, programa ou lançador .desktop pede confirmação antes, julgando o conteúdo do arquivo e não só o nome. A extração é blindada contra zip-slip, links hostis e bombas de descompressão.

Os remotes de nuvem vêm do seu próprio rclone. O Kappa nunca toca nas credenciais.