Commit Graph

229 Commits

Author SHA1 Message Date
Matthew Kosarek
e3dcd9c6a7
feature + testing: animation testing refactor + slide animation now includes a scale + improving workspace transforms + constraining less often (#130) 2024-05-20 18:06:39 -04:00
Matthew Kosarek
928aae4d2f
Merge pull request #127 from mattkae/animations
- Window move animations
- Window open animations
- Workspace switch animations
- Basic configuration for animations
- Testing + improved configuration to follow
2024-05-17 07:59:54 -04:00
Matthew Kosarek
d6bce8c5b2 actions: fix for missing g++-13 2024-05-17 05:26:02 -04:00
Matthew Kosarek
4825b7ec3c bugfix: configuration tests were erroneously expecting to be in a snap 2024-05-16 11:58:27 -04:00
Matthew Kosarek
a1da899ded
feature: workspace switching animations (#128) 2024-05-15 11:40:40 -04:00
Matthew Kosarek
6789815eaf
feature: configurable animations + animation for window opening + multiple ease functions (#125)
- Added animations to the configuration
- Added an animation for window opening
- Implemented a number of easing functions
2024-05-10 15:20:02 -04:00
Matthew Kosarek
66ce46ee07
feature: animation groundwork + window movement animation (#121) 2024-05-08 07:55:39 -04:00
Matthew Kosarek
57515dda03
feature: displaying a border around windows (#103)
- Completely overrode the renderer
- Added border as a configuration option
- Rendering a border around focused windows and non-focused windows
2024-05-03 17:19:02 -04:00
Matthew Kosarek
dd89df3214
feature: supporting the i3 focus command (#116)
- Added support for the i3 focus command: https://i3wm.org/docs/userguide.html#_focusing_moving_containers
- Laid down a lot of the foundation of i3 commands in general, including parsing
- CI now builds against the latest version of Mir's libraries
- Snap builds are now disabled while we wait to update to core24
2024-05-02 10:14:16 -04:00
Matthew Kosarek
460708579c tooling: implementing a decent clang-tidy file 2024-05-01 16:51:10 -04:00
Matthew Kosarek
df30556c5f
(#113) bugfix: fullscreen windows no longer get their rectangle set if one is pending (#114) 2024-04-27 15:05:59 -04:00
Matthew Kosarek
04c37ad87a
bugfix: temporary fix for #24 while we consider it in the Mir project
- Fullscreened windows are now "maximized", meaning that they no longer appear behind shell components
2024-04-27 14:32:03 -04:00
Matthew Kosarek
1e65899a82 fedora: quick fix for bugs date on the spec file 2024-04-23 16:26:17 -04:00
Matthew Kosarek
e758652e55
fedora: bump to version 0.2.1 for fedora release (#107) 2024-04-23 15:25:16 -04:00
Matthew Kosarek
ce42ec3014
feature: docs have been moved to github pages (#108)
- Docs are now at this link: https://mattkae.github.io/miracle-wm-wiki/
2024-04-23 15:24:11 -04:00
Matthew Kosarek
29bb02f00c
debian: released 0.2.0 for noble and mantic (#106) 2024-04-23 14:40:56 -04:00
Matthew Kosarek
803ea8b167 miracle-wm-unsnap only wraps commands in a snap context 2024-04-23 09:42:48 -04:00
Neal Gompa
250f130688 packaging: Only install unsnap wrapper when building as a snap
This is only needed when Miracle is built as a snap, so exclude it
when making regular package builds.
2024-04-23 09:42:48 -04:00
Matthew Kosarek
0382a7aed0
fedora: release 0.2.0 (#101) 2024-04-22 14:49:52 -04:00
Matthew Kosarek
a7641a11a8
Merge pull request #99 from mattkae/release/0.2.0
release: v0.2.0
2024-04-19 11:46:19 -04:00
Matthew Kosarek
f5cfd5b2ff tests: updating tests to accomodate miracle-wm-unsnap 2024-04-19 11:38:54 -04:00
Matthew Kosarek
f9457a4375 version: bump to 0.2.0 2024-04-19 11:32:34 -04:00
Matthew Kosarek
9a2a0cb36f bugfix: processes spawned from the compositor need to be unsnapped to avoid driver errors 2024-04-19 11:24:44 -04:00
Matthew Kosarek
74b6fd431c docs: update the obligatory screenshot 2024-04-19 07:36:28 -04:00
Matthew Kosarek
a206a5612e
(#95) No longer reloading startup applications when the config gets refreshed, threadsafe config updates, and commiting changes when we recalcualte the root area node (#96)
- We are no longer reloading startup applications when the config gets refreshed since it was causing us to crash
- Config updates now happen in `AppendEventFilter` to ensure that they're threadsafe
- When we recalculate the root node area on config refresh, we rightfully commit those changes too
2024-04-18 09:15:53 -04:00
Matthew Kosarek
468b15b0a7 docs: documentation update for display configuration 2024-04-17 09:16:44 -04:00
Matthew Kosarek
487dbbc716
Add dependencies to the README and mir-graphics-drivers-nvidia to the snap (#91)
- Adding a list of the dependencies to the README
- Add `mir-graphics-drivers-nvidia` to the stage-packages of the snap
2024-04-17 07:37:37 -04:00
Matthew Kosarek
e2c47b7272
(#84) waybar 0.10.0 is minimally supported (#85)
- IPC_GET_TREE is now minimally supported
2024-04-15 17:12:35 -04:00
Matthew Kosarek
df148662b6
(#82) Fix bug where outputs fail to resize the tiling window tree (#83)
- Removed the `scale_area` and `translate` methods as they were unnecessary
- Using `set_logical_area` and `commit_changes` to make changes on output resize
2024-04-14 16:39:00 -04:00
Matthew Kosarek
88620135d9 (bugfix #81) Gaps algorithm no longer leaves some nodes smaller than others 2024-04-14 14:00:21 -04:00
Matthew Kosarek
d27a66700c bugfix: nodes can now be moved outside of the root lane such that another root lane is created 2024-04-14 10:08:53 -04:00
Matthew Kosarek
4aecca7829 feature: environment variables in the configuration 2024-04-13 10:21:06 -04:00
Matthew Kosarek
0da5500ac2 bugfix: response to requests on rpm package (#77)
Responses made to: https://bugzilla.redhat.com/show_bug.cgi?id=2272744#c3

- Added license headers to all of the source code files
- Added a `desktop-file-validate` line to the spec file
- Running tests in the spec file
- Added CI for fedora that builds the source rpm
2024-04-11 08:31:43 -04:00
Matthew Kosarek
9eef4a64ef bugfix: fullscreen windows no longer crash the application (#75)
- Fixed an error when fullscreening a window would crash it
- Fullscreen windows are now always put up-front-and-center when a workspace is re-shown
2024-04-03 07:58:51 -04:00
Matthew Kosarek
ee5dc57467 packaging: fedora spec file + SRPM (#73)
- Created an SRPM and spec file for the Fedora package
2024-04-02 15:09:21 -04:00
Matthew Kosarek
65332344c5 refactor: differentiating between ParentNodes and LeafNodes (#71)
- Refactored the `Node` concept into `LeafNode`s and `ParentNode`s so that we always know what we're working with
- Implemented the concept of a `Node::commit_changes()` which is used at the end of a series of complex operations to push changes to the screen at the end.
- Prepared the `TilingWindowTree` for testing, which will come next
2024-04-02 14:19:57 -04:00
Matthew Kosarek
12adceedbc (#67) Resizing over and over again now accounts for rounding errors appropriately (#69) 2024-03-23 13:30:22 -04:00
Matthew Kosarek
5fbcac4f64 docs: move release date back to April 15th 2024-03-23 09:09:54 -04:00
Matthew Kosarek
8a828552b5 (#66) disabling moving fullscreen windows between workspaces 2024-03-20 17:34:37 -04:00
Matthew Kosarek
13701a0c75 (#64) setting the size of other nodes only when the new window is added to the tree 2024-03-20 09:00:59 -04:00
Matthew Kosarek
8937fe29cd (#61) outer gaps no longer include inner gaps 2024-03-20 07:49:40 -04:00
Matthew Kosarek
87b442f617 packaging: debian upload with instructions on how to release for jammy, mantic, and noble (#47)
- A working `debian` folder that I can use to upload to a ppa on launchpad
- Instructions on how to upload new builds. These instructions are very manual at the moment, but there exists another task to make this manual. I would prefer to do it manually for v0.2 at least.
2024-03-18 18:21:17 -04:00
Matthew Kosarek
a058ca1b15 (#62) If a window dies while we are not on that workspace, then we remove it from nodes_to_resurrect 2024-03-17 09:03:17 -04:00
Matthew Kosarek
2f61059059 bugfix: prevent reselecting the same workspace twice in a row 2024-03-12 10:18:21 -04:00
Matthew Kosarek
001278c6e7 testing: implementing tests for configuration parsing (#56) 2024-03-10 16:40:26 -04:00
Matthew Kosarek
f111fda16a (#50) bugfix: consuming key input events when we switch workspaces (and many other circumstances) 2024-03-09 18:47:30 -05:00
Matthew Kosarek
851b25d542 feature: floating windows can now be pinned to an output (#55)
* Windows can now be pinned to a workspace by clicking Meta + Shift + P
2024-03-09 18:45:11 -05:00
Matthew Kosarek
bdff20821c feature: implement configurable resize jump (#54) 2024-03-09 17:35:08 -05:00
Matthew Kosarek
342f32a3f1 (#48) Fullscreened windows are now guaranteed to be on top (#53) 2024-03-07 09:07:55 -05:00
Matthew Kosarek
fd146aac4d (#34) bugfix: panels were not clickable 2024-03-06 16:27:20 -05:00