Commit Graph

216 Commits

Author SHA1 Message Date
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
Matthew Kosarek
16d1e79032 docs: update ROADMAP.md with latest thinking 2024-03-04 08:14:02 -05:00
Matthew Kosarek
7f9f60e48c feature: floating window management for individual windows (#45)
* Added support for floating windows, including moving floating windows using the mouse, resizing floating windows, and complex pointer selection
* Fixed a bug where removing a node was causing the program to crash
2024-03-04 08:09:27 -05:00
Matthew Kosarek
0601a51be3 refactor: establish the OutputContent as a source of truth for an Output's layout in preparation for floating windows (#44)
* Establish the concept of `WindowMetadata` which every window must have. This data is used to associate a `Window` to its `OutputContent` and `Tree`
* The `Policy` now defers to the `OutputContent` for decisions on how a window should behave. The `Policy` is more of a metadata-resolver than anything, as it leaves the heavy-lifting to the `OutputContent`
* Prepares for the integration of a `FloatingWindowManager` that the `OutputContent` will be able to defer to when a window is of type `WindowType::floating`
2024-03-02 07:47:11 -05:00
Matthew Kosarek
9dca0468be Merge branch 'release/0.1.1' 2024-02-26 13:55:41 -05:00
Matthew Kosarek
50990f66b0 (#37) feature: selecting a sensible terminal, configurable terminal command, and notifying when we can't open it (#40)
* feature: selecting a sensible terminal, configurable terminal command, and notifying when we can't open it

* bugfix: using CMAKE_INSTALL_BINDIR for  miracle-wm-sensible-terminal

Co-authored-by: Cosima Neidahl <opna2608@protonmail.com>

* enhancement: update program_exists check wihout bounds check

---------

Co-authored-by: Cosima Neidahl <opna2608@protonmail.com>
2024-02-26 13:48:59 -05:00
Matthew Kosarek
37d803997e refactor: window management and node discovery (#41)
* Refactored window management and node discovery in preparation for a floating window manager
* This includes making node discovery a pointer jump instead of a tree search (huge for performance!)
* Renamed WindowTree to Tree
* Renamed MiracleWindowManagementPolicy to TilingWindowManagementPolicy
2024-02-25 15:08:01 -05:00
Cosima Neidahl
48dbe2cfbd Use GNUInstallDirs for install locations (#39) 2024-02-25 10:27:53 -05:00
Cosima Neidahl
b8beba8006 Use GNUInstallDirs for install locations (#39) 2024-02-25 10:27:29 -05:00
Matthew Kosarek
2b2077c8a7 feature: automatically reloading configuration (#38)
* Configuration changes can be watched and the rest of the program can listen for those changes
* Added the idea of outer and inner gaps to windows
* Fixed up some of the problems with window gaps (still not very happy with it though)
2024-02-24 16:39:25 -05:00
Matthew Kosarek
b6d1ae752e feature: supporting I3 IPC enough to make waybar's workspaces function (#35)
* Switching workspaces now emits a signal to i3 IPC clients which makes it so that waybar works
* Refactored a lot of workspace code for readability and usability
2024-02-21 18:54:59 -05:00
Russell Greene
2a11993588 Fix source build instructions to actually build it (#30)
Also, use cmake's -B flag to simplify it.
2024-02-20 09:12:22 -05:00
Matthew Kosarek
032733b77d snap: bump to version 0.1.0 2024-02-18 15:52:29 -05:00
Matthew Kosarek
5e59d6c020 docs: update install instructions 2024-02-18 15:43:25 -05:00