Your desktop, organized. No cost, no bloat, no hassle.
ShelfSuite is a free, open-source desktop organizer for Rainmeter. It groups your folders, apps, files, and links into independent tabbed widgets ("shelves") with one-click navigation and a visual HTML configurator. A lightweight alternative to Fences by Stardock.
- Dynamic Lua Engine — A single engine (ShelfEngine.lua) powers all shelves. Add tabs, items, and shelves by editing a simple config file or using the visual configurator.
- Visual HTML Configurator — Create shelves, add tabs, manage items, and switch themes from a browser-based UI. No code editing required.
- 4 Built-in Themes — DeepOcean, Forest, Terracotta, and Obsidian. Switch themes per shelf with one click.
- Fully Modular — Each shelf is an independent skin. Load one, three, or ten. They don't depend on each other.
- Tabbed Navigation — Up to 5 tabs per shelf, each with up to 18 items (3 rows of 6). Click a tab to switch instantly.
- Custom Icons — Drop any 64x64 PNG into the Icons folder and reference it by name. 19 generic icons included (Google Material Icons, Apache 2.0).
- Lightweight — No external dependencies, no network calls, no background processes. Just Rainmeter + Lua.
- Download the
.rmskinfile from the Releases page. - Double-click the file to install. ShelfSuite is installed into your Rainmeter Skins folder automatically.
- Open Rainmeter Manage, find
Shelf Suite, and loadShelf1/Shelf.ini,Shelf2/Shelf.ini, andShelf3/Shelf.ini. - Click the gear icon (⚙) on the top-right corner of any shelf to open the configurator to start customizing.
ShelfSuite offers two ways to configure your shelves:
Visual Configurator (recommended): Click the gear icon (⚙) on the top-right corner of any shelf to open the configurator. From there you can create shelves, add/rename/delete tabs, manage items, and change themes — all from a browser-based UI that saves directly to your Rainmeter files.
Manual editing: Each shelf folder contains a config.example.lua template. Rename it to config.lua and edit it with any text editor. This is a plain Lua table where you define your tabs and items.
Example config.lua:
return {
name = "Folders",
theme = "DeepOcean",
currentTab = 0,
tabs = {
{
name = "User",
items = {
{ name = "Documents", action = "C:\Users\Martin\Documents", icon = "file" },
{ name = "Downloads", action = "C:\Users\Martin\Downloads", icon = "download" },
}
},
{
name = "System",
items = {
{ name = "Program Files", action = "C:\Program Files", icon = "settings" },
}
}
}
}After making changes (either through the configurator or manually), right-click each modified shelf on your desktop and select "Refresh skin" to apply.
Switch themes per shelf from the configurator dropdown or via right-click context menu on the desktop widget.
| Theme | Style |
|---|---|
| DeepOcean | Cool blue tones |
| Forest | Natural green palette |
| Terracotta | Warm earth tones |
| Obsidian | Dark neutral palette |
Place any 64x64 PNG (white on transparent background) in @Resources/Icons/ and reference it by filename (without extension) in the icon field of your config.lua. For example, if you add spotify.png to the Icons folder:
{ name = "Spotify", action = "C:\Program Files\Spotify\Spotify.exe", icon = "spotify" }ShelfSuite includes 19 generic icons: calculator, calendar, chat, cloud, code, download, file, game, link, mail, music, news, office, photo, settings, storage, terminal, video, web.
When a new version is released, download and install the new .rmskin file. The installer merges automatically — your personal config.lua files are never overwritten since the package only includes config.example.lua templates.
If you've added custom icons to the @Resources/Icons folder, back them up before updating. Any icon with the same filename as one in the new version will be replaced. After installing, copy your custom icons back and refresh your skins.
Shelf Suite/
├── @Resources/
│ ├── Icons/ # Generic + custom icons (64x64 PNG)
│ ├── Themes/ # Theme files (.inc)
│ │ ├── DeepOcean.inc
│ │ ├── Forest.inc
│ │ ├── Obsidian.inc
│ │ └── Terracotta.inc
│ ├── ShelfEngine.lua # Core dynamic engine
│ ├── Variables.inc # Shared dimensions and fonts
│ └── configurator.html # Visual configurator
├── Shelf1/
│ ├── Shelf.ini # Rainmeter skin definition
│ ├── config.example.lua # Template config (distributed)
│ └── config.lua # Your personal config (not in repo)
├── Shelf2/
│ └── ...
└── Shelf3/
└── ...
Icons: Google Material Icons (Apache 2.0 License).
Font: Segoe UI (standard Windows system font).
This project is licensed under the MIT License — see the LICENSE file for details.
Created by Martin Santos
