Shorten the README and add a screenshot
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
65a3aa4457
commit
544974fa2c
2 files changed
+40
-75
No files matched your search
@@ -1,95 +1,60 @@
|
||||
# Fan Stack
|
||||
|
||||
A folder widget for the KDE Plasma 6 panel that fans its newest files out in
|
||||
an arc above the icon, the way a macOS Dock stack does.
|
||||
A folder on your KDE Plasma 6 panel that fans its newest files out in an
|
||||
arc, like a macOS Dock stack.
|
||||
|
||||
Click the icon and the folder's newest entries unroll along a curve, each
|
||||
with a thumbnail (or file type icon) and a label. Click an entry to open it,
|
||||
click the last entry to open the folder itself, click anywhere else (or press
|
||||
Escape) to fold the fan back into the icon.
|
||||

|
||||
|
||||
## Features
|
||||
Click the icon to unroll the fan. Click a file to open it, the last entry to
|
||||
open the folder, anywhere else (or Escape) to fold it back. Middle-click the
|
||||
icon to open the folder; drop files on it to move them into the folder.
|
||||
|
||||
- Animated fan that unrolls from the panel icon and folds back on close.
|
||||
The whole thing honours the system-wide animation speed setting.
|
||||
- Newest files first (or any other Folder View sort order), with a
|
||||
"N more…" entry that opens the folder in your file manager.
|
||||
- Thumbnails for images, PDFs, videos and whatever else your thumbnailers
|
||||
cover, using the same preview plugins as Dolphin.
|
||||
- Curves to the right, or to the left when the arc would not fit on screen.
|
||||
- Configurable curve radius, number of entries, icon size, animation length,
|
||||
folder, panel icon, sort order, hidden files.
|
||||
- Middle-click the panel icon to open the folder. Drop files on it to move
|
||||
them into the folder.
|
||||
## Installation
|
||||
|
||||
## Requirements
|
||||
Requires KDE Plasma 6 (tested on 6.7, Wayland). The widget reuses Plasma's
|
||||
own Folder View model, so a normal Plasma Desktop install has everything it
|
||||
needs.
|
||||
|
||||
- KDE Plasma 6 (developed and tested on 6.7, Wayland).
|
||||
- `plasma-desktop` (provides the Folder View model the widget reuses),
|
||||
`kitemmodels`, and Qt 6.5+ (for `QtQuick.Effects`). All of these are part
|
||||
of a normal Plasma installation.
|
||||
1. Get the code:
|
||||
|
||||
## Install
|
||||
```sh
|
||||
git clone <repository URL> FanStack
|
||||
cd FanStack
|
||||
```
|
||||
|
||||
2. Install it for your user:
|
||||
|
||||
```sh
|
||||
./install.sh
|
||||
```
|
||||
|
||||
This runs `kpackagetool6 --type Plasma/Applet --install .`, or
|
||||
`--upgrade .` if an older version is already installed.
|
||||
|
||||
3. Right-click a panel, choose **Add Widgets…**, search for **Fan Stack**
|
||||
and drag it onto the panel.
|
||||
|
||||
4. Right-click the icon and choose **Configure…** to pick the folder
|
||||
(Downloads by default), the icon, how many files to show, the curve
|
||||
radius, icon size, sort order and animation length.
|
||||
|
||||
### Updating
|
||||
|
||||
```sh
|
||||
git pull
|
||||
./install.sh
|
||||
```
|
||||
|
||||
or, by hand:
|
||||
|
||||
```sh
|
||||
kpackagetool6 --type Plasma/Applet --install . # first time
|
||||
kpackagetool6 --type Plasma/Applet --upgrade . # later versions
|
||||
```
|
||||
|
||||
Then right-click a panel, choose *Add Widgets…*, and drag **Fan Stack** onto
|
||||
the panel. By default it shows your Downloads folder; right-click the icon
|
||||
and choose *Configure…* to change the folder, icon and the rest.
|
||||
|
||||
## Settings
|
||||
|
||||
| Setting | Default | Meaning |
|
||||
| --- | --- | --- |
|
||||
| Folder | Downloads | Folder to fan out |
|
||||
| Icon | `folder-download` | Icon shown on the panel |
|
||||
| Files shown in the fan | 8 | Entries before the "N more…" item |
|
||||
| Fan icon size | 48 px | Icon size inside the fan |
|
||||
| Curve radius | 13 × icon spacing | Radius of the arc; the curve is the same however many entries there are. Smaller curls over more |
|
||||
| Fan curves | Away from the screen edge | Force right or left if you prefer |
|
||||
| Animation length | 350 ms | Scaled by the global animation speed |
|
||||
| Sort by / Descending / Folders first | Date, descending | Same options as Folder View |
|
||||
| First file at the top | on | Otherwise the newest file sits nearest the panel |
|
||||
| Show thumbnails | on | Uses the system preview plugins |
|
||||
| Show hidden files | off | |
|
||||
|
||||
## Hacking
|
||||
|
||||
The widget is plain QML, no build step. After editing an installed copy,
|
||||
reload Plasma's QML without restarting it:
|
||||
|
||||
```sh
|
||||
qdbus org.kde.plasmashell /PlasmaShell refreshCurrentShell
|
||||
```
|
||||
|
||||
For development you can symlink the checkout into place instead of
|
||||
installing it:
|
||||
The same `refreshCurrentShell` call reloads the widget after editing its
|
||||
QML; there is no build step.
|
||||
|
||||
### Uninstalling
|
||||
|
||||
```sh
|
||||
ln -s "$PWD" ~/.local/share/plasma/plasmoids/com.notalexnoyle.fanstack
|
||||
kpackagetool6 --type Plasma/Applet --remove com.notalexnoyle.fanstack
|
||||
```
|
||||
|
||||
Layout:
|
||||
|
||||
- `contents/ui/main.qml` – panel icon, folder model, proxy that trims the list
|
||||
- `contents/ui/FanPopup.qml` – the frameless popup and the arc geometry
|
||||
- `contents/ui/FanItem.qml` – one entry: icon, label, open/close animation
|
||||
- `contents/ui/configGeneral.qml`, `contents/config/main.xml` – settings
|
||||
|
||||
The arc is a circle of fixed radius that leaves the panel icon vertically,
|
||||
so a short fan is just the bottom of the same curve. Only if a very large fan
|
||||
would tilt its top entry past 60° does the radius grow, to keep each label
|
||||
clear of the icon above.
|
||||
|
||||
## License
|
||||
|
||||
GPL-2.0-or-later. See `LICENSE`.
|
||||
GPL-2.0-or-later, see `LICENSE`.
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 317 KiB |
Reference in new issue
Block a user