Skip to content

Releases: FunkyNERD/nerd-deck

nerd-deck app 0.9.1

Choose a tag to compare

@github-actions github-actions released this 23 Oct 04:22

What's changed

Everything since host-v0.9.0.

Fixes

  • stats: stop leaking GPU and mount watchers, and read less often (dd6683d)
    Changing a Stats setting built a new collector, which started another GPU
    watcher and mount watcher while the old ones kept running; the collector is
    now reconfigured in place. Clock speeds, disk space and the CPU's
    temperature are read at most once a second, and network counters come from
    /proc/net/dev, one file, instead of six files per interface.

Performance

  • drop sysinfo's thread pool (2a2f0b7)
    Its rayon threads, one per core, were woken on every sample to refresh in
    parallel, which cost far more than the refresh itself: about 3.5% of a core
    at a 100 ms interval.

Chores

Full diff: host-v0.9.0...host-v0.9.1

nerd-deck app 0.9.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 02:08

What's changed

Everything since host-v0.8.3.

Features

  • settings: update every 100 ms or 200 ms, with a warning (3aba796)
    The settings window offers intervals down to 100 ms and warns that the deck
    may not be as responsive under a second. The config rejects anything
    shorter than 100 ms.
  • settings: app update banner with what's new and a download (be23365)
    Every page of the settings window shows a newer app release: the features
    and fixes since this version, and for an install from a package, the .deb or
    .rpm to download and open in the software installer. A source install is
    told to update with git pull and install.sh instead. The service now reports
    a newer release with no deck connected too.

Fixes

  • wait for the stats interval before taking the host for gone (703bcdf)
    The app sends its stats interval with the display settings, and the deck
    waits that long plus 2 s, at least 3 s, before showing the waiting screen,
    so a 5 s interval no longer drops to it between updates.

Performance

  • stats: sample in under a millisecond (2cb56ea)
    Only the CPU's temperature sensor is refreshed (all of them took ~45 ms on
    a laptop), the battery is read every 5 s rather than every sample (~10 ms
    each), and a slow sample no longer leaves a backlog to send in a burst.

Documentation

  • the stats interval timeout ships in firmware 0.9.0 (04684e7)

Chores

Full diff: host-v0.8.3...host-v0.9.0

nerd-deck app 0.8.3

Choose a tag to compare

@github-actions github-actions released this 23 Oct 01:02

What's changed

Everything since host-v0.8.2.

Fixes

  • stats: leave nerd-deck itself out of the busiest program (c3912c8)
    The service, tray and settings window are all nerd-deck, so they're skipped,
    and a program replaced while it runs is counted under its own name rather
    than as " (deleted)".

Chores

Full diff: host-v0.8.2...host-v0.8.3

nerd-deck app 0.11.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 10:01

What's changed

Everything since host-v0.10.0.

Features

  • start and stop the service from the tray and settings window (e1c2bcb)

Chores

Full diff: host-v0.10.0...host-v0.11.0

nerd-deck app 0.10.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 08:10

What's changed

Everything since host-v0.9.1.

Features

  • keep display settings on each deck (b2b7491)
    Each deck reports its own settings when it connects, and the settings
    window changes them on the connected deck only, so two decks can be set
    up differently. The host no longer pushes [display] from the config, and
    firmware installs leave the deck's stored settings alone.

Chores

Full diff: host-v0.9.1...host-v0.10.0

nerd-deck firmware 0.9.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 02:03

What's changed

Everything since firmware-v0.8.1.

Fixes

  • firmware: stay responsive when data floods in (d7eac3c)
    Serial is read in chunks for at most 20 ms a pass, so a sender going flat
    out can't freeze the screen, and only the newest whole stats each pass are
    drawn. A line that starts like a message counts as the host being there,
    even when a flood has dropped bytes from the rest of it.
  • wait for the stats interval before taking the host for gone (703bcdf)
    The app sends its stats interval with the display settings, and the deck
    waits that long plus 2 s, at least 3 s, before showing the waiting screen,
    so a 5 s interval no longer drops to it between updates.

Documentation

  • the stats interval timeout ships in firmware 0.9.0 (04684e7)

Chores

  • release: firmware 0.9.0 (e6f1f8d)

Full diff: firmware-v0.8.1...firmware-v0.9.0

nerd-deck firmware 0.10.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 08:06

What's changed

Everything since firmware-v0.9.0.

Features

  • keep display settings on each deck (b2b7491)
    Each deck reports its own settings when it connects, and the settings
    window changes them on the connected deck only, so two decks can be set
    up differently. The host no longer pushes [display] from the config, and
    firmware installs leave the deck's stored settings alone.

Full diff: firmware-v0.9.0...firmware-v0.10.0

nerd-deck 0.6.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 13:21

What's changed

Everything since v0.5.1.

Features

  • GPU and busiest program on System, disk activity on Storage (684777a)
    The System tab's RAM and swap share one memory card, and the freed slot
    shows the discrete GPU (NVIDIA via nvidia-smi, or AMD): usage, temperature
    and VRAM, left alone while it's powered down. PCs without one show the
    busiest program instead. Storage cards show each disk's read and write rates.
  • colour the CPU temperature by configurable thresholds (aa01fc8)
    The System tab shows the CPU temperature orange from display.temp_warm
    and red from display.temp_hot, set on the settings window's Device page.
    The clock now sits on the left under the gauge and the temperature on the
    right, so neither moves as the other changes width.
  • preset button actions, URL buttons and coloured tab icons (df33fd2)
    The button editor picks what a button does from ready-made actions (the
    default buttons' and a few more), opening a URL, or running any program;
    it's still saved as the button's command. The image note goes. On the deck
    and in settings, the System tab's icon is the logo's bars, and each tab's
    icon takes its own colour while open.
  • choose how long the deck stays on while the PC is away (8344f5b)
    display.off_after (minutes, up to an hour, 0 never) replaces the on/off
    off_when_away. The settings window also writes [display] as a real
    section before the buttons, and turns the inline table an earlier build
    wrote into one.
  • tab order, start tab, brightness and power saving for the deck (a9e354f)
    A Deck tabs page in the settings window sets the order of the deck's tabs,
    and the Device page's display settings now work: the tab it opens on,
    brightness, dimming when idle and turning off while the PC is away. They go
    to the deck in a new display message (protocol v6), which keeps them in
    flash so they apply from power-on.

Chores

Full diff: v0.5.1...v0.6.0

nerd-deck 0.5.1

Choose a tag to compare

@github-actions github-actions released this 22 Oct 09:58

What's changed

Everything since v0.5.0.

Fixes

  • host: start the tray with the settings window and refresh icon caches (4b772f2)
    The tray only started at login, so opening settings after an install showed
    no tray icon; the window now starts it when it isn't running. install.sh
    tells the desktop about the new icon and menu entry, and skips sudo when the
    udev rule is already current.

Chores

Full diff: v0.5.0...v0.5.1

nerd-deck 0.5.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 09:43

What's changed

Everything since v0.4.1.

Features

  • icon tabs with a Storage tab and the battery as a tab (24de5b9)
    The header now has a pill per tab, icon only but for the open one, which
    also shows its name. Disks move from Network to their own Storage tab, with
    USB drives marked (the host sends removable), and the battery screen
    becomes a Battery tab, shown only on hosts with a battery.

  • full-face image buttons, label colours and a battery screen (75eaa4b)
    Image buttons now fill the whole face with the label on a band, every
    button can set its label colour (with a picker in the settings window),
    and tapping the battery opens a power and battery stats screen. The device
    acknowledges each image so lost chunks are resent. Protocol v5.

  • host: add a settings window (31b5128)
    nerd-deck --settings (the app menu, or a click on the tray icon) edits the
    config in place, keeping its comments and layout, and has the service reload
    it after each change. Sections for the device, a button editor (the deck's own
    icons, images, commands with Run now), stats, notification filters, firmware
    and updates, and About. Built with Slint under its royalty-free licence, with
    Slint's credit on the About page. Opening it again brings the open window to
    the front.

    The service gains what the window needs: switches for the battery, Do Not
    Disturb and low-urgency notifications, a record of apps that send
    notifications, a ReinstallFirmware method, and more in its status.

  • host: add a tray icon and a D-Bus interface to the service (cc5c013)
    The service now owns io.github.FunkyNERD.NerdDeck on the session bus, with
    Status, Reload and TestNotification methods and a StatusChanged signal, and
    applies a reloaded config without restarting. nerd-deck --tray shows the
    deck's state in the system tray and offers test notifications and config
    editing and reloading. install.sh and the packages start the tray at login.

  • show desktop notifications on the device (f1dfef8)
    The host watches the session bus as a monitor and copies freedesktop Notify
    and GNOME's org.gtk.Notifications calls to the device, filtered by app, with
    low-urgency ones left out and Do Not Disturb respected. Off by default under
    [notifications] in the config.

    The device dims the screen and slides a card down for 8 s; a critical
    notification takes over the whole screen until dismissed. Protocol v4 adds the
    notification message.

Documentation

  • show the deck running in the README (9de3e23)

Chores

Full diff: v0.4.1...v0.5.0