Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
For extending wlr_surface with additional things.
|
|
|
|
-Wmissing-braces makes it annoying to zero-initialize structs with = {0}
when the first field is a struct. See for instance [1].
[1]: https://builds.sr.ht/~sircmpwn/job/110425
|
|
The previous behavior was incorrect because `if` was checking the return
status of the `[` command which was never going to be an error. `[`
seems to only return an error if no args are provided. This was
basically a useless use of `[` anyway since it was just meant as a
straight interpretation of command exit, something that `if` can do
itself.
Compare:
```sh
[ ]; echo ?=$?
[ /bin/false ]; echo ?=$?
if [ /bin/false ]; then echo this is the unintended bug; fi
if /bin/false; then echo this will not be printed; fi
```
|
|
|
|
|
|
Previously, Xwayland windows did not have size_constraints implemented,
resulting in the window being resizable. This implements the constraints
through the X11 size hints supplied by the window itself.
|
|
Fixes #4707
|
|
Instead of relying on the order of modes, use wlr_output_preferred_mode
to get the preferred mode.
|
|
best is NULL prior to being assigned to a mode.
Closes: https://github.com/swaywm/sway/issues/4705
Fixes: f33dcd4c604f ("Prefer higher refresh rate default modes")
|
|
|
|
|
|
This forces to set the mode as a custom mode.
|
|
|
|
|
|
|
|
set_cloexec is defined by both sway and wlroots (and who-knows-else),
so rename the sway one for supporting static linkage. We also remove
the duplicate version of this in client/.
Fixes: https://github.com/swaywm/sway/issues/4677
|
|
container is checked for NULL in other conditions earlier, it's not
obvious that it can't be undefined here.
|
|
If allocation of bindings failed.
Found with clang-tidy
|
|
Found with clang-tidy
|
|
|
|
Currently commented lines ending in the backslash character will be
concatenated with the following line.
```
# with this comment \
exec swaynag -m 'will not run'
```
This change modifies `getline_with_cont` to stop reading when the
initial character is a '#'.
|
|
Closes: https://github.com/swaywm/sway/issues/4663
|
|
Closes: https://github.com/swaywm/sway/issues/4644
References: https://github.com/emersion/rootston/commit/1982106c9b0fbd48ee9fe20e013524125f6ca3cf
|
|
|
|
|
|
Calling wlr_output_manager_v1_set_configuration with an enabled output
and a NULL mode is incorrect if the output doesn't support modes.
When DPMS'ing an output, wlr_output_enable(output, false) is called.
This de-allocates the CRTC and sets wlr_output.current_mode to NULL.
Because we mark DPMS'ed outputs as enabled, we also need to provide a
correct output mode. Add a field to sway_output to hold the current
mode.
Closes: https://github.com/swaywm/wlroots/issues/1867
|
|
apply_output_config would call output_enable and always return true,
even if the output couldn't be enabled.
|
|
Fixes regression introduced in 2c1a11016ccb7646a74de51eff003c18e5aa7902
|
|
Fixes #4665.
|
|
In case a tray icon cannot be found or does not have a desirable size,
swaybar retries the search again and again, which increases load on disk
and CPU. This commit solves it by storing target_size for each icon, so
that swaybar does not search for an icon of some size if it already tried to.
Fixes #3789.
|
|
When applying config, value mode->refresh is mHz; convert it to Hz before
assigning it to the temporary output config. oc->refresh_rate will
be converted back to mHz in set_mode function.
Fix debug log printing GHz instead of Hz.
|
|
Following i3 support: https://github.com/i3/i3/pull/3407
|
|
When changing a surface from managed to unmanaged in handle_map(), the
call to handle_destroy(.., view) causes the sway_xwayland_view pointed
to by the untyped wlr_xwayland_surface.data field to become invalid
garbage, yet the untyped wlr_xwayland_surface.data continues to point
at it. In particular: view_get_*(view_from_wlr_surface(..)), even
with appropriate NULL checking, will crash sway when this codepath is
exercised (reliable test case: drop-down menus in Google Earth).
|
|
|
|
Usage:
grimshot copy|save win|screen|area [FILE]
Troubleshoot:
grimshot check
Requirements:
- `grim`: screenshot utility for wayland
- `slurp`: to select an area
- `swaymsg`: to read properties of current window
- `wl-copy`: clipboard utility
- `jq`: json uliity to parse swaymsg output
- `notify-send`: to show notifications
Those are needed to be installed, if unsure, run `grimshot check`
Examples:
`grimshot copy win` - to copy current window
`grimshot save area` - to select area and save it to default file (Pictures/Grimshot-$datetime.png)
`grimshot save screen ~/screenshot.png` - to save screenshot under ~/screenshot.png
`grimshot` - usage
`grimshot check` - verify if tools are installed
|
|
Don't use the latest tag, always use the project version for the version
string. Because of version branches, getting the version from Git can be
unreliable.
Closes: https://github.com/swaywm/sway/issues/4631
|
|
According to the source files, workspace_layout is a configuration only
command, move it to the correct section within the man page.
|
|
|
|
|
|
|
|
|
|
|
|
Fixes an invalid option warning from Meson.
|
|
Some examples use comma to separate x and y for setting the output
position which is wrong.
Let's change it to spaces, as correctly demonstrated in the
`output <name> position|pos <X> <Y>` section.
|
|
Popups are positioned relative to local surface coordinates of the
parent surface. There's no need to consider values set with
xdg_surface.set_window_geometry for parent surfaces.
|
|
Sometimes when using direct scan-out, some flickering between the
fullscreen app and the regular desktop could be seen.
This happened because we called wlr_output_attach_render and then
wlr_output_attach_buffer for direct scan-out. wlr_output_attach_render
makes the OpenGL context current but also attaches the OpenGL buffer to
the primary plane apparently (all of this happens inside
eglMakeCurrent).
This patch moves the scan-out logic outside of output_render, before
wlr_output_attach_render. This lines it up with rootston's
implementation. This also makes more sense since no rendering is
involved when using direct scan-out.
Sorry about that, I should've tested this with more clients. The new
code has been tested with mpv and a GLFW demo.
|