Skip to content

Releases: twiking/omasettings

OmaSettings 1.2.3

Choose a tag to compare

@twiking twiking released this 01 Sep 07:22
  • The update notice no longer crowds the reset button. In the sidebar footer, "Update available" sat flush against Reset all settings, so the two read as one block. They are now spaced apart.

OmaSettings 1.2.2

Choose a tag to compare

@twiking twiking released this 31 Aug 18:20
  • Settings rows no longer collapse. A row measured itself from where its controls had already been placed, which fed the row's own height back into itself — so a row could stick at whatever height it first happened to have. It now sizes from what the controls ask for.

OmaSettings 1.2.1

Choose a tag to compare

@twiking twiking released this 31 Aug 08:50
  • Displays remember the screen, not the socket. A monitor is now identified by what it reports about itself, so settings stay with the display instead of following whichever cable is in that port. Plugging a different monitor into DP-2 no longer hands it the last one's resolution and scale.
  • Docking works. Two identical monitors at two desks are told apart by serial, the way a hand-written monitors.lua always could.
  • Each display is named by its model. The group title says which screen it is, with its connector shown underneath.
  • Existing settings are carried over to whatever is plugged into that connector now.

OmaSettings 1.2.0

Choose a tag to compare

@twiking twiking released this 31 Aug 06:56
  • Spacers in the bar. Add blank space to any section and drag its width.
  • Much faster. A click is answered in 41ms instead of 899ms; the window opens in 0.45s instead of 2.4s.
  • Quick presses stick. A second press while the window was busy used to be dropped.
  • Bar page tidied. Arrows, Move, then Disable/Remove in front of the name, lined up down the page.
  • The title shows the version.

OmaSettings 1.1.3

Choose a tag to compare

@twiking twiking released this 28 Aug 11:16

One button on the Bar page did nothing at all.

  • Moving a widget to another section works again. Pressing Move and then Left, Center or Right closed the buttons and left the widget where it was. The buttons were closing themselves before running the move, and closing them takes the button apart mid-click — so the line that did the work never ran, and nothing said why. The move now happens first.

Present since bar widgets became reorderable; if you tried this before and assumed you had misread the button, you had not.

OmaSettings 1.1.2

Choose a tag to compare

@twiking twiking released this 28 Aug 05:37

Updating a plugin used to open a terminal on top of the settings window. Now it happens in the window.

  • The Update button no longer opens a terminal. The flow it ran is only interactive because it prints a diff and asks, and this page can ask better: a plugin that is behind now says how many commits are waiting and what the first three of them say, read while the update check is already talking to the remote, so it costs nothing extra.
  • A row says how its update went. Upstream's own answer, kept whether it worked or not — so "cannot fast-forward; you have local changes" lands on the row instead of flashing past in a terminal that has already closed.
  • The window comes back. Anything that changes a file under the plugins directory makes the shell reload every plugin widget, this window's host included, so a plugin cannot update another plugin and stay on screen. The update now survives that on its own and summons the window back to the Plugins page with the result waiting on it. The page says so up front, rather than leaving you to work out where the settings went.

Add and remove still hand off to a terminal. Both genuinely ask questions and print what they did.

OmaSettings 1.1.1

Choose a tag to compare

@twiking twiking released this 26 Aug 14:24

One setting was writing a generated file that Hyprland could not read.

  • Tap to click applies again. Its Lua key was written with dashes — tap-to-click = false — which is a syntax error, so Hyprland stopped reading omasettings.lua altogether and the setting never took effect, with nothing saying why. It is the only key here whose keyword carried a dash.
  • A generated file that will not parse is rendered again the next time the window opens. It is built wholly from the store, so a copy Hyprland has rejected is not worth keeping — if you had toggled Tap to click on 1.1.0 or earlier, opening the window repairs it.

Thanks to @TheCosmicMoose for reporting it in #1.

OmaSettings 1.1.0

Choose a tag to compare

@twiking twiking released this 26 Aug 14:18

Displays became a page that actually changes your displays, and the Bar page can now turn widgets off.

  • Resolution is settable. Every setting on the Displays page used to go out through hyprctl keyword monitor, which does nothing on a Lua config — it prints "keyword can't work with non-legacy parsers" to stderr and exits 0, so resolution was unavailable and scale only appeared to work. Everything now goes through hyprctl eval 'hl.monitor({...})', and each display offers the modes it reports.
  • A display keeps its settings. They land in ~/.config/hypr/omasettings.lua as hl.monitor rules, so they survive a reload and re-apply on every reconnect. A display that is not plugged in can be set up by name and keeps what it was given.
  • The laptop panel's scale sticks. While a laptop is docked, omarchy-hyprland-monitor-clamshell re-reads the internal panel's scale from monitors.lua every couple of seconds, so a scale set here survived about a second. The number is now written there too, in place, and the watcher enforces what you chose.
  • Bar widgets can be enabled and disabled, keeping each widget's own settings and its place — unlike omarchy plugin disable, which drops both.
  • The sidebar scrolls instead of running off the bottom of a tall window.
  • A dragged slider keeps the value it was dragged to rather than springing back until the write lands.
  • The file path under each page title is gone: it named one file for pages that write to several, or to no file at all.

OmaSettings 1.0.3

Choose a tag to compare

@twiking twiking released this 24 Aug 13:09

Third round of hardening from the omarchyplugins.com security review:

  • The Wi-Fi passphrase is handed to the helper over stdin, never on the command line.
  • The plugin list is read under a byte and time bound, and the update cache is read descriptor-checked and written to a fresh sibling renamed into place.
  • Fixes a regression in 1.0.2 where plugin update counts always came back 0.

OmaSettings 1.0.2

Choose a tag to compare

@twiking twiking released this 24 Aug 07:07

Follow-up hardening from the omarchyplugins.com security review:

  • Reads of other people's files open the file first and verify the descriptor, bounded in time and in bytes. A path that turns into a symlink, a FIFO or an oversized file between the check and the open cannot redirect, block or exhaust the read.
  • Every state producer is bounded at the producer, and the helper caps its own output as well.
  • A write to a path that is not a regular file is refused rather than attempted.
  • A config symlinked into a dotfiles repo now has its target updated instead of the link being replaced.