aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-09-20Avoid unecessary font metric calculationsHugo Osvaldo Barrera
Prior to 62d90a8e, titlebar's font height (and other related values) would change any time any titlebar's content changed, so these values were recalculated each time any titlebar's content changed (or a new titlebar was created). However, since the above was merge, these values no longer change so often and we only need to recalculate them when the configured font changes (and stop calling `config_update_font_height` each time titlebars are rendered). This commit removes all the unecessary calls to this function and avoids all those unecessary calculations. Whenever the font strays from the default value, the `font` command is called, and it calls `config_update_font_height`, which is enough to keep the value always up to date. I've also added a default value to the `font_baseline` config, since otherwise that's zero for setups that don't explicitly specify a font.
2021-09-19sway-ipc.7.scd: fix typoaajonusonline
2021-09-19README: Added Greek translationChristian Llupo
2021-09-15swaybar: properly draw urgent block right borderNathan Schulte
introduced via #3287 -- https://github.com/swaywm/sway/pull/3287/files#diff-a1e918ce0bc71f4f7934767541319e724a51a34a5418ecdc286065e50921eda4L239 uncovered via #3394 -- https://github.com/swaywm/sway/pull/3394/files#diff-a1e918ce0bc71f4f7934767541319e724a51a34a5418ecdc286065e50921eda4R258
2021-09-15build: remove scdoc stdin/stdout hackSimon Ser
Since [1], Meson allows feeding the input file as stdin and capturing stout to the output file. We don't need the sh hack anymore. [1]: https://github.com/mesonbuild/meson/pull/8923
2021-09-13readme: Align Danish translation with main READMEKenny Levinsen
2021-09-13readme: mention seatdSimon Ser
When seatd is used, it isn't necessary to suid the sway binary.
2021-09-13swaynag: fix pointer button events on scaled outputsxdavidwu
sway#6504 simplified rendering code by setting scaling at cairo, but that also changed button position records into ones without scale multiplication, breaking button events. This fixes it by not multiplying scale on events handling as well.
2021-09-13Rename pango_printf to render_textSimon Ser
This avoids using the pango_ prefix, reserved for functions coming from the Pango library.
2021-09-13readme: link to gamja for IRCSimon Ser
gamja offers a better experience than Kiwi. Obviously I'm 100% biased. Completely fine to not make the switch if someone feels differently.
2021-09-13readme: switch to Libera Chat for irSimon Ser
2021-09-12Simplify swaybar/swaynag scaling codeCaduser2020
Use `cairo_scale` to set the scale factor, removing redundant multiplications by `output->scale`.
2021-09-09introduce wlr_drm_lease_v1Simon Zeni
This prevents sway from extending the desktop to i.e. VR headsets, and makes them available for DRM leasing. Non-desktop wlr_outputs will be offered through the wlr_drm_lease_v1_manager interface for client to lease.
2021-09-08view: fix child position calcKirill Primak
Previously, the position was calculated incorrectly for nested subsurfaces.
2021-09-08build: subproject support for wayland-protocolslbonn
As in wlroots: [1] [1]: https://github.com/swaywm/wlroots/pull/2953
2021-09-07render: fix -Ddamage=rerenderKirill Primak
2021-09-06surface: chase wlr subsurface list/link changeKirill Primak
2021-09-05view: fix saved buffer orderKirill Primak
2021-09-04Fix overly-wide mark texturesDaniel De Graaf
The width of the texture needs to be calculated using the string that is actually displayed in the texture.
2021-09-04commands: update split none command for a047b5ee4Ronan Pigott
2021-09-03command: implement split noneRonan Pigott
2021-09-02seatop_down: End if surface is destroyed or other seatop startsSimon Plakolb
If the surface the pointer started to interact with is destroyed we also want the seatop_down to end. In case a drag is initiated we receive a call to handle_end.
2021-09-02input: Use seatop_down on layer surface clickSimon Plakolb
This solves an issue where layer-shell items would not receive a button release event when the pointer left them while being pressed. The default seatop changes focus immediately while seatop_down defers any focus changes until the pointer is released or seatop_down is destroyed.
2021-08-31Add `output modeline` commandDavid Rosca
Only works with DRM backend.
2021-08-28desktop/xwayland: restack surface upon activationTudor Brindus
This commit updates Sway for swaywm/wlroots#2915.
2021-08-27config.in: use portable hour specifierNihal Jere
`%l` is GNU specific. `%I` does the same thing but padded by zeros, and is POSIX compliant.
2021-08-27Deduplicate code for rendering titlebar textsHugo Osvaldo Barrera
The title itself and marks were being rendered by two very-similar yet different functions, and any changes made to one had to be reflected on the other. This mostly prevents such oversights from happening, and keeps makes sure we keep both consistent.
2021-08-26Use fixed titlebar heightsHugo Osvaldo Barrera
Use fixed titlebar heights. The default height is calculated based on font metrics for the configured font and current locale. Some testing with titles with emoji and CJK characters (which are substantially higher in my setup) shows that the titlebars retain their initial value, text does shift up or down, and all titlebars always remain aligned. Also drop some also now-unecessary title_height calculations. Makes also needed to be updated, since they should be positioned with the same rules.
2021-08-19Update Pango font description URL in sway.5.scdgrumpey
Along with f4cda51 fixes #6217.
2021-08-16Fix typo in sway.5.scdquinno
small typo fix (ptt => ppt)
2021-08-14layer-shell: replace close() with destroy()Simon Ser
Update for the wlroots breaking change in [1]. [1]: https://github.com/swaywm/wlroots/pull/3108
2021-08-14cmd_bind_or_unbind_switch: fix copy/paste typo error messageEric Engestrom
`[0]` is the switch type, not its state; we want `[1]` for that, and it's a string not an int :)
2021-08-12Fallback to other output modes if preferred mode failsSimon Ser
Sometimes the preferred mode is not available due to hardware constraints (e.g. GPU or cable bandwidth limitations). In these cases it's better to fallback to lower modes than to end up with a black screen.
2021-08-12layer_shell: damage previous area when a surface shrinksRonan Pigott
When a layer surface shrinks we need to damage the area it previously occupied, but we don't know the location of all its subsurfaces in the previous state, so instead damage a rectangle that encloses the entire previous extent.
2021-08-12xdg-decoration: let floating clients set bordersDudemanguy
The xdg-decoration protocol allows clients to request whether they want to use server side decorations or client side decorations. Currently, sway ignores this and always enforces whatever the server is currently set to. Although tiled clients cannot be allowed to set borders, there is no harm in listening requests from floating clients. Sidenote: also fix an unrelated style error.
2021-08-12Document view_mapSimon Ser
2021-08-10Add persian README filemzeinali
2021-08-05seatop_down: Change type of sx, sy to double in begin_seatop_downDavid Rosca
Losing the precision resulted in wlr_cursor and wlr_seat::pointer_state getting out of sync during pointer motion in seatop_down. Since the difference was always under 1 px, it was practically impossible to notice in normal use. But because of being out of sync, cursor_rebase would always end up incorrectly calling wlr_seat_pointer_notify_motion from seatop_default_begin (on releasing mouse button) which broke cursor locking. See #5405 Closes #4632
2021-08-04man: update Pango font description URLfrogtile
The old URL gives a 404.
2021-07-27view: remove reference to wlr_wl_shell_surfaceSimon Zeni
2021-07-26swaybar: log Wayland display errorsSimon Ser
2021-07-26swaybar: exit cleanly when disconnected from IPCSimon Ser
2021-07-26Fix wl_pointer.frame not sent on touch emulationSimon Ser
When emulating touch, the simulating_pointer_from_touch field is set to true. It's switched back to false when a touch_up event is received. However we need to ensure we always send a wl_pointer.frame event following a group of other wl_pointer events. Since a touch_frame event is always guaranteed to come after a group of touch events, unset simulating_pointer_from_touch in the touch_frame handler instead of the touch_up handler. Add a new field to know whether the touch_frame handler should stop emulation.
2021-07-23Fix crash when starting without HOMETobias Stoeckmann
If HOME environment variable is not set, sway fails startup with a segmentation fault due to null pointer dereference. Also check calloc return value and only perform the fallback code when really needed. Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
2021-07-22Add `gaps <type> <scope> toggle <px>` commandbR3iN
Add a subcommand for `gaps` that allows to toggle gaps at runtime. This functionality is part of i3-gaps since [1] but is missing in sway. [1] https://github.com/Airblader/i3/pull/264
2021-07-21Add meson options to enable/disable swaybar and swaynagDylan Araps
2021-07-10grimshot: Exit 1 on cancellationHugo Osvaldo Barrera
Whenever the selection is cancelled by the user, exit 1, since not screenshot has been taken.
2021-07-08Add support for touch frame eventsSimon Ser
Update for the breaking change in [1]. [1]: https://github.com/swaywm/wlroots/pull/3001
2021-07-07Update wlr_box includesSimon Ser
Update for the breaking change in [1]. [1]: https://github.com/swaywm/wlroots/pull/3011
2021-07-06container: ignore borders in fullscreen windowsDudemanguy
When setting the geometry from content for floating windows, the coordinates for borders are normally taken into account. However in the case of a floating fullscreen window, we should not be doing this. Since the content of the container takes the space of the entire output, this causes the calculated borders to neccesarily be outside of the output. This later causes a problem when sending surface entrance events since in a multi-monitor setup, the border coordinates will overlap with another output despite the surface not actually being on that output at all. The fix is to just ignore border coordinates for a floating fullscreen container since fullscreen, of course, does not actually have any borders. Fixes #6080.