Skip to content
GitHub

Widgets on the desktop

Any module can live on the wallpaper. Widgets sit on a grid under the windows, and each one is a module the bar and the island already know: the same player, the same battery, the same weather. The desktop and the bar do not consult each other, so a module can be on one, on both or on neither, and the same module can be on the grid twice: a clock as a band and another as a dial.

Modern, Analogue and Sticker.

Everything sits on a grid, and nothing overlaps. A widget’s place is a column and a row, and the gap between two widgets is the gap between two windows. The grid fills the space under the bar with the same margin on all four sides, whatever the dock does: the dock is drawn over what is under it, so moving it, hiding it or letting it stay never moves a widget. Hiding the bar, in zen, moves none either: the grid stays below where the bar was.

SUPER CTRL W takes every widget off the wallpaper until you press it again, and arranging shows them meanwhile.

A widget dropped on an occupied square goes to the nearest free one, or back where it came from if the board has no room. The widgets already there never move aside.

ShapeCells
Square2 × 2
Card4 × 2
Large square4 × 4
Band8 × 2

The shapes are not one design at four sizes: each says a different amount, so a module offers only the shapes it has something to put in. Every module has a card.

One module, four shapes.

Right-click the wallpaper and choose Arrange widgets. The desktop comes in front of the windows over a clear view of the wallpaper, the grid is drawn, and a card of every module opens at the bottom, each drawn as its real face at the smallest shape it offers.

Arranging: the card of every module, and one widget's own card open.
  • Add: drag a piece from the card onto the grid; the squares it will land on are lit before you let go. A click on a piece puts it on the first free square instead. It lands at its smallest shape.
  • Move: drag the widget.
  • Change its shape: pull the handle in its bottom-right corner. The shape changes as the pointer crosses from one footprint to the next, never stretching in between. The mouse wheel over a widget steps through its shapes too.
  • Remove: the ⊖ badge in its top-left corner, or drop the widget on the pill along the bottom (below).
  • Give it a look of its own: click it (below).

The badge and the handle appear under the pointer and on the selected widget.

While anything is carried, the card steps aside: it fades out, and a pill along the bottom takes the drop that removes, red while the widget is over it. A widget let go where the card was stays on the grid. A widget’s aim follows the pointer even past the board’s edge, where the widget itself stops.

The card moves and grows. Drag it by any part that is not a piece, or by the circle on its top-left corner. The circle on the opposite corner resizes it in whole columns and rows, and the pieces flow into the new width; what does not fit scrolls, with the wheel or the bar in its right margin. Where you moved it lasts until arranging ends, and its size for the session.

Escape ends arranging, and so do a right-click on the grid and a click on the bar or on any other surface. It also ends by itself when the screen changes under it: another workspace, the special workspace, a window opening or one going full screen. The same mode opens from Settings → Desktop → Arrange the desktop → Edit, which closes the settings window meanwhile.

At rest, the right button opens a menu where it was pressed:

OnThe menu
The wallpaperArrange widgets, New note, Wallpaper, Palette, Settings
A widgetEdit (arranging, opened on that widget’s card) and Remove
A noteOpen, Edit and Remove

Wallpaper and Palette open the island’s pickers (Palettes). The menu opens over the windows without lifting the widgets above them. The left button on the wallpaper does nothing but close a menu, and the menu has no keyboard: a click elsewhere closes it.

Click a widget while arranging and a card opens beside it: to its right, its left or under it, wherever there is room.

On the card
ShapeThe shapes the module offers, drawn as footprints: the same choice as the corner handle
FaceModern, Analogue or Sticker
The sliderHow solid the capsule is, 0 to 100 %, with a button that puts it back; at 0 the capsule, its outline and its shadow are gone. Not for a sticker
RemoveTakes the widget off

A note and a photo draw their own paper and picture, so neither has a slider, and a note has no Face. A photo’s card holds its Picture instead, and a print’s its Caption too (Photos). A spectrum has no Face and no slider either, and a card of its own (Spectrum). The lyrics have no Face: they look the same in every theme.

The first tile under Face is Default, marked with a dot: it follows the desktop’s own setting, and a widget keeps following it until you pick something else. The line under the faces says what the widget is wearing. The card closes on a click on the wallpaper, and when a drag starts.

Settings → Desktop → Look holds what every widget follows by default: Face, Ground, Background, the opacity, and Shadow.

The widgets have a ground of their own, classic out of the box: Classic, Glass or Liquid, the same three as the bar’s. Classic is the island’s black, and its Background slider lowers it until the wallpaper shows through blurred, and at 0 takes the capsule away altogether. Glass is the terminal’s own ground, the accent over a blur of the wallpaper, with a lit edge; liquid is a clear frosted pane, lit from one side. On glass and liquid the slider thins the glass itself. A sticker, a note, a photo and the spectrum draw no capsule, so neither row changes them; both stay open for the next widget that has one.

Shadow casts one under every widget, a sticker’s from its own shape.

Everything but the ground is the palette, so every widget repaints with the wallpaper. Warnings keep their fixed colours — a battery in the red is red in every palette — and the GitHub wall keeps GitHub’s grey to green. There is no palette per widget.

Modern is a figure with a caption; Analogue draws each module as an object, read by where something is rather than by a number; Sticker cuts each module out as a coloured die-cut sticker that sits on the wallpaper without filling its squares. Any of the three is a choice per widget.

Modern lays every widget out on the same grid — the mark top left, the name top right, the reading along the bottom — so a wall of them reads as a set, and a bigger shape is the same widget saying more: a card fills in the right, a large square the middle. The player’s sleeve, the month, the GitHub wall and a photo are drawn whole rather than as a reading. Analogue keeps the figure small under the object on a square and puts the words beside it on a card.

A sticker is a lobed cookie, a disc, a pill or a soft square, cut from one of the palette’s hues with a pale vinyl edge round it and leaning a little, each widget its own way. It has no capsule and no ground: the wallpaper shows all round it, and its shadow is the widgets’ shadow setting, cast by the sticker’s own shape. On a card the words go on a tag stuck beside it. Nothing on a sticker moves: the record does not turn.

ModuleShapesAnalogue drawsSticker draws
Clocksquare, card, banda dial, which is also offered as a large squarea lobed dial with the minute hand red, also as a large square; wide, one sticker per figure
Calendarsquare, card, largea leaf off a wall calendartoday on a soft red square, with a round count of what is due; large, the month on a sheet
Weatherall fourthe sky, with a thermometer beside itthe sky (a sun, a night disc or a cloud) with the temperature on it; no large square
Marketsall fourthe first pair’s history on a chart recorder’s paper, the pen in the colour of the day’s move; square and card onlythe day’s move as an arrow and a percentage, on a sticker in the move’s colour; square and card only
Screen timeall fourthe day on a 24-hour dial, midnight at the top, a session per arc; a large square adds the week; no bandtoday’s total on a lobed sticker, with a ring that fills as the day reaches the week’s average; square and card only
Mediasquare, card, largea record that turns while it playsthe record with the cover on it, and round buttons beside it
Systemsquare, card, largea gauge with a needlethree badges: processor, memory and temperature; no large square
Claudesquare, card, largea fuel gauge from E to F, without the large squarea ring round the mark, without the large square
Codexsquare, card, largea fuel gauge from E to F, without the large squarea ring round the mark, without the large square
Batterysquare, carda cell that fillsan upright pill that fills
Timersquare, cardan hourglassa ring round the countdown
Volumesquare, carda knoban open ring round the speaker
Brightnesssquare, carda fadera sun with the level on a ring
Networksquare, cardarcsa disc with the connection’s glyph, its name on a tag
Bluetoothsquare, cardthe Bluetooth runethe rune, with a round count of devices
Updatessquare, carda parcel with the count on its labelthe count on a soft square, a tick when up to date
Taskssquare, card, largea clipboardthe count on a seal, red with anything late; wide, the next tasks on strips of tape
Petsquare, cardthe pet on a line of groundthe pet on a disc, its name on a tag
Gamessquare, carda joysticka pad; wide, a round Play that opens the arcade
GitHubsquare, card, bandthe wall of contribution squares, in every themethe wall, on a black sticker
Notesall fourpaper, in every themepaper
Photoall fouran instant print, or a strip of film on the bandthe picture cut out with a vinyl border
Spectrumcard, band, largeits bars, the same in every themeits bars
Lyricsall fourthe words, the same in every themethe words, on their capsule

A widget switched to a theme with no face for its shape shrinks to the largest shape that fits inside the old one, so nothing grows into a neighbour.

Every widget is always drawn. With nothing to report it says so (“Nothing playing”, “No battery”, “No forecast”) and keeps its square; the only way for a widget to leave is Remove. The weather’s location, whose contributions the GitHub wall draws, the markets followed, how a note is written and how the pet is drawn (Creature, Plush, Paper or Pixel) are in Settings → Modules, and the bar’s chips read the same settings.

On the calendar, a day with a dot has tasks due. Press it and the widget turns into that day’s tasks; it comes back when the pointer leaves it, or from the arrow. See Notes and tasks.

The Lyrics widget is the words of what is playing and nothing else: no cover, no track, no controls, so it sits beside the player rather than inside it. The line being sung is large; on a card and a band the next one waits under it, and on a large square the lines run past with the one being sung held in the middle.

With no line to show it says why: Nothing playing, Looking for lyrics, Instrumental, No lyrics for this one, or Lyrics are off. It is drawn the same in Modern, Analogue and Sticker, as a note is paper in every theme, and it comes in all four shapes.

The words come from lrclib.net, and the widget looks up every track while it is on the desk, as long as Settings → Modules → Lyrics → Look them up is on. See Lyrics.

A photo widget holds a picture of your own, in any of the four shapes. In Modern the picture fills the widget edge to edge, with the widget’s own corners and no capsule. In Analogue it is an instant print — a paper border, a strip of tape along the top and a caption handwritten in its chin — leaning a little, each photo its own way; on the band it is a strip of film, the one picture running under three frames. In Sticker the picture is cut out with a wide vinyl border and soft corners, leaning like the rest. Photo is a desktop widget only.

Edge to edge, with the widget's own corners.

The picture is chosen while arranging, on the photo’s own card: Choose… opens a picker in the card’s place, drawn on the desk. Down its side are your pictures folder, the wallpapers, your downloads, your desktop and your home; a click on a folder goes into it, the arrow goes back up, and a click on a picture is the choice. It opens on the folder of the picture the widget already holds. It works with the pointer only, so there is no path to type and no search, and it lists PNG, JPEG, WebP and BMP files. The cross beside Choose… empties the widget.

The picker, in the card's place.

The caption is typed on the card, under Caption, and written in the print’s chin as you type, forty characters at most. The field holds the keyboard while you type, and Enter, Escape or a click elsewhere lets it go. Only a print has a chin: a Modern photo and the film band carry no caption.

At rest, a click on a photo opens the picture in imv, floating over the windows. The picture is kept as a path, so it travels with the profile; a picture moved or deleted leaves the widget saying Picture not found until you choose another, and an empty one says No picture.

A deck is notes stacked along the left, right or bottom edge, as tabs that peek out. At rest each note is a sliver of its colour; the pointer arriving brings the tabs out with their titles, and the tab under it slides the whole note out beside it. A click opens the note in the island, and the right button offers Open and Edit.

While arranging:

  • drag the Notes piece from the card against an edge, and the newest note starts a deck there;
  • drag a tab along its edge to reorder it, to another edge to move it, onto the grid to make it a square of its own, or onto the pill along the bottom to take it off;
  • drag a note widget against an edge and it joins the deck there;
  • drag the round grip before the first tab to slide the whole deck along;
  • click a tab for the deck’s card: Where (left, right or bottom), Along the edge (Start, Middle or End), New notes land here, and Which notes, ticked on or off.

New notes land here makes that deck take every note you write from then on, straight onto the edge. It is off until you turn it on, and only one deck has it: turned on for another, it moves there.

A deck on the left or right runs the screen’s whole height, from the top edge down. There is one deck per edge of each screen at most, and none on the top, which is the bar’s. A note is in one place at a time: putting it on an edge takes it off its square. A notes widget on a square shows one note — the newest, or the one picked under Which note on its card — and a click opens it in the island.

Decks hide under a full-screen window. Settings → Desktop → Behaviour → Notes on the edges hides them whenever a window is open on the workspace, and brings them back when the last one closes.

The spectrum is bars that move with the sound, read from cava, on the grid or along a whole edge. It has no capsule and no theme: wherever it is, it is its bars and nothing else.

  • On the grid it is a card (4 × 2), a band (8 × 2) or a large square (4 × 4) of bars.
  • Against the left, right or bottom edge it runs the whole of that edge, one per edge, under the windows: beside a window only its foot shows, in the margin the window leaves. A side runs from the top of the screen, behind the bar, down to where the bottom’s bars begin, so the corner is never crossed.

While arranging, drag the Spectrum piece from the card onto the grid or against an edge. Dragged from the grid to an edge, or from an edge onto the grid, it turns from one into the other; an edge that has one already takes no second. Along an edge the whole strip is its handle: a click opens its card, and dropped on the pill along the bottom it is taken off.

A spectrum's own card.
On its card
ShapeOn the grid, the three footprints
WhereGrid, Left, Right or Bottom — the same as dragging it
LookRounded columns, Square columns, Segments, Dots or Wave
FillFading to the tip, Solid, or Two colours
ColourPalette, which follows the wallpaper, or a fixed colour; with Two colours, one From the edge and one To the tip
SizeHeight, on an edge, and Bars and Gap
LowsAt the corners or Along the edge
PeaksPeaks that fall back over the bars
The sliderHow solid it is, 20 to 100 %

Each look and fill on the card is drawn as a sample, so it reads in silence. The spectrum leaves under a full-screen window, and stops listening while it is away. Settings → Desktop → Behaviour → Spectrum also takes it away whenever a window is open on the workspace, and brings it back when the last one closes.

The widgets, the decks and the spectra are on every screen, each screen with a grid of its own. A widget keeps the screen it was put on by the monitor itself, not the port, so moving a cable changes nothing. One whose screen is unplugged is drawn on the main screen, set in Displays, until that screen comes back.

Arranging happens on every screen at once, and the card of modules is on the screen the pointer is on. Nothing is dragged from one screen to another: take the widget off here and place it again there.

The squares are sized to fill the screen evenly, never smaller than a set minimum, so a smaller screen has fewer of them. A layout made on a bigger screen is pulled in to fit when it is drawn, the rightmost widgets placed first so the order holds, and the saved places are left as they were, so it comes back whole on the bigger screen. The three profiles that ship are laid out for 1920 × 1200.

What the desktop does not do is listed under Limitations.