Skip to content

Releases: k4ditano/pleamar

pleamar 0.2.35

Choose a tag to compare

@k4ditano k4ditano released this 09 Oct 23:46

pleamar 0.2.35 · language 0.3

  • Glass that bends like a real pane. The lens glass now follows the ray through its bevel in 3D with Snell's law. The bevel eases into the flat top with no line round the inside. The bend has a soft limit of half the bevel, so a round glass no longer draws loops at its rim and a thick lens no longer doubles the text along its edge. Red, green and blue each bend by their own index, so the rainbow shows only where the glass bends hard. Square corners are cut like a glass block, with no spike or coloured streak. And the rim mirrors a little of what is around the glass. No cost you can measure while things move.
  • frost: says how frosted a glass is. 100% is as before, 0 is clear glass, and auto frosts only where what is behind is busy (words, a window) and stays clear over a wallpaper.
  • smoke: and milk: make smoked or milky glass. Smoked glass takes down what is behind, the brighter the more, so light text reads over anything; milky glass lifts it, so dark text does. Both are numbers, so a light and a dark look can cross over: smoke: dk; milk: 1 - dk.

The new optics, auto frost and the smoked and milky glass follow True Glass for Omarchy, itself built on hyprnux's hyprglass. Thanks Eddie175 and hyprnux.

Update with pleamar-update (Arch) or nix flake update (NixOS), and log out and back in.

pleamar 0.2.34

Choose a tag to compare

@k4ditano k4ditano released this 09 Oct 22:43

pleamar 0.2.34 · language 0.3

  • A reloaded scene gets its services' lists at once. A service only speaks when something changes, so after a hot reload a list the scene now asked for (networks: nets, a Bluetooth device list, the sound outputs) stayed empty until something changed — sometimes for minutes. Each service's last report is now kept and handed to the reloaded scene.
  • win.$i.urgent: a window that asks for attention, until it gets the keyboard. pleamar-wm sets it when a program asks to come forward while you are somewhere else, so a dock can make its icon bounce instead of the window stealing focus.
  • Programs started by the logic get no input unless you give them one. run and spawn used to hand them the scene's input — in a session, its terminal — and a program that read it from the background (ffmpeg) was stopped by the system and never finished. Now they get /dev/null; { stdin = … } and { input = … } work as before.
  • The same let written in two files of a scene is said on loading. Before, the last one silently won, and with screens: each the copies could mix both values.

Update with pleamar-update (Arch) or nix flake update (NixOS), and log out and back in.

pleamar 0.2.33

Choose a tag to compare

@k4ditano k4ditano released this 09 Oct 18:30

pleamar 0.2.33 · language 0.3

  • Big scenes with one surface use far less memory. A let that reads screen.* is now computed once per frame when the scene has a single surface, instead of being copied into every shape that uses it. In Vitreus that took memory from ~1.2 GB to ~0.3 GB and compose from 1.9 to 0.7 ms a frame. Scenes with screens: each are unchanged. Thanks @natepayn3 (#41).
  • Groups with blur, glow or opacity cost a lot less. Groups that don't touch each other are now painted on their layers together, in one pass per layer, instead of one pass each. With 60 animated cards: recording a frame 4.7 → 0.3 ms, the GPU 5.8 → 3.2 ms with glow. Same picture to the pixel. Thanks @natepayn3 for the measurements (#38).
  • A fading glass no longer leaves a blurred patch behind. A glass inside a group that fades out now lets go of the compositor's blur in time, and a surface that closes clears it with its last frame. Thanks @circuskid for the diagnosis (#39).
  • Partial glass with a lens looks like partial glass. Below 100%, a glass with a lens is now partly glass and partly its fill, like one without a lens, and going from 0 to 100% has no jump. Thanks @circuskid (#40).

Update with pleamar-update (Arch) or nix flake update (NixOS), and log out and back in.

pleamar 0.2.32

Choose a tag to compare

@k4ditano k4ditano released this 09 Oct 12:49

pleamar 0.2.32 · language 0.3

  • Light colours no longer come out white. pleamar picked the first surface format that wasn't sRGB, and on some AMD cards under Hyprland that is Rgba16Float, which the compositor reads as linear light: a pale pink like #ffadfa looked white. It now prefers 8 bits a channel. Thanks @mirrorresident for the clear report (#37).
  • --say takes several commands at once, run in order. pleamar --say osd "text label Volume" "fact value 0.4" "emit popup" is one call: the texts are in place before the emit that shows them. Thanks @circuskid (#34).
  • A pause no longer moves media to another player. With nothing playing it stays on the one that played last, so play after a pause resumes it instead of starting whatever sorts first on the bus. Thanks @circuskid (#35).
  • thumbnails.live costs half as much. A live frame is compared with the one kept instead of hashed, and fitted to its size in two passes; the pictures are byte for byte the same. Thanks @circuskid (#32).
  • Docs brought in line with what the code already does. Thanks @circuskid (#33).

Update with pleamar-update (Arch) or nix flake update (NixOS), and log out and back in.

pleamar 0.2.31

Choose a tag to compare

@k4ditano k4ditano released this 09 Oct 11:54

pleamar 0.2.31 · language 0.3

  • Liquid Glass under a window manager too. Inside pleamar-wm's own session the glass had nothing behind it to bend, so it was only a tint. Now, right before each glass is painted, what the scene has already painted under it is taken as its background: the glass bends and frosts the wallpaper and the windows like everywhere else.
  • Scenes that draw windows' frames. Cursors to stretch and carry with (ew_resize, ns_resize, nwse_resize, nesw_resize), and a window now says whether it draws its own frame (win.$i.framed) and when it asks, from its own title bar or edges, to be carried or stretched (win.$i.held, win.$i.edges).
  • Apps in your language. The apps service now gives each program's local_name (its Name[es], «Calculadora») and its categories, so a launcher can show them as you read them and group them.
  • Clicks inside a repeat in a scene copied per monitor. Every copy declared the same zone, and no copy's rules heard their own: now each copy's zone is its own.
  • A let that hides a fact or a prop is said on loading. It used to hide it without a word from everything that read it.
  • Smaller fixes. A hot reload keeps a full-size scene's size (it went 0 × 0 and lost its wallpaper); a hidden field no longer takes the keyboard; the zone pressed keeps its drag when the pointer leaves it; and programs the logic starts are told which desktop the scene is on.

Update with pleamar-update (Arch) or nix flake update (NixOS), and log out and back in.

pleamar 0.2.30

Choose a tag to compare

@k4ditano k4ditano released this 08 Oct 17:51

pleamar 0.2.30 · language 0.3

  • Starting programs no longer freezes the painting. Since 0.2.29 every program a scene ran made Rust fork the whole scene, and a scene holding a gigabyte froze for up to half a second each time (a settings page running thirty commands). Programs are started without forking again, each in a process group of its own. Thanks @natepayn3 (#30).
  • A scene that does not use its terminal lets go of it. A program it starts that asks for something on a terminal (sudo wanting a password) now fails at once, instead of being stopped there for good.
  • A full-size surface follows its monitor when the mode changes. A bar or shell with size: full, full and a reserve kept the old monitor's size, and screen.width/screen.height the old values, until it was started again. Thanks @natepayn3 (#29).
  • Monitors coming back from sleep. No backdrop is captured while monitors come and go (the shell could exit on wake), a monitor that returns gets the scene's anchors, levels and reserves, the lock shows on the monitor named in screens:, and a render that panics ends the process instead of leaving a frozen picture. Thanks @natepayn3 (#31).

Update with pleamar-update (Arch) or nix flake update (NixOS), and log out and back in.

pleamar 0.2.29

Choose a tag to compare

@k4ditano k4ditano released this 07 Oct 20:34

pleamar 0.2.29 · language 0.3

  • A program a scene starts can no longer freeze it. The processes a scene runs shared its terminal and process group. One that asked for something on the terminal (an AUR helper's sudo -v wanting a password) made the kernel stop the whole group, the scene included: Marea froze with her update at 0%. Each process now runs in a session of its own, and one that asks on a terminal fails at once instead.

Update with pleamar-update (Arch) or nix flake update (NixOS), together with pleamar-wm 0.3.1 and Marea, and log out and back in.

pleamar 0.2.28

Choose a tag to compare

@k4ditano k4ditano released this 07 Oct 19:13

pleamar 0.2.28 · language 0.3

  • A press lands where you pressed. A remote's hands (or a quick finger) send the press and the first move together: the scene judged the press at the moved position, outside the button. Now the move waits for the next round.
  • Windows that come back find their workspace. When every window of the workspace a monitor shows went to another monitor (one unplugged, or the phone's), the monitor showed a new empty one, and the windows that came back stayed hidden. The workspace they left is remembered and shown again when they return.
  • The installer builds the remote's own video (pleamar-wm-stream, H.264 on the GPU) when ffmpeg's development files are there; without them the remote uses wf-recorder, as before.

Update with pleamar-update (Arch) or nix flake update (NixOS), together with pleamar-wm 0.3.0, and log out and back in.

pleamar 0.2.27

Choose a tag to compare

@k4ditano k4ditano released this 07 Oct 04:36

pleamar 0.2.27 · language 0.3

  • The agent's cursor goes to panels too. When an agent presses something by name, pleamar's hand first takes the agent's own cursor there, so you see what it is about to do. That only worked in windows: in a panel (a bar, a dock, Marea) the cursor stayed where it was and the press happened with nothing moving. Now the cursor glides to the button in panels as well, with the monitor's glow and the Stop pill, through the same hands pleamar-wm gives the agent everywhere else. Needs pleamar-wm 0.2.28.

Update with pleamar-update (Arch) or nix flake update (NixOS), together with pleamar-wm 0.2.28, and log out and back in.

pleamar 0.2.26

Choose a tag to compare

@k4ditano k4ditano released this 06 Oct 22:03

pleamar 0.2.26 · language 0.3

  • Acting by name works in scenes copied per monitor. Marea has the same buttons on each monitor's copy, and press agents_btn took the first copy it found. That could be the one on a monitor where she shows nothing, and the press answered «not on screen» while describe listed the button. Now the copy that is on screen is the one pressed. Found by trying it live on Marea.
  • What happened only tells what can be seen. A fact that changed by less than it is written with (0.181 → 0.181) is no longer reported.

Marea's controls now say what they are on every page: the sound page's volumes and mute buttons (each app's too, by its name), the calendar's months, the agents' tanks with what is left, and the lists that scroll. Update with pleamar-update (Arch) or nix flake update (NixOS), together with Marea and pleamar-wm 0.2.27, and log out and back in.