Releases: pinnacle-comp/pinnacle
v0.2.0-alpha.2
Hello left twixes and right twixes,
Skong DLC teaser just dropped. Anyway, here's another alpha! What makes it an alpha or a beta or a full release? I have no clue haha probably should just call it a release candidate or something.
Breaking Changes
- Rust
FocusBorder::decoratenow returns aResult
Features
- Drag-and-drop between Wayland and Xwayland windows should work now, big thanks to the people working on Smithay for that!
- The default config now contains keybinds for media and brightness control
Bug Fixes
- The focus border should now be correctly sized on Godot on Wayland
Contributions
- Remove dash from the rockspec in nix by @anriha in #394
- fix(integration): fix syntax error in lua tests by @Ph4ntomas in #399
Full Changelog: v0.2.0-alpha.1...v0.2.0-alpha.2
v0.2.0-alpha.1
Heya silkers and songers,
Well after skonging and playing stoneblock 4 doing productive things for the past couple of months, here's the first alpha for 0.2, now featuring resizable tiles and window decorations! Full release notes when the full release comes out.
There will probably be a few small breaking changes as I refine bits of the config API.
Special thanks to the following contributors:
- luaapi: improve custom searcher logic by @Ph4ntomas in #323
- justfile: Fix various error when building from source by @Ph4ntomas in #322
- Add floating layout by @Ph4ntomas in #326
- layout: Update window floating loc on resize by @Ph4ntomas in #333
- window: Update position on LayoutMode changes by @Ph4ntomas in #331
- Make compositor-initiated window resizing also use single edges by @Ph4ntomas in #335
- api/window: Add a RPC to move a window to other output by @Ph4ntomas in #337
- api: add [in]active tags filtering to OutputHandle by @Ph4ntomas in #339
- window: Add method to swap two windows by @Ph4ntomas in #340
- api/window: add response to WindowHandle::MoveToOutput RPC by @Ph4ntomas in #341
- Add WindowHandle::lower by @Ph4ntomas in #344
- Decrease tests flakyness by @Ph4ntomas in #345
- api/lua - Use pcall when calling user code by @Ph4ntomas in #347
- XDG Shell protocol: Add tests to ensure protocol correctness by @Ph4ntomas in #349
- Refactor window mapping by @Ph4ntomas in #348
- XDG Shell - Respect client output preference for fullscreen requests by @Ph4ntomas in #351
- feat(nix): add packages and modules by @cassandracomar in #352
- Adds send_message method to LayerHandle by @Ph4ntomas in #360
- Add powered to ConnectorSavedState by @anriha in #366
- feat: implement ext-workspace-v1 by @cassandracomar in #358
- feat(nix): add nixGL support for non-NixOS by @cassandracomar in #367
- api/lua: Fix XDG_DATA_DIRS usage. by @Ph4ntomas in #373
- Tag: Add signal to notify config of tag lifetime by @Ph4ntomas in #372
- window: Fix floating window initial size by @Ph4ntomas in #378
- snowcap: pool surface events on update by @Ph4ntomas in #379
- test: fix api::tag::tag_signal_created race-condition by @Ph4ntomas in #380
- Window created/destroyed/layout_mode_change signals by @anriha in #368
- tests: disable automatic features, and pass them as a cargo test flag by @Ph4ntomas in #382
- snowcap: Allow updating Layers attributes by @Ph4ntomas in #387
New Contributors
- @Ph4ntomas made their first contribution in #323
- @cassandracomar made their first contribution in #352
Full Changelog: v0.1.0...v0.2.0-alpha.1
v0.1.0
v0.1.0: Arriving at the base of the mountain
Hello ladies and gentlemen,
We're finally here! Yea there's still, idk, the whole rest of the mountain, but small steps first.
So uh, this release was supposed to come out three days ago. Unfortunately I caught a stomach bug or got food poisoning or something 🫠.
Why three days ago? Well, it's because that's Pinnacle's birthday!
$ git log --max-parents=0
commit 1c1c685385502405a513879703cc34e4ab7d1c56
Author: Ottatop <[email protected]>
Date: Sun May 28 19:10:42 2023 -0500
Initial commit
Yep. Two whole years and we still don't have any indicator of which window is focused. ![]()
This is the first release of Pinnacle, a Wayland compositor I'm writing that's inspired by AwesomeWM. That means you get:
- Dynamic tiling
- Tags instead of workspaces
- Configuration in Lua
- The beginnings of a built-in widget system (not yet configurable)
Because I've been indoctrinated by the Cult of Rust, you can also configure Pinnacle with Rust! Two configuration libraries in two completely polar opposite languages—you can imagine why this release took two years.
To get started, see the wiki. Please note that the wiki does not document every available API feature, as that's a lot of doc duplication I'd have to do. For API documentation, see the Lua and Rust references.
For those with access to the AUR, there's an official AUR package.
Changes since 0.1.0-beta.1
Changes
pinnacle clientno longer prints a few logs when running with-eor piped input- Snowcap now accepts WGPU environment variables on startup (by @sapient-cogbag in #315)
Bug fixes
Window::get_focusednow returns the actual focus, rather than the last focus on the focused output- Moving a window with
set_geometrynow correctly updates its tags if it moves to another output- As a side effect, moving a floating window by dragging it now updates its tags
to the output that it has more area on, rather than the output that the cursor is on
- As a side effect, moving a floating window by dragging it now updates its tags
- Fixed some applications not fullscreening on open, like
mpv --fullscreen
Special thanks to these contributors!
- @vnepogodin made their first contribution in #115
- @LogicalOverflow made their first contribution in #200
- @thmasq made their first contribution in #241
- @anriha made their first contribution in #274
- @PatchMixolydic made their first contribution in #278
- @jo-so gave me a few diffs in the matrix that ended up in b8502f4 and 9ff28fc
- @sapient-cogbag made their first contribution in #315
Changelog since v0.1.0-beta.1: v0.1.0-beta.1...v0.1.0
v0.1.0-beta.1
Greetings Whoppers and Big Macs,
We're in beta now! "How is this any different from alpha?", I hear you asking. Well it's only bug fixes from here on out until the actual release (as you can tell I've been sneaking in some stuff between the alphas). I'll let this beta stew for a few days and if all goes well we're set for release and I can finally get to work on new features!
Changes since 0.1.0-alpha.2
New features
- Child windows now open centered against their parent window
- API: The
set_envfunction has been resurrected from the dead.- This allows you to set environment variables for all newly spawned processes.
Changes
- Getting stdio from spawned processes is now opt-in. Set the
pipe_std{in,out,err}option to pipe that file descriptor for use.- This fixes an issue where unconditional piping caused applications to freeze when spewing out too much data on stdout/err due to the pipe buffer filling up
- Popups now appear above everything else
Bug fixes
- Floating windows no longer jump to the top left of the output if they are not on active tags while the output is disconnected and reconnected
- Windows opened when there are no tags will now inherit the next added tag. This prevents xdg-autostart windows from getting lost when the Rust config is compiling, for example
- It is no longer possible for a session locker to lock the session while it is already locked
- The pointer should now disappear from the previous output if it moves slowly to a new output (haven't tested this lol)
- Really large popups should no longer overflow past the top or left of the display in some circumstances
v0.1.0-alpha.2
What's up lemons and limes,
In other less important news, hey here's another pre-release!
Changes since 0.1.0-alpha.1:
New features
- Support for setting the xkb keymap through a file/string
- Support for cycling and setting keyboard layouts
- Binds can now be set to trigger when the session is locked with the
allow_when_lockedoption
Changes
- The way windows' layout modes are tracked has been modified. Now, setting a window to, say, fullscreen then repeatedly toggling maximized won't leave the window stuck between fullscreen and maximized. Toggles will now attempt to return the window to floating or tiled (whichever of the two the window was in previously).
- Fullscreen and maximized requests from clients are now tracked to prevent the scenario where you started with a maximized window, double-clicked a YouTube video to make it fullscreen, and the window returned to tiled instead of maximized when unfullscreened.
Bug fixes
- Having multiple screencopy clients active at once now works
- Pointer motion is now sent to clients when they move under the pointer. This fixes right-click menus being in the wrong place when fullscreening Firefox and right-clicking without moving the mouse.
v0.1.0-alpha.1
Hey hopers and copers,
Silksong still isn't out 🤡. But this release sure is! Ok, it's an alpha pre-release, but that's still more than anything Team Cherry has given us in the last 5 years :P.
So what's left to do until the full first release? Well, a few bugs still need squashing and there are some small feature requests that I want to implement. Other than that, there shouldn't be any major breaking changes until the full release. But I still reserve the right to do that.
If you'd like to try Pinnacle out and you use Arch btw™️, there is an AUR package for the main branch (currently doesn't bundle the Lua API, but this release contains a rock you can install with LuaRocks).
Full release notes once the full release comes out.
What's Changed
Literally everything lol
New Contributors
- @vnepogodin made their first contribution in #115
- @LogicalOverflow made their first contribution in #200
- @thmasq made their first contribution in #241
- @anriha made their first contribution in #274
- @PatchMixolydic made their first contribution in #278
- @jo-so gave me a few diffs in the matrix that ended up in b8502f4 and 9ff28fc
Full Changelog: https://github.com/pinnacle-comp/pinnacle/commits/v0.1.0-alpha.1
