Skip to content

Releases: Patrick-mpy/linfan

LinFan 0.4.0

Choose a tag to compare

@Patrick-mpy Patrick-mpy released this 15 Aug 20:01

The fans stop chasing every temperature spike - and a profile can be built before it takes over.

Added

  • Curve smoothing. Each curve averages its temperature over a short window - 3 seconds by default,
    adjustable per curve, 0 switches it off - before it is applied. Some processors, AMD's in particular,
    report brief and very steep spikes the moment load arrives, and the fans would surge and drop back
    within seconds; hysteresis could not absorb that, because it filters how far the temperature moves,
    not how briefly. Sustained load still arrives in full, only a little later, and the over-temperature
    protection keeps reacting to the raw reading, immediately.
  • Settings → Airflow shows what is already in effect. The section used to open blank, so a machine
    that had been tuned looked exactly like one that never had been. It now lists the fans following an
    airflow role curve - each with its mounting position and curve - above the pressure balance of their
    positions, for the profile you have open.

Changed

  • A profile can be prepared before it takes over the fans. Picking a profile used to hand the fans to
    it on the spot, so there was no way to build another setup without the machine following along. The
    side menu now lists profiles the way it lists curves: selecting one opens it, a green dot marks the one
    actually regulating, and only its "Active" switch hands the fans over - once pending changes are
    applied, since the service would otherwise take over its own saved copy rather than what is on screen.
    The overview therefore always shows what the service is really running.
  • Profiles and unsaved changes moved into the window header. Both tabs lost the bar above their
    content and gained its height: curves and profiles are managed in the curves tab's side menu, each list
    with a plus in its heading, while the running profile and the buttons to apply or discard pending
    changes sit in the header, in reach from every tab. A blocked "Active" switch now names its reason
    instead of sitting greyed out without a word.
  • The interface tells things apart by more than text. The three tabs and the curve editor's sensor and
    fan lists carry symbols; message cards show a severity icon beside a wider stripe and switch both when
    their severity changes; a screen's confirming action is filled in the accent colour and destructive ones
    in red, so colour keeps meaning something; and an active curve's temperature is coloured on the same
    scale as the readings below it - amber from 60 °C, red from 80 °C.
  • Sections slide open instead of jumping. Active curves, temperatures, fans, a curve's data points and
    a fan's advanced settings expand and close in a short animation, the header arrow folding over in the
    same motion - and no longer clipped by the header row on the way.

Fixed

  • Dialogs get the dark title bar too. A confirmation or setup window kept the light system title bar
    for as long as it was open, while the main window had the right one.
  • Installing over a running LinFan works on Windows. The install and uninstall scripts closed the
    service but not the app, so an upgrade stopped with "the process cannot access the file
    Avalonia.Base.dll" and an uninstall silently left files behind. Both now close a running app from the
    install directory first; one started from a source tree is left alone. The one-click installer was
    never affected, and the Linux uninstall script gained the same step.

LinFan 0.3.1

Choose a tag to compare

@Patrick-mpy Patrick-mpy released this 13 Aug 18:19

One window again — no matter how often you start LinFan.

Fixed

  • LinFan opens only once. Every launch used to start a GUI of its own: several windows on the same
    daemon, each with its own tray icon, each saving settings and window geometry independently. A further
    launch — desktop icon, start menu, autostart — now hands over to the instance that is already running
    and brings its window to the front, out of the tray as well, instead of adding another one.
  • Repository only: line endings are now fixed to LF on every platform. A Windows checkout used to
    hand out CRLF while the project's own formatter writes LF, so running it left Git reporting hundreds
    of changed files that did not differ by a single byte. Nothing about the application changes.

LinFan 0.3.0

Choose a tag to compare

@Patrick-mpy Patrick-mpy released this 12 Aug 18:56

LinFan gets its own look — and the setup assistant no longer loses fans along the way.

Added

  • LinFan logo and app icons: the wordmark in the GUI header and on the assistant's welcome page,
    plus a proper icon for the window and tray, for the executable in Explorer and the Start menu on
    Windows, and for the application menu and dock on Linux (it used to borrow a generic system icon).
    The installers and the .deb ship it.
  • Windows: the native title bar follows the app theme — no more light system bar above a dark window.

Fixed

  • The setup assistant no longer loses the fan after a skipped one. A coupling request that arrived
    right after the previous run was silently discarded, so the GUI waited out its timeout and wrote the
    fan off — skipping both its speed-sensor coupling and its calibration. Requests now wait out the cool
    down instead of vanishing.
  • Inert fans are no longer reported as having no tachometer. The reference measurement waits longer
    for the fan to coast down — coasting down takes far longer than spinning up, and a large CPU cooler
    was still near full speed when measured. The log now also records what was measured, so a fan that
    genuinely has no tachometer can be told apart from one that was measured too early.
  • The speed-sensor coupling refuses to start when it is already hot. It parks every fan near zero
    for the measurement, so it now requires headroom below the fail-safe limit rather than starting just
    under it.
  • No more raw hardware paths as fan names. Entries created by a calibration or a coupling kept the
    device path (/lpc/nct6797d/0/control/1) as their display name. They now show the hardware label
    until you pick a name of your own, and the calibration message names the fan instead of its id.
  • Restoring a backup no longer drops the speed-sensor assignments. The GUI never put them on the
    wire, so a restore reset every fan to "no sensor" even though the backup file held them — and every
    coupling you had run was lost with it. The calibration was already carried; both travel together now.
  • The English interface was partly German: the theme picker ("Hell"/"Dunkel") and the point and
    sensor counts in the curve editor and dashboard now follow the display language and switch with it.
  • Setup assistant, calibration step: the content scrolls, so the progress card no longer pushes over
    the buttons while a fan is being coupled or calibrated.

Changed

  • The device lists' filter reads "Hide here too" instead of "Hide hidden" — it hides entries you
    already marked hidden from this list as well.