Releases: miracle-wm-org/miracle-wm
v0.8.2
v0.8.1
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
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
Animationclass 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
~/.configinstead of~/.config/miracle-wmon 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
- @eliasreid made their first contribution in #685
Full Changelog: v0.7.1...v0.8.0
v0.7.1
v0.7.0
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_windowby @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
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
v0.6.0
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.yamlto$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 toggleipc command - Implemented
floating toggleipc 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-configC 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.yamlinstead of~/.config/miracle-wm.yamlby @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.yamlby @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...
v0.5.2
This fixes some issues with the latest version of the snap and some other build issues :)