github miracle-wm-org/miracle-wm v0.10.0

5 hours ago

Happy Summer 🌞 Ten releases already! The plugin system is getting better and better everyday. We are swiftly reaching release 1.0.0 (shooting for end of this year). I hope you're all having fun out there 👯

Check out the release demo here: https://youtu.be/tbA-NaHyLNg

Features 🌟

  • Plugins can now set a per-window shader pipeline, which enabled the focus blur plugin
  • Plugins can now set an output shader pipeline, which enabled the nightlight plugin
  • Enabled ext_data_control_manager_v1, ext_image_copy_capture_manager_v1, ext_output_image_capture_source_manager_v1, ext_foreign_toplevel_list_v1 and zwp_input_method_v1
    • This makes wl-copy, xdg-desktop-portal-wlr and grimshot work perfectly out of the box
  • Added a visual GTK4 client that informs the user when their configuration has errors
    • Errors are broadcast over the miracle IPC socket (see the wiki for more details)
  • Added a debug overlay GTK4 client that provides information about windows positioning, their input regions and much more (trigger it with miraclemsg debug overlay)
    • Debug information is broadcast over the miracle IPC socket (see the wiki for more details)
  • All .wasm plugins are automatically loaded from ~/.config/miracle-wm/plugins
  • Bumped the plugin API to version 0.1.0

Bugs Fixed 🐛

  • Fixed a LONG standing bug with dead input regions on windows (#923)
  • The snap now takes the graphical systemd session appropriately
  • If miracle crashes, it will always teardown the systemd session correctly (#883)
  • WasmEdge's LLVM will no longer conflict with that of llvmpipe, which was causing blank screens on render (#907)

Misc 🔧

What's Changed

  • feature: implement e2e tests with screenshots by @mattkae in #868
  • task: update CI to 26.04 by @mattkae in #869
  • bugfix: animating containers should NOT be interesected by @mattkae in #871
  • feature: add possibility for custom sampler functions in window rendering shaders by @mattkae in #872
  • bugfix: missing initializer fields by @mattkae in #876
  • task: publish the candidate snap again by @mattkae in #875
  • feature: new monitors will now be positioned horizontally instead of being turned off when they are not found by @mattkae in #878
  • (#760) bugfix: fix unsafe wlr_output_management object use by @mattkae in #879
  • (#659) bugfix: only sending binding event when it is handled by @mattkae in #880
  • bugfix: on crash, tear down IPC connection manager in order to release systemd targets by @mattkae in #883
  • feature: enable shader registration via plugins by @mattkae in #882
  • task: remove PluginWindow from window.rs and collapse it into WindowInfo by @mattkae in #884
  • feature: plugins can now set shaders per window by @mattkae in #885
  • task: rename WindowInfo to Window in miracle-plugin-rs by @mattkae in #886
  • bugfix: fix plugin API around custom shaders per window by @mattkae in #887
  • feature: implementing a shader pipeline for windows by @mattkae in #889
  • bugfix: borders no longer cause the window to change color by @mattkae in #891
  • task: update surface to accomodate mir dev API by @mattkae in #893
  • feature: move wiki into the miracle-wm repo by @mattkae in #894
  • bugfix: fullscreen apps default to freestyle + fixing window clipping when position changes by @mattkae in #895
  • feature: unmaximizing a window returns it to its previous state by @mattkae in #896
  • Background feature: Fix UAF due to vector reallocing things out from under the mainloop by @RAOF in #892
  • feature: load plugins from the config/miracle-wm/plugins directory automatically by @mattkae in #897
  • feature: unload a shader when the plugin that created it unloads by @mattkae in #898
  • feature: plugins can now set the output shader by @mattkae in #899
  • bugfix: drop base devel from snapcraft by @mattkae in #900
  • Correct broken link to wiki by @markstos in #902
  • refactor: share more code in the PluginManager by @mattkae in #905
  • feature: client for configuration error reporting by @mattkae in #906
  • feature: do not clip freestyle windows to any particular size by @mattkae in #904
  • bugfix: keep WasmEdge out of main build so that we don't accidentally bring in two version of llvm which cause us to fail to render by @mattkae in #907
  • (#691) bugfix: enable data control manager to prevent phantom windows with wl-copy and grimshot by @mattkae in #908
  • feature: enable ext_image_copy_capture_manager_v1, ext_output_image_capture_source_manager_v1, ext_foreign_toplevel_list_v1, and zwp_input_method_v1 by @mattkae in #909
  • feature: add ability to animate shell windows by @mattkae in #913
  • bugfix: fix freestyle window layer by @mattkae in #914
  • (#912) bugfix: correct child process exit status processing in AutoRestartingLauncher by @mattkae in #915
  • bugfix: set snap grade to stable by @mattkae in #916
  • bugfix: comment out grade version by @mattkae in #917
  • bugfix: fix systemd session in the snap by @mattkae in #918
  • feature: publish a stable snap on release by @mattkae in #919
  • feature: add a visual debugger to miracle by @mattkae in #921
  • bugfix: fix long-standing bug where window state was not being propagated when a window was not on the focused workspace by @mattkae in #923

New Contributors

Full Changelog: v0.9.1...v0.10.0

Don't miss a new miracle-wm release

NewReleases is sending notifications on new releases.