Skip to content

Repository files navigation

Fileshelf icon

Fileshelf

A fast, modern Linux file manager built for large folders.

Download  |  Preview  |  Features  |  Build

Platform: Linux Electron 31 License: MIT

Fileshelf combines a compact desktop interface with bounded filesystem work, virtualized rendering, live directory watching, and safe file operations. It is designed to stay responsive when browsing folders containing thousands of entries without giving up useful desktop file-manager features.

Preview

Fileshelf project screenshot placeholder Fileshelf project screenshot placeholder

Features

Workspace Files and navigation
Up to 12 independent folder tabs Back, forward, up, reload, and breadcrumbs
Per-tab history, search, filter, selection, and scroll Quick Access, recent folders, and pinned items
List and virtualized grid views Search, sorting, and live type counts
Cached image thumbnails for visible tiles Native directory watching with preserved view state
Operations Appearance and performance
Create files and folders; recursive copy, cut, move, and paste Graphite, Linen, Moss, and custom palettes
Rename, reveal, copy path, and move to Trash Bounded metadata and thumbnail worker pools
Collision-safe transfers without silent overwrite Directory and thumbnail caching
Cross-filesystem move fallback Graceful icon fallbacks for unsupported images

Download and install

Download the current packages from the latest GitHub release.

Debian, Ubuntu, and Linux Mint

sudo apt install ./Fileshelf-1.0.0-amd64.deb

Launch Fileshelf from the application menu or run fileshelf. Remove the application while keeping user preferences with:

sudo apt remove fileshelf

AppImage

chmod +x Fileshelf-1.0.0-x86_64.AppImage
./Fileshelf-1.0.0-x86_64.AppImage

Verify either download with the attached checksum manifest:

sha256sum --check SHA256SUMS

Keyboard shortcuts

Shortcut Action Shortcut Action
Ctrl+N New file Ctrl+Shift+N New folder
Ctrl+T New tab Ctrl+W Close tab
Ctrl+Tab Next tab Ctrl+Shift+Tab Previous tab
Ctrl+C/X/V Copy, cut, paste Ctrl+D Pin or unpin
Alt+Left/Right Folder history Backspace Parent folder
/ Focus search Ctrl+R Reload folder
F2 Rename Delete Move to Trash
Enter Open selection Arrow keys Move selection

Middle-click a folder to open it in a new tab. Middle-click a tab to close it.

Build from source

Requirements

  • 64-bit Linux
  • Node.js 18 or newer
  • npm
git clone https://github.com/moeenScape/Fileshelf.git
cd Fileshelf
npm install
npm start

Fileshelf opens in ~/Downloads. All privileged filesystem work stays in the Electron main process; the context-isolated renderer receives only the narrow operations exposed by preload.js.

Project structure

build/icon.svg          Linux application and README icon
main.js                 Electron lifecycle, filesystem, watchers, and caches
preload.js              Context-isolated renderer API
renderer/index.html     Application structure
renderer/renderer.js    Navigation, tabs, filtering, and interactions
renderer/styles.css     Themes, components, grid, and thumbnail presentation
docs/screenshots/       README screenshots and preview assets

Build Linux packages

Electron Builder outputs release artifacts to the ignored dist/ directory.

npm ci
npm run dist
npm run checksums
sha256sum --check dist/SHA256SUMS
Command Output
npm run pack Unpacked application for validation
npm run dist Debian package and AppImage
npm run dist:deb Debian package only
npm run dist:appimage AppImage only
npm run checksums dist/SHA256SUMS
Maintainer: publish a GitHub release

Releases are tag-based. Keep the version in package.json synchronized with the tag and never commit the generated dist/ directory.

git add AGENTS.md README.md main.js package.json package-lock.json build docs
git commit -m "Release Fileshelf 1.0.0"
git push origin main

git tag -a v1.0.0 -m "Fileshelf 1.0.0"
git push origin v1.0.0

Open the new release page, choose v1.0.0, and attach:

dist/Fileshelf-1.0.0-amd64.deb
dist/Fileshelf-1.0.0-x86_64.AppImage
dist/SHA256SUMS

Customization

  • File categories: update CATEGORY_EXT, CATEGORY_META, ICONS, and matching --cat-* tokens together.
  • Theme presets and tokens: edit renderer/styles.css.
  • Virtualization dimensions: edit ROW_HEIGHT_LIST, GRID_ITEM_W, and GRID_ITEM_H in renderer/renderer.js.

License

Fileshelf is distributed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages