Skip to content

Draftpaper 0.7.0

Choose a tag to compare

@0x64616e6e 0x64616e6e released this 18 Oct 17:48
· 82 commits to main since this release

One settings tool for the whole desktop, the machine and its load drawn on the sheet, colour correction,
and everything on the sheet on one millimetre grid.

  • Settings (#36). The settings (Mod+t) gain Displays, Text, Sheet, Rulers, Session, Input and
    Idle · lock pages, each a list of config.toml's keys with their values to pick. A pick shows at once;
    Enter keeps it, Escape puts config.toml back as it was. The Displays page draws the displays as
    arranged, to scale, and sets each one's scale and which side of the one before it it sits. The Text
    page sets one interface face and one monospace face with their sizes for GTK, Qt, the terminals, Emacs
    and the sheet's lettering ([text]), each size with its x-height and the angle it makes at the
    viewing distance, lettered red below the legibility target. draftpaper config set table.key=value
    writes any key, the file's comments and order kept (quoted names too: outputs."ASUS MB166C".scale=1);
    draftpaper config json reads them.
  • A display's settings follow it. [outputs."ASUS MB166C"], by its model, before [outputs.DP-3],
    by its port; a key taken out puts the display back as plugged in.
  • The schedules and the graph (#49). Mod+i (draftpaper schedule next) brings a schedule of
    equipment (machine, processor, graphics, memory, storage, system, each display, the sheet: draftpaper machine), then a process schedule (draftpaper processes: the busiest programs, each one's processes
    counted as one, its share of a processor ruled as a bar), then neither, fading in and out in the title
    block's column from the top of the frame; PROJECT and a new PROCESSES cell in the title block bring
    them too. A click on a reading's cell (CPU / memory, temperature and fan, power, battery) shows its
    last ten minutes on millimetre squares that fade out, each line lettered with its name and value. All
    part of the sheet: no outline or panel; over a wallpaper on the paper's halo. A zone ([sheet] schedule_at, load_at) or a drag moves them, a whole millimetre at a time.
  • Colour correction (#50). [outputs."<model>"] icc = "profile.icc" loads an ICC profile's
    calibration curves (vcgt) into the display's gamma table, as xcalib does on X11; and wlr-gamma-control,
    so gammastep and wlsunset work (a tool's ramps while it runs, the profile's again when it quits).
    draftpaper-compositor msg gamma.
  • One millimetre grid. A design invariant, in docs/wayland-design.md: everything on the sheet sits at
    whole millimetres from the frame's corner, then on whole pixels. The sheet's 5 mm dots are counted from
    the frame's corner, each on its nearest pixel (they drifted a millimetre across a 5.6 px/mm display);
    the rulers' zero too (it was 2 pixels off) and each of their ticks on its pixel, so a level ruler's
    ticks fall on the dots. make pixels checks every dot and tick on its pixel.
  • Rulers. [rulers]: the steps, turns, numbered edges, centre line, width and pointer hold.
  • Two displays at different scales. A window whose shadow reaches over onto the other display
    (Firefox at the left margin of a 4K display beside the panel) is told only its own display's scale and
    drawn only there: it flickered and was drawn whole on the other.
  • The pointer comes along on a workspace switch to another display, so the focus stays there.
  • A clickable cell of the title block takes the click over the whole of it and shows a tint under the
    pointer. Hatching can be set in config.toml's [sheet], over the theme's.
  • For scripts and tests: draftpaper-compositor msg button left down|up; headless displays take their
    models from DRAFTPAPER_MODELS.