| Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
- Remove advertise_view and advertise_done events. Using the information
provided by these for any purpose would make the layout far less
predictable. Futhermore, in the months this has been available for use,
to my knowledge nobody has actually used it for anything useful.
- Replace the set/mod layout value events with a single user_command
event. This simplifies the protocol and is more flexible for clients.
- Add a layout_name argument to the commit request. This name is an
arbitrary, user-facing string that might, for example, be displayed by a
status bar. This was present in early drafts of the protocol, but was
removed in favor of river-options. Since river-options itself has since
been removed and this feature is nice to have, re-add it.
- Rename main factor to main ratio in rivertile. The "factor" name was
just legacy from dwm, "ratio" is much more accurate.
|
|
This code is complex and increases maintenance burden but doesn't
add any functionality, only eye-candy.
Futhermore, neither I nor any of the core contributors use it.
There may be a place in river for such eye-candy down the line, in which
case this code could be revived. Currently river is early enough in its
development that our focus should be on core functionality instead.
|
|
|
|
|
|
Don't want people getting the idea that the wiki is more important. The
man pages are the only official documentation.
|
|
|
|
A true "default" config doesn't make sense for river. Everyone who uses
river seriously will customize their init script. Futhermore, the
current behavior of embedding the install path of the default system
config in the river binary is complex and prone to breaking.
|
|
|
|
Since we often need to pass these args back C code, keeping the 0 byte
around saves some allocations.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
focus-follows-cursor instead of focus-follow-cursor
|
|
river is now in nixpkgs so this page and the link are undeeded.
|
|
Making this unreachable and invoking illegal behavior is incorrect.
|
|
|
|
|
|
On output change, if the cursor is not already on the newly focused
output, it will now be warped to its center. The check is necessary,
since focusing outputs with the pointer will be implemented in
the future.
|
|
zig-wlroots now has this assert built in
This reverts commit 3392b21aa8982c1a9d5bf25307830a4294e5ae4c.
|
|
This will prevent people compiling river against the wrong wlroots
version and wondering why it crashes.
|
|
|
|
|
|
List based output operations are tedious for complex output layouts.
|
|
A client is free to change its mind and request a different
size/anchor/etc after recieving the initial configure but before
attaching and committing the first buffer. This means that we should
respond to such a situation with a new configure.
mako has been observed doing this in the wild for example.
|
|
Currently in handleUnmap() we call View.unmap() before removing
listeners. However View.unmap() may destroy the view before returning
if the transaction started doesn't have to wait on any configures.
To ensure that we don't try to remove listeners which have already been
free'd, do this before calling View.unmap().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This may be destroyed before our output destroy listener is called.
|
|
Instead of removing the listeners of the noop output early, simply never
add them.
|
|
|
|
|
|
|
|
|
|
|
|
Zig relies on the existence of a system c compiler in order to
find the native libc include paths.
|
|
The Layout struct holds a pointer to the Output which becomes invalid
when the Output is destroyed so we must ensure all the layouts of an
Output are destroyed first.
|
|
|
|
|
|
This avoids locking up the compositor if a client is unresponsive and
the user continuously initiates new transactions through their actions.
|
|
The transaction system exists to coordinate size changes of all views
in a layout in order to achieve frame perfection. Since many clients
do not need to commit a new buffer in response to a activated state
change alone, this breaks things when such a configure event is tracked
by the transaction system. Instead, simply send activated and fullscreen
configures right away but still track this state in a double-buffered
way so that e.g. border color changes based on focus are frame-perfect.
This also fixes a related issue with the transaction system where views
that did not need to commit in response to our first configure were not
rendered until their next frame.
|
|
zig fmt does what we want since zig 0.8.0
|