Skip to content

Releases: miracle-wm-org/miracle-wm

v0.8.2

17 Nov 13:39
d47e025

Choose a tag to compare

What's Changed

  • task: improve releasing so that the changelog winds up in git history by @mattkae in #708
  • task: bump version to 0.8.2 by @mattkae in #709

Full Changelog: v0.8.1...v0.8.2

v0.8.1

17 Nov 13:09
cb47fb6

Choose a tag to compare

What's Changed

  • bugfix: fix the snap so that we can boot into it again by @mattkae in #702
  • (#701) bugfix: use the Decorations::always_csd decoration strategy by @mattkae in #703
  • (#700) bugfix: shell components can be intersected and interacted with properly again by @mattkae in #705
  • (#697) bugfix: null check on the container in WindowAnimation::on_tick by @mattkae in #706
  • task: Ubuntu release script to be run when a release is tagged by @mattkae in #707

Full Changelog: v0.8.0...v0.8.1

v0.8.0

12 Nov 20:39
a4fe379

Choose a tag to compare

Happy Halloween 🎃

Check out the demo video to see what's new 🪄

Features ⭐

  • Added support for a bunch of accessibility features that are included in Mir, including:
  • Implemented output filters based on custom shaders
  • Added the ability to configure touchpads
  • Improved slide animations on workspaces and implemented fade animations on workspaces
  • ~ paths are now always resolved to the users home directory throughout the configuration
  • Users can now specify includes so that configurations may be composed from multiple files
  • Added the ability combine multiple animations for sweet affects
  • Improved and simplified the miracle C API
  • Users can now specify the cursor scale
  • Users can now specify the cursor's focus mode ("hover" vs "click") (thanks @eliasreid)
  • When a window is floated out of the grid, is automatically centered

Bugs Fixed 🐛

  • The clang build now works and is included in CI
  • Fixed animation issues with X11 apps
  • Removed gap between the content of windows and their borders when the corner is rounded (thanks @eliasreid)

What's Changed

  • refactor: simplify animation step payload + introduce a more abstract Animation class by @mattkae in #642
  • feature: add a mechanism to combine animations across built in animation types by @mattkae in #645
  • task: fix all compiler warnings in miracle by @mattkae in #648
  • (#646) bugfix: catching possible exception while setting the keymap by @mattkae in #649
  • (#489) bugfix: respect the min width and min height when setting the size on a leaf container by @mattkae in #650
  • feature: resolving tilda in paths by @mattkae in #652
  • (#489) bugfix: slide animations no longer cause an overflow of the tile for windows with min sizes by @mattkae in #653
  • bugfix: no longer flickering on fadeout by @mattkae in #656
  • task: preinit the configuration by @mattkae in #655
  • workflow: bump fedora CI version to fedora 43 by @mattkae in #661
  • feature: implement hover click accessibility feature by @mattkae in #660
  • feature: implement simulated seondary click accessibility feature by @mattkae in #662
  • feature: implement output filters in the renderer by @mattkae in #663
  • bugfix: default configuration is now copied to ~/.config instead of ~/.config/miracle-wm on accident by @mattkae in #665
  • release: 0.7.1 by @mattkae in #666
  • feature: implement cursor scale by @mattkae in #667
  • task: when a window is floated, it is centered on its output by @mattkae in #668
  • feature: implement slow keys by @mattkae in #669
  • task: remove RenderFilter by @mattkae in #670
  • feature: implement sticky keys by @mattkae in #671
  • task: remove the default parameter from set_rectangle on the Container by @mattkae in #672
  • bugfix: no longer throwing an exception when a path doesn't exist for std::filesystem::last_write_time by @mattkae in #674
  • task: caching workspace transformation on the workspace itself by @mattkae in #673
  • bugfix: no longer applying an inverse transform on a flipped surface in favor of flipping the texture coordinate by @mattkae in #675
  • bugfix: dramatically simplifying how we do borders to avoid potentially bad transforms by @mattkae in #676
  • bugfix: fixing keymap options not being sent by @mattkae in #678
  • bugfix: need to manually install boost libraries by @mattkae in #680
  • feature: add the ability to include one configuration in another by @mattkae in #679
  • task: combine fade_in and fade_out to simply fade by @mattkae in #681
  • task: add opaque region to surfaces and renderables + add -DCOMPILING_AGAINST_DEV so that CI works by @mattkae in #682
  • feature: implement the magnifier accessibility feature by @mattkae in #664
  • bugfix: fix the magnifier key command strings by @mattkae in #684
  • bugfix: magnifier should nto be enabled by default by @mattkae in #686
  • feature: rework how workspace transformations are done so that they no longer actually live at a particular offset by @mattkae in #687
  • Click to focus window by @eliasreid in #685
  • feature: fade workspace switching + fixing X11 windows not fading properly + fix deadlocks and races due to the animation system by @mattkae in #689
  • shrink content radius to match border inner radius by @eliasreid in #688
  • task: running a clang build in CI + fixing the clang build for CI by @mattkae in #690
  • feature: reimplement window placement strategy per workspace in a better way by @mattkae in #692
  • refactor: C API docstrings + standardizing the API look and feel by @mattkae in #693
  • feature: implement the touchpad configuration by @mattkae in #695
  • task: bump version to 0.8.0 by @mattkae in #696

New Contributors

Full Changelog: v0.7.1...v0.8.0

v0.7.1

22 Sep 21:04

Choose a tag to compare

What's new?

  • Catching possible exception when the keymap is wrong (#646)
  • Fix for the Fedora spin: default configuration is now copied to ~/.config instead of ~/.config/miracle-wm on accident

v0.7.0

04 Sep 00:05
4173c6c

Choose a tag to compare

End of summer 🍂 ! I am happy to announce that I have finished the bits of Sway/I3 IPC that I'm interested in (for now). Time to move onto cooler things 😎 Stay tuned!

Highlights 💇

  • Implemented the remainder of the sway/i3 ipc that we care about 🎉 more details are included below, but there are a ton of new commands that you can check out and use today
    • Also, I've extensively documented each command in the miracle-wm wiki, so check that out too
    • Also also: wrote lots of tests!
  • Added a mouse configuration so that users can configure the acceleration and acceleration profile of the mouse
  • Added a keyboard configuration so that users can configure the language of the keyboard
  • Loading the keyboard configuration from locale1 by default
  • Fixed a bug where we were segfaulting on shutdown
  • Fixed broken closing animations
  • Upgrade to Mir v2.22

What's Changed

  • feature: implement binding events by @mattkae in #596
  • feature: implement 'gaps' ipc by @mattkae in #599
  • feature: implement ability to parse for_window by @mattkae in #601
  • feature: implement 'for_window' command modifier by @mattkae in #603
  • task: small cleanup of command executor by @mattkae in #604
  • task: fix issues building against latest due to edid info by @mattkae in #606
  • feature: implement 'move container to mark ' by @mattkae in #605
  • feature: implement 'move workspace to output ...' by @mattkae in #607
  • refactor: OutputManager now handles a list of shared_ptr behind its own mutex by @mattkae in #608
  • refactor: Workspace now takes a weak_ptr to an Output by @mattkae in #609
  • feature: implement 'nop' command by @mattkae in #610
  • refactor: Container now takes a weak_ptr to a Workspace by @mattkae in #611
  • refactor: attempting to speed up builds by @mattkae in #612
  • test + bugfix: testing the 'layout' command by @mattkae in #613
  • feature: implement some rough edges of the get_tree message by @mattkae in #616
  • (#615) bugfix: disconnecting clients when they are killed by @mattkae in #618
  • task: make Surfaces compile in Mir 2.22 by @mattkae in #622
  • bugfix: no longer seg faulting due to faulty display config on close by @mattkae in #621
  • feature: add 'mouse' configuration by @mattkae in #623
  • feature: adding the ability to configure the keymap by @mattkae in #624
  • feature: implement keyboard configuration for repeat rate and repeat delay by @mattkae in #627
  • (#626) bugfix: fixes floaty movement of windows with mouse + being able to resize while moving by @mattkae in #629
  • (#625) bugfix: fading animations are now working properly again + using proper transform for LeafContainer::surface always by @mattkae in #630
  • feature: listening on locale1 using latest Mir + patching bug with the input configuration by @mattkae in #634
  • Bump version to 0.7.0 by @mattkae in #635
  • (#638) bugfix: moving to marked container no longer segfaults + updates correctly by @mattkae in #639
  • (#637) bugfix: moving final window to different workspace sends messages in right order by @mattkae in #640
  • (#636) workaround: initial mouse config will only be set if I do it in advise_end by @mattkae in #641

Full Changelog: v0.6.2...v0.7.0

v0.6.2

16 Jul 21:12

Choose a tag to compare

Patch release to address high cpu usage in latest release.

What's changed?

  • (#583) bugfix: fix issue where we were not able to move container to workspace that already had containers (#591)
  • (#578) No longer erroneously capturing the client in its callback as a shared_ptr so that it actually goes out of scope (#593)
  • Bump version to 0.6.2
  • debian: publish v0.6.1 (#584)

Full Changelog: v0.6.1...v0.6.2

v0.6.1

09 Jul 22:56
0e6cca8

Choose a tag to compare

What's Changed

Full Changelog: v0.6.0...v0.6.1

v0.6.0

09 Jul 13:36
859c1e4

Choose a tag to compare

Happy summer from the northern hemisphere everyone 🌻 🌊 This release was WAY too big, but here we are! The next release will be way tinier, I promise 🤞

I would like to announce the creation of an official miracle-wm matrix channel. Feel free to come by and ask any questions you like about contributing to or using the project 😄 . If you're interested in contributing, go to the "Issues" tab on the miracle-wm issue and check out the "good first issue" label filter. These are a collection of issues that would make for a great introduction to the project.

Check out the release video for a demo: https://youtu.be/l5ljNtbOaf0

Important ❗

  • The miracle configuration has moved from $XDG_CONFIG_HOME/miracle-wm.yaml to $XDG_CONFIG_HOME/miracle-wm/config.yaml.
  • The display configuration is now always at $XDG_CONFIG_HOME/miracle-wm/display.yaml.

Features ⭐

  • The project now ships a shared library called libmiracle-wm-config.so, which provides a C interface that anyone can use to write their own configuration application for miracle-wm 🎉 As a proof of concept, I built a graphical configurator in Flutter miracle-settings. Feel free to contribute to that project if you're interested, or even roll your own.
  • Implemented the wlr output management protocol. You can now use apps like wdisplays to change your output settings at run time
  • Implemented a much improved display configuration
  • Added the ability to specify a border radius on windows meaning that we finally have rounded corners
  • Implemented marks ipc
  • Implemented fullscreen toggle ipc command
  • Implemented floating toggle ipc command
  • Implemented swap ipc command
  • Implemented rename workspace... ipc command
  • Implemented window events
  • Added miracle-wm-xdg-autostart.target (thanks @Sunderland93 !)
  • Improved how borders are rendered to greatly improve visual fidelity
  • Improved the smoothness of animations

Bugs 🐛

  • Fixed issue where we were crashing while attempting to parse a bad miracle config
  • Fixed seg faults that might happen on exit
  • Fixed some tricky timing issues with the animation system
  • Fixing fault clipping rectangles on tiles

Misc 🔧

  • Added Fedora builds to CI
  • Added Mir release, rc, and dev paa builds to CI
  • Grew the test suite from ~100 tests to ~400 tests
  • Updated to Mir 2.21

What's Changed

  • (#460) bugfix: add missing header file in #461
  • Update staging libmiroil dependency to version binary is linked to by @netyaroze in #466
  • refactor: move configuration loading and validation logic out to its own library by @mattkae in #467
  • (#470) bugfix: fixing how mesa is installed and patched in the snap by @mattkae in #471
  • feature: base implementation for a libmiracle-wm-config C wrapper by @mattkae in #469
  • Release 0.5.2 by @mattkae in #473
  • bugfix: improve typing and testing around editing a custom action by @mattkae in #474
  • feature: implement built in key commands API for miracle config by @mattkae in #475
  • rename: changing how options are retrieved in the C API for built in key command options by @mattkae in #476
  • feature: improve the API for startup application getting, setting, and removing by @mattkae in #477
  • feature: implement environment variable API by @mattkae in #478
  • refactor: fixing and refactoring animation configuration data for a better API by @mattkae in #479
  • task: refactor configuration editing functions for usability and write tests by @mattkae in #480
  • feature: add the ability to the save the configuration by @mattkae in #483
  • Fixing a variety of configuration saving issues that I found by @mattkae in #484
  • feature: the default configuration path is now ~/.config/miracle-wm/config.yaml instead of ~/.config/miracle-wm.yaml by @mattkae in #485
  • feature: improving the borders rendering + fixing flickers while doing a sliding resize by @mattkae in #486
  • feature: implement loading/saving the display config from ~/.config/miracle-wm/display.yaml by @mattkae in #491
  • feature: implement wlr output management v1 by @mattkae in #493
  • bugfix: surrounding YAML parser in try/catch to avoid crashing by @mattkae in #494
  • Fix miraclewm config library cmake by @Conan-Kudo in #490
  • bugfix: improve the tiling placement algorithm by @mattkae in #495
  • bugfix: fix forwarding renderable dereferencing dead surface by @mattkae in #496
  • feature: set the project version by @mattkae in #497
  • bugfix: write the default configuration only upon confirmation + use the default config if we don't have one upon apply_to by @mattkae in #499
  • (#498) fixing border erroneously being on layer shell elements by @mattkae in #504
  • bugfix: fixing how we're writing, loading, and testing the display configuration by @mattkae in #503
  • Prepare for Mir 2.21 with tiled edges addition by @mattkae in #506
  • (#500) last frame of opacity is now correct by @mattkae in #505
  • Adding a fedora build to CI by @mattkae in #507
  • task: container.cpp no longer has any warnings by @mattkae in #508
  • refactor + features: lots of ipc work from the airplane ride yesterday by @mattkae in #514
  • test: adding tests for the IpcMessageHandler by @mattkae in #516
  • test: adding tests for exec ipc command by @mattkae in #517
  • test: adding tests for ipc 'split' command by @mattkae in #518
  • test: implement tests for the 'layout' command by @mattkae in #519
  • feature: implement 'fullscreen toggle' ipc command by @mattkae in #520
  • feature: implement 'floating toggle' ipc command by @mattkae in #521
  • test: add tests for the 'focus' IPC command by @mattkae in #522
  • test: add tests for the 'move' IPC command + a ton of renames + implement move to current output by @mattkae in #523
  • feature: implement 'marks' ipc by @mattkae in #524
  • task: adding and removing new methods for Mir 2.21 by @mattkae in #525
  • feature: implement GET_MARKS ipc message by @mattkae in #526
  • feature: implement 'swap' IPC command by @mattkae in #527
  • task: add tests for the 'sticky' command by @mattkae in #528
  • task: add tests for the 'workspace' command by @mattkae in #529
  • feature: implement 'rename workspace...' IPC command by @mattkae in #533
  • task: remove the opaque shader as it was mostly useless by @mattkae in #534
  • feature: rounded corners by @mattkae in #538
  • bugfix: fixing fatal issues when no workspaces are in the config + only rendering surfaces on outputs with matching areas by @mattkae in #540
  • Add miracle-wm-xdg-autostart.target by @Sunderland93 in #535
  • (#542) bugfix: can move windows to workspaces on other outputs again by @mattkae in #544
  • ci: build ubuntu with release, rc, and dev ppa by @mattkae in #546
  • task: no longer need to pass a dis...
Read more

v0.5.2

07 Apr 14:06

Choose a tag to compare

This fixes some issues with the latest version of the snap and some other build issues :)

What's changed?

  • version: bump to v0.5.2
  • bugfix: fixing how mesa is installed and patched in the snap (#471)
  • packaging: update debian
  • Update staging libmiroil to version binary is linked to during build. (#466)
  • (#460) bugfix: add missing header file

v0.5.1

20 Mar 18:44
6c8f3e5

Choose a tag to compare

What's Changed

  • bugfix: using find_package to find Gtest by @mattkae in #458
  • bugfix: initial_placement_done is only available on Mir >= 2.19 by @mattkae in #459

Full Changelog: v0.5.0...v0.5.1