Skip to content

Commit 514bba9

Browse files
committed
docs: publish scrolling tiling and spotlight updates
1 parent 847d1a5 commit 514bba9

10 files changed

Lines changed: 138 additions & 29 deletions

public/scrolling-tiling.mp4

9.86 MB
Binary file not shown.

public/spotlight-actions.png

164 KB
Loading

public/spotlight-app-search.png

149 KB
Loading

public/spotlight-empty.png

132 KB
Loading

public/spotlight-file-preview.png

235 KB
Loading

public/spotlight-math.png

239 KB
Loading

public/touchpad-gestures.mp4

6.58 MB
Binary file not shown.

src/content/docs/docs/spotlight.md

Lines changed: 34 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,42 +3,47 @@ title: Spotlight
33
description: Launch apps and run commands from one box.
44
---
55

6-
Spotlight is the box that opens in the center of the screen for launching apps
7-
and running commands. Press Super and Tab to open it, or Shift, Alt and F2.
6+
Spotlight is the box that opens in the center of the screen for searching and
7+
acting on the desktop. Press Super and Tab to open it, or Shift, Alt and F2.
88

99
## Apps or commands
1010

11-
The box does two things, and it tells you which one it is on. While it is empty
12-
or you are typing a name, it is in search mode, with a lens icon, and it matches
13-
your apps by name, command, and id, with the closest matches first. It shows up
14-
to six suggestions; pick one with the arrow keys and Enter, or click it. The
15-
placeholder reads "Search apps or run a command…".
16-
17-
Type something that is not an app and it becomes a command. Press Enter and
18-
Spotlight runs it in your terminal, leaving the terminal open afterward so you
19-
can see the output.
20-
21-
## Built-in commands
22-
23-
A few short commands are built in. The hint bar along the bottom reminds you of
24-
them:
25-
26-
- `r` restarts the shell.
27-
28-
With developer mode turned on, two more appear, and the hint bar grows to list
29-
them: `c` restarts the compositor, and `n` opens a nested test session.
11+
The box starts in search mode, with a lens icon. It matches apps by name,
12+
command, and id, and it also searches files through the system index. It shows
13+
the closest matches first; pick one with the arrow keys and Enter, or click it.
14+
When a file has a preview, the selected result opens that preview on the right
15+
without leaving the palette.
16+
17+
Type something that is not an app or file and it becomes a command. Press Enter
18+
and Spotlight runs it in your terminal, leaving the terminal open afterward so
19+
you can see the output. Basic mathematical expressions are evaluated directly;
20+
for example, typing `19/2` gives `9.5` as a selectable result.
21+
22+
## Desktop actions
23+
24+
Type `!` to switch to action mode. The icon changes with the mode and the list
25+
shows desktop actions instead of keeping their shortcuts visible during a
26+
normal search. The available actions include:
27+
28+
- Customize Panel and Dock
29+
- Open Settings
30+
- Lock Screen
31+
- Workspace Overview
32+
- Application Launcher
33+
- Open Terminal
34+
- Emoji Picker
35+
- Take Screenshot
36+
- Enable Tiling
37+
38+
Select an action with the arrow keys and Enter, or click it. The right-aligned
39+
shortcut hint is shown only in this mode, so the normal palette stays focused
40+
on the thing you are looking for.
3041

3142
## History
3243

3344
Spotlight remembers the commands you run, up to the last fifty, in your data
3445
folder. Walk back through them with the Up and Down arrows so the things you do
3546
often are quick to repeat. Press Escape to close the box.
3647

37-
## Deeper search in the overview
38-
39-
Spotlight is deliberately focused on apps and commands. The richer search lives
40-
in the overview, which you open with Super and Space. There, the same search box
41-
also finds your files through the system index, evaluates a math expression and
42-
copies the answer to the clipboard when you pick it, and runs any custom search
43-
providers you add. You can write your own: see
44-
[Search providers](/docs/search-providers/).
48+
The overview also has its own search surface for richer workflows and custom
49+
providers. See [Search providers](/docs/search-providers/) for the provider API.
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
---
2+
title: The tiling finally moves with you, and gestures
3+
date: 2026-08-10T17:30:00Z
4+
description: Scrolling tiling is finally on screen in Singularity, with one-to-one touchpad movement, animated settling and gestures that keep the rest of the desktop out of the way.
5+
draft: false
6+
---
7+
8+
Scrolling tiling is a feature I have wanted for a long time, ever since I was using GNOME with PaperWM many months ago. I liked the idea immediately, but liking the idea and making it behave like part of a desktop are two very different things.
9+
10+
I finally have it on screen in Singularity, and the important part is not that windows form a nice row for a recording. The strip follows the hand, windows can be stacked when that makes sense, and the rest of the desktop does not suddenly forget how to be itself.
11+
12+
<video class="post-video" controls playsinline preload="metadata">
13+
<source src="/scrolling-tiling.mp4" type="video/mp4" />
14+
</video>
15+
16+
## The strip follows the hand
17+
18+
The useful idea is simple: columns do not keep shrinking until every window becomes a postage stamp, they continue past the edge and the focused one comes into view. A three-finger horizontal swipe moves the strip one to one, so when the fingers move 60 pixels the windows move 60 pixels too.
19+
20+
When I release, a short movement settles back to the current column and a real movement settles on the next one. I do not need to land perfectly in the middle of a window, and closing one does not throw its neighbour into the centre in a single frame, it lets the remaining column arrive there.
21+
22+
The small pill in the panel shows where I am in the strip. It appears automatically while scrolling tiling is active, disappears when it is not, and can be moved with the desktop customizer like the rest of the panel. It is not an extra item I expect people to add by hand just to understand what the mode is doing.
23+
24+
## Windows can share a place
25+
26+
Dragging was the part that made the prototype stop being a prototype. While I move a window, the desktop shows where it will land, and the last 30 pixels above or below another window become a place I can drop it. The two windows then share a column instead of fighting for separate positions.
27+
28+
If I pull one sideways, it leaves the stack and becomes its own column again. If I drag it into the lower drop area, it becomes floating, and the snapping guide gets out of the way for that interaction. I wanted the mode to give me a rhythm without forcing every window into the same answer.
29+
30+
## Gestures that do not fight each other
31+
32+
Three fingers horizontally belong to the tiling strip. Four fingers horizontally still switch workspaces, while three fingers vertically opens the workspace overview and four fingers vertically opens the app launcher.
33+
34+
The overview and launcher sit over the desktop without painting a second opaque panel over it, and opening them does not rearrange the tiled windows underneath. The second recording shows those gestures in the same session:
35+
36+
<video class="post-video" controls playsinline preload="metadata">
37+
<source src="/touchpad-gestures.mp4" type="video/mp4" />
38+
</video>
39+
40+
I did not have a decent way to record the gesture itself without making the result harder to understand, so the video can only show the surfaces moving. The proper test is to try it directly on a touchpad, where the overview and launcher follow the gesture instead of asking you to trust a recording of it.
41+
42+
## The palette grew up too
43+
44+
The other shell piece I wanted to fix was the palette. It is still the quick box in the middle of the screen, but it no longer stops at launching an app or running a command. It can search files, show a useful preview on the right, and evaluate a calculation without making me open another app just to check the result.
45+
46+
Typing `!` switches it into action mode. That keeps the shortcuts out of the way when I am just searching, then gives me the things I actually need when I ask for them: customizing the panel and dock, opening Settings, locking the screen, showing workspaces or apps, opening a terminal, taking a screenshot and changing desktop features such as tiling. The icon changes with the mode, so the box tells me what it is doing instead of leaving a row of potentially dangerous commands under every search.
47+
48+
The result is closer to how I wanted the shell to feel from the start: one place that understands apps, files, calculations and desktop actions, with the extra context appearing only when it is useful.
49+
50+
<p class="post-gallery">
51+
<img src="/spotlight-empty.png" alt="The empty Singularity Spotlight palette" />
52+
<img src="/spotlight-app-search.png" alt="Spotlight searching installed applications" />
53+
<img src="/spotlight-file-preview.png" alt="Spotlight searching files with a preview" />
54+
<img src="/spotlight-math.png" alt="Spotlight evaluating a calculation" />
55+
<img src="/spotlight-actions.png" alt="Spotlight action mode with desktop commands" />
56+
</p>
57+
58+
## It is finally a real desktop feature
59+
60+
I have spent enough time making this look convincing in a demo. The part I care about now is that I can open a window, move it, stack it, pull it out again and keep using the overview without the layout losing track of itself.
61+
62+
There are still clients and hardware combinations I have not met, so I am not pretending a recording proves the feature is finished. It does prove that the idea has moved out of the prototype stage and into the desktop where I can use it every day, find the sharp edges and keep fixing them ([#227](https://github.com/singularityos-lab/singularity-desktop/issues/227)).
63+
64+
The touchpad work is tracked separately in [#116](https://github.com/singularityos-lab/singularity-desktop/issues/116), and the implementation is available in the current Sinty build.

src/pages/news/[slug].astro

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,46 @@ const tg = `https://t.me/share/url?url=${enc(url)}&text=${enc(post.data.title)}`
7373
border: 1px solid rgba(255, 255, 255, 0.2);
7474
border-radius: 4px;
7575
}
76+
article.post .post-body > :global(.post-video) {
77+
max-width: 1220px;
78+
padding-left: 0;
79+
padding-right: 0;
80+
}
81+
article.post .post-body :global(video) {
82+
display: block;
83+
width: 100%;
84+
height: auto;
85+
margin: 28px auto;
86+
border: 1px solid rgba(255, 255, 255, 0.2);
87+
border-radius: 4px;
88+
background: #000;
89+
}
90+
article.post .post-body > :global(.post-gallery) {
91+
max-width: 1220px;
92+
padding-left: 0;
93+
padding-right: 0;
94+
display: grid;
95+
grid-template-columns: repeat(2, minmax(0, 1fr));
96+
gap: 20px;
97+
}
98+
article.post .post-body .post-gallery :global(img) {
99+
width: 100%;
100+
margin: 0;
101+
}
102+
article.post .post-body .post-gallery :global(img:first-child) {
103+
grid-column: 1 / -1;
104+
max-width: 820px;
105+
justify-self: center;
106+
}
107+
@media (max-width: 720px) {
108+
article.post .post-body > :global(.post-gallery) {
109+
grid-template-columns: 1fr;
110+
}
111+
article.post .post-body .post-gallery :global(img:first-child) {
112+
grid-column: auto;
113+
max-width: 100%;
114+
}
115+
}
76116
article.post .post-share { max-width: 840px; margin-left: auto; margin-right: auto; padding-left: 20px; padding-right: 20px; }
77117
</style>
78118

0 commit comments

Comments
 (0)