https://github.com/swaywm/sway

sort by:
Revision Author Date Message Commit Date
0e5dda3 build: bump version to 1.7-rc1 23 December 2021, 13:38:56 UTC
d7867d4 Add cairo_image_surface_create error handling cairo_image_surface_create can fail, e.g. when running out of memory or when the size is too big. Avoid crashing in this case. Closes: https://github.com/swaywm/sway/issues/6531 (cherry picked from commit 59aebaa5f9f3afe9cdfbb0d37c4dc631690da3b9) 23 December 2021, 11:16:37 UTC
5d16d15 swaybar: fix errno handling in status_handle_readable If getline fails once, it was not reset before the next getline call. errno is only overwritten by getline on error. (cherry picked from commit 414950bbc8e833362a689cc11720855e8edd1323) 23 December 2021, 11:16:37 UTC
9ecbfe3 output: emit node::destroy event Now output_begin_destroy emits the node::destroy event similar to workspace_begin_destroy. It currently has no listeners, since they listen to output::disable or wlr_output::destroy instead. 17 December 2021, 13:39:48 UTC
ebfe432 output: change output::destroy to output::disable This changes output::destroy to output::disable and emits it only once when an output is disabled, instead of twice in succession. 17 December 2021, 13:39:48 UTC
f2b6d1e Handle border width and height on minimum floating sizes This fixes: https://github.com/swaywm/sway/issues/5337 Co-authored-by: Moon Sungjoon <sumoon@seoulsaram.org> 14 December 2021, 09:30:10 UTC
0b4e3d3 meson.build: require wayland-protocols 1.24 As far as I can tell `ZWP_LINUX_DMABUF_FEEDBACK_V1_TRANCHE_FLAGS_SCANOUT` is introduced in wayland-protocols 1.24. 14 December 2021, 09:00:15 UTC
57a7b39 swaynag: remove xdg-output logic We can just get the output name from wl_output directly, now that wl_output version 4 exists. 14 December 2021, 02:17:20 UTC
4732325 Add support for linux-dmabuf surface hints References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/1376 13 December 2021, 15:59:33 UTC
8a30263 view: Fix null dereference There seems to be a null pointer access that can happen. I was able to reproduce this by running the cemu emulator[1] with the new collabora wine wayland driver[2] and opening and closing some sub menus. Adding a trival null check seems to do the trick to stop sway from crashing and returning to tty and everything else works normally. [1]: http://cemu.info/ [2]: https://www.winehq.org/pipermail/wine-devel/2021-December/203035.html Stack trace from lldb: * thread #1, name = 'sway', stop reason = signal SIGSEGV: invalid address (fault address: 0xf8) frame #0: 0x00005555555c3fc3 sway`view_child_init(child=0x0000555555f67940, impl=0x00005555555ee030, view=0x00005555565bc590, surface=0x00005555565b6940) at view.c:1117:25 1114 wl_signal_add(&view->events.unmap, &child->view_unmap); 1115 child->view_unmap.notify = view_child_handle_view_unmap; 1116 -> 1117 struct sway_workspace *workspace = child->view->container->pending.workspace; 1118 if (workspace) { 1119 wlr_surface_send_enter(child->surface, workspace->output->wlr_output); 1120 } (lldb) up error: sway {0x000342ab}: DIE has DW_AT_ranges(DW_FORM_sec_offset 0x67) attribute, but range extraction failed (invalid range list offset 0x67), please file a bug and attach the file at the start of this error message frame #1: 0x00005555555c39f8 sway`view_child_subsurface_create(child=0x00005555564a10d0, wlr_subsurface=0x0000555556586910) at view.c:985:2 982 } 983 subsurface->child.parent = child; 984 wl_list_insert(&child->children, &subsurface->child.link); -> 985 view_child_init(&subsurface->child, &subsurface_impl, child->view, 986 wlr_subsurface->surface); 987 988 wl_signal_add(&wlr_subsurface->events.destroy, &subsurface->destroy); (lldb) up frame #2: 0x00005555555c3c2a sway`view_child_handle_surface_new_subsurface(listener=0x00005555564a1130, data=0x0000555556586910) at view.c:1031:2 1028 struct sway_view_child *child = 1029 wl_container_of(listener, child, surface_new_subsurface); 1030 struct wlr_subsurface *subsurface = data; -> 1031 view_child_subsurface_create(child, subsurface); 1032 } 1033 1034 static void view_child_handle_surface_destroy(struct wl_listener *listener, (lldb) up frame #3: 0x00007ffff78f4bfe libwlroots.so.10`wlr_signal_emit_safe(signal=0x00005555565b2470, data=0x0000555556586910) at signal.c:29:3 26 wl_list_remove(&cursor.link); 27 wl_list_insert(pos, &cursor.link); 28 -> 29 l->notify(l, data); 30 } 31 32 wl_list_remove(&cursor.link); (lldb) up frame #4: 0x00007ffff78e5a41 libwlroots.so.10`subsurface_parent_commit(subsurface=0x0000555556586910) at wlr_surface.c:517:3 514 515 if (!subsurface->added) { 516 subsurface->added = true; -> 517 wlr_signal_emit_safe(&subsurface->parent->events.new_subsurface, 518 subsurface); 519 } 520 } (lldb) up frame #5: 0x00007ffff78e56fa libwlroots.so.10`surface_commit_state(surface=0x00005555565b21b0, next=0x00005555565b2338) at wlr_surface.c:439:3 436 wl_list_insert(&surface->current.subsurfaces_above, 437 &subsurface->current.link); 438 -> 439 subsurface_parent_commit(subsurface); 440 } 441 wl_list_for_each_reverse(subsurface, &surface->pending.subsurfaces_below, 442 pending.link) { (lldb) up frame #6: 0x00007ffff78e5b88 libwlroots.so.10`surface_handle_commit(client=0x0000555556564c80, resource=0x0000555556599a20) at wlr_surface.c:555:3 552 if (surface->pending.cached_state_locks > 0 || !wl_list_empty(&surface->cached)) { 553 surface_cache_pending(surface); 554 } else { -> 555 surface_commit_state(surface, &surface->pending); 556 } 557 } 558 (lldb) up frame #7: 0x00007ffff7000d4a libffi.so.8`___lldb_unnamed_symbol118 + 82 libffi.so.8`___lldb_unnamed_symbol118: -> 0x7ffff7000d4a <+82>: leaq 0x18(%rbp), %rsp 0x7ffff7000d4e <+86>: movq (%rbp), %rcx 0x7ffff7000d52 <+90>: movq 0x8(%rbp), %rdi 0x7ffff7000d56 <+94>: movq 0x10(%rbp), %rbp (lldb) up frame #8: 0x00007ffff7000267 libffi.so.8`___lldb_unnamed_symbol115 + 439 libffi.so.8`___lldb_unnamed_symbol115: -> 0x7ffff7000267 <+439>: movq -0x38(%rbp), %rax 0x7ffff700026b <+443>: subq %fs:0x28, %rax 0x7ffff7000274 <+452>: jne 0x7ffff70004e7 ; <+1079> 0x7ffff700027a <+458>: leaq -0x28(%rbp), %rsp (lldb) up frame #9: 0x00007ffff795a173 libwayland-server.so.0`___lldb_unnamed_symbol271 + 371 libwayland-server.so.0`___lldb_unnamed_symbol271: -> 0x7ffff795a173 <+371>: movq 0x8(%r12), %rax 0x7ffff795a178 <+376>: movq 0x8(%rax), %rdi 0x7ffff795a17c <+380>: movl (%r12), %eax 0x7ffff795a180 <+384>: testl %eax, %eax (lldb) up frame #10: 0x00007ffff795555c libwayland-server.so.0`___lldb_unnamed_symbol210 + 588 libwayland-server.so.0`___lldb_unnamed_symbol210: -> 0x7ffff795555c <+588>: jmp 0x7ffff7955435 ; <+293> 0x7ffff7955561 <+593>: nopl (%rax) 0x7ffff7955568 <+600>: callq *0xd76a(%rip) 0x7ffff795556e <+606>: cmpl $0xb, (%rax) (lldb) up frame #11: 0x00007ffff795804a libwayland-server.so.0`wl_event_loop_dispatch + 202 libwayland-server.so.0`wl_event_loop_dispatch: -> 0x7ffff795804a <+202>: addq $0xc, %r15 0x7ffff795804e <+206>: cmpq %r15, %rbp 0x7ffff7958051 <+209>: jne 0x7ffff7958038 ; <+184> 0x7ffff7958053 <+211>: movq 0x8(%rsp), %rcx1 (lldb) up frame #12: 0x00007ffff7955bc7 libwayland-server.so.0`wl_display_run + 39 libwayland-server.so.0`wl_display_run: -> 0x7ffff7955bc7 <+39>: movl 0x8(%rbx), %eax 0x7ffff7955bca <+42>: testl %eax, %eax 0x7ffff7955bcc <+44>: jne 0x7ffff7955bb0 ; <+16> 0x7ffff7955bce <+46>: popq %rbx (lldb) up frame #13: 0x00005555555756eb sway`server_run(server=0x00005555555f0640) at server.c:296:2 293 void server_run(struct sway_server *server) { 294 sway_log(SWAY_INFO, "Running compositor on wayland display '%s'", 295 server->socket); -> 296 wl_display_run(server->wl_display); 297 } (lldb) up frame #14: 0x0000555555574947 sway`main(argc=1, argv=0x00007fffffffe8d8) at main.c:428:2 425 swaynag_show(&config->swaynag_config_errors); 426 } 427 -> 428 server_run(&server); 429 430 shutdown: 431 sway_log(SWAY_INFO, "Shutting down sway"); (lldb) up frame #15: 0x00007ffff761db25 libc.so.6`__libc_start_main + 213 libc.so.6`__libc_start_main: -> 0x7ffff761db25 <+213>: movl %eax, %edi 0x7ffff761db27 <+215>: callq 0x7ffff7635630 ; exit 0x7ffff761db2c <+220>: movq (%rsp), %rax 0x7ffff761db30 <+224>: leaq 0x163929(%rip), %rdi (lldb) up frame #16: 0x00005555555656be sway`_start + 46 sway`_start: -> 0x5555555656be <+46>: hlt 0x5555555656bf: nop sway`deregister_tm_clones: 0x5555555656c0 <+0>: leaq 0x8aeb9(%rip), %rdi ; optind@GLIBC_2.2.5 0x5555555656c7 <+7>: leaq 0x8aeb2(%rip), %rax ; optind@GLIBC_2.2.5 Signed-off-by: Alexander Orzechowski <orzechowski.alexander@gmail.com> 13 December 2021, 13:51:13 UTC
f772501 Add focused_tab_title 10 December 2021, 15:09:29 UTC
3f58f12 Fixup headless output names We use the headless backend to create a special fallback output used when no other output is connected. However this messes up the "real" headless output names users have come to expect (e.g. currently the first headless output will be named "HEADLESS-2" instead of "HEADLESS-1"). Fix this by setting the output name with [1]. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3395 09 December 2021, 16:47:01 UTC
1eaa61f readme: use right-to-left marks in ir translation 07 December 2021, 14:26:57 UTC
03a29ed output: remove surface buffer damage check A surface can have effective damage even without any buffer damage committed. 06 December 2021, 15:44:34 UTC
b518b12 Delete .clang-format This file isn't accurate, and clang-format can't describe our code style. References: https://github.com/swaywm/sway/pull/6249#issuecomment-986214042 06 December 2021, 14:27:11 UTC
02b412a build: use list for sdbus dep This allows to simplify our logic. Meson will pick the first found library. 26 November 2021, 18:10:18 UTC
0cd8efe sway: replace noop_output by fallback_output wlroots removed the support for the noop backend. Instead we rely on the headless backend to provide the fallback output. 25 November 2021, 16:48:34 UTC
729e18b Replace wlr_headless_backend_create_with_renderer call Update for the wlroots breaking change in [1]. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3367 25 November 2021, 15:39:06 UTC
f627cd7 swaybar: signal status command's process group Make the status command a process group leader and change the kill(2) calls to target the new process group. Signals sent by swaybar will then be received by both the status command and its children, if any. While here, check the result of fork(2). Without this, children spawned by the status command may not receive the signals sent by swaybar. As a result, these children may be orphaned on reload. The issue could be shown by setting the bar to bar { status_command i3status | tee /tmp/i3status.out } which would leave orphaned processes for each reload of sway $ ps o pid,ppid,cmd | grep i3status | grep -v grep 43633 43624 sh -c i3status | tee /tmp/i3status.out 43634 43633 i3status 43635 43633 tee /tmp/i3status.out $ swaymsg reload $ ps o pid,ppid,cmd | grep i3status | grep -v grep 43634 1 i3status 43635 1 tee /tmp/i3status.out 43801 43788 sh -c i3status | tee /tmp/i3status.out 43802 43801 i3status 43803 43801 tee /tmp/i3status.out This fixes #5584. 25 November 2021, 11:09:12 UTC
94dc486 ipc: make `bar <bar_id> mode|hidden_state` behave as documented sway-bar(5) says: > For compatibility with i3, bar mode <mode> [<bar-id>] syntax is > supported along with the sway only bar <bar-id> mode <mode> syntax. while the actual behavior is that `bar_cmd_mode` ignores already selected `config->current_bar` and applies the change to all the configured bars. 25 November 2021, 10:32:46 UTC
a23cdbb Add 'output render_bit_depth [8|10]' command This makes it possible to hint to the renderer and backends how many bits per channel the buffers that the compositor draws windows onto should have. Renderers and backends may deviate from this if they do not support the formats with higher bit depth. 23 November 2021, 14:51:54 UTC
5865af7 sway: create wlr_renderer and wlr_allocator wlroots now required the compositor to create its own wlr_renderer and wlr_allocator to initialize the wlr_output 18 November 2021, 16:47:19 UTC
cbecc5c container: fix surface_is_popup() 15 November 2021, 09:12:23 UTC
bb7bb36 sway: allow IPCs on proprietary drivers Proprietary drivers require --unsupported-gpu to be allowed, and IPCs require no option to be passed. The only way to satisfy both is to run IPCs before checking for proprietary drivers. 14 November 2021, 07:43:09 UTC
fc25e49 Update URL to wlroots project (GitHub->GitLab) 02 November 2021, 07:43:24 UTC
38020d1 Bump RLIMIT_NOFILE Wayland compositors handle many file descriptors: client connections, DMA-BUFs, sync_files, wl_data_device pipes, and so on. Bump the limit to the max. Closes: https://github.com/swaywm/sway/issues/6285 30 October 2021, 14:19:35 UTC
9969de9 Add smart_gaps inverse_outer command Add a subcommand for `smart_gaps` that enables outer gaps only on workspaces with exactly one visible child. Also add documentation for `smart_gaps toggle`. 29 October 2021, 11:37:58 UTC
aaf68cf fix cursor input for layer-shell surfaces previously, fullscreen global containers would grab cursor input even if a shell-layer surface was on top of it related issue: https://github.com/swaywm/sway/issues/6501 26 October 2021, 12:13:37 UTC
9303bed refactor: use JSON_MAX_DEPTH everywhere 25 October 2021, 08:18:40 UTC
b223f70 refactor: use sway_abort instead 22 October 2021, 07:57:05 UTC
96baef8 fix: use sane value for json_tokener max_depth INT_MAX causes a NULL pointer if there is not enough memory available to fit (INT_MAX * sizeof(struct json_tokener_srec)). 22 October 2021, 07:57:05 UTC
944d703 fix: handle NULL from json_tokener_new_ex if there is not enough memory to fit json_tokener and (depth * json_tokener_srec) in RAM, don't segfault. 22 October 2021, 07:57:05 UTC
21d2fdf view: add new container as a sibling of tiled view If the focused container is floating by itself, create a new container in tiling mode as a sibling of the inactive focused container instead of creating it as a sibling of everything that is in tiling mode in that workspace. This is the i3 behavior. 21 October 2021, 20:16:36 UTC
197d0ab commands/focus: focus view inside container seat_get_focus_inactive_floating and seat_get_focus_inactive_tiling do not always return a view, so get the previously focused view from the container with seat_get_focus_inactive_view. This is the i3 behavior. 21 October 2021, 20:13:54 UTC
215787e xwayland: Clear wlr_xwayland_surface in handle_destroy If the destroyed xwayland view is in transaction, it won't be destroyed immediately. wlr_xwayland_surface then becomes dangling pointer. Closes #6605 Closes #5884 19 October 2021, 07:42:19 UTC
b48cb6b Remove --my-next-gpu-wont-be-nvidia Nvidia has historically been a bad actor in the open-source graphics ecosystem because they required a special EGLStreams code-path instead of exposing the de-facto standard GBM API. However, with their upcoming release they now support GBM as well. This is a push in the right direction for Nvidia, so there's no reason we should be more hostile to them than to any other proprietary driver. Let's remove the --my-next-gpu-wont-be-nvidia flag, and advise users to use --unsupported-gpu now. Note, proprietary Nvidia drivers are still unsupported by the Sway project (just like all other proprietary drivers). 19 October 2021, 07:26:06 UTC
db70f64 swaymsg: fix misplaced return value 18 October 2021, 12:20:24 UTC
55cd8ab swaymsg: be explicit about the json parser error 18 October 2021, 12:20:24 UTC
f873bcc swaymsg: use INT_MAX max JSON depth when parsing IPC response Same reasoning as fe11caeac946cecda491d592044a6b9519ef2035. Without this, swaymsg would fail with a cryptic error message when the JSON was nested too deep. 18 October 2021, 12:20:24 UTC
119f31e config.in: use swaynag -B instead of -b '-b' spawns a terminal, which is unnecessary for this use case 17 October 2021, 19:30:33 UTC
1df2450 github: don't truncate debug logs This happens a lot, the latest one is [1]. [1]: https://github.com/swaywm/sway/issues/6570 17 October 2021, 19:28:51 UTC
ca8c6c3 Fix a couple of typos 16 October 2021, 06:16:12 UTC
0c210a5 Handle present events with NULL timespec field See [1]. [1]: https://github.com/swaywm/wlroots/pull/3245 15 October 2021, 17:34:03 UTC
555cd96 cross-reference further documentation 15 October 2021, 13:20:40 UTC
35d2918 change incorrectly documented output types 15 October 2021, 13:20:40 UTC
bccf76d clarify the type of raw output 15 October 2021, 13:20:40 UTC
f4db502 use node_is_view 10 October 2021, 07:35:15 UTC
624ffa4 Improve built-in touchscreen detection Adds detection code to handle pci-*-platform-* strings in ID_PATH References: https://github.com/swaywm/sway/issues/6590 Signed-off-by: Jari Ronkainen <ronchaine@gmail.com> 08 October 2021, 17:09:42 UTC
83310f5 swaybar: fix cairo_font_options leak 08 October 2021, 07:33:03 UTC
a47f8ef Fix compile after wlroots commit c3e54021f8bbf3ec1c1e5906459be0ae85f5fb8c 07 October 2021, 18:29:37 UTC
06e97e5 readme: drop recommendation about packaging - The contact info is out-of-date - Sway is packaged in many distributions now - I don't think we necessarily need to mention this in the README 07 October 2021, 16:08:58 UTC
8fa7b99 idle_inhibit: Fix tree view after changes in commit 152a559e Commit 152a559e replaced the view pointer in the inhibitor struct with a pointer to the wlr_inhibitor for application inhibitors. But this was not changed in the sway_idle_inhibit_v1_application_inhibitor_for_view function. This caused a bug in the sway tree view where the application inhibitor is always "none". 04 October 2021, 14:25:35 UTC
8aae6a8 sway-input.5.scd: Fix spelling errors Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr> 02 October 2021, 08:21:28 UTC
ff46858 commands: Remove unused code after 1d3681f52135 Clang 13 reports: ../sway/commands.c:470:23: error: variable 'context' set but not used [-Werror,-Wunused-but-set-variable] enum command_context context = 0; ^ Last use of was removed in commit 1d3681f52135. Downstream PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258813 01 October 2021, 13:45:09 UTC
c43f1fb Chase wlr_xdg_surface breaking changes See [1]. [1]: https://github.com/swaywm/wlroots/pull/3106 30 September 2021, 21:21:56 UTC
1bd8e3b Add support for DRM panel orientation References: https://github.com/swaywm/wlroots/pull/3205 28 September 2021, 19:27:15 UTC
5fdc1c8 readme: add missing space 28 September 2021, 19:01:28 UTC
5fd5d64 layer-shell: fix commit handler This commit makes sure the extents are kept up-to-date, fixes not damaging the surface if its layer shell-specific state didn't change, and adds a check if the layer shell-specific state didn't change but the surface got mapped/unmapped, which could affect keyboard focus. 25 September 2021, 19:21:51 UTC
c11b5db layer-shell: check `committed` bitmask This avoids infinite configure-ack_configure-commit loop. 24 September 2021, 12:40:59 UTC
b7b3ef6 layer-shell: chase wlr layer surface refactor 23 September 2021, 19:32:56 UTC
b7b9639 xdg-shell: remove unused request_maximize listener 21 September 2021, 12:29:37 UTC
b1d41db Revert "xdg_shell: schedule configure on maximize requests" This reverts commit 4dd46f06acc520449b980a5ea52be544cc5bfb6d, as the logic is now handled by wlroots. 21 September 2021, 12:29:37 UTC
eb03298 xdg-shell: chase wlr xdg toplevel refactor 21 September 2021, 08:12:27 UTC
82d5f12 Add -Dnoscanout debug option This can help debugging direct scan-out issues, such as [1]. [1]: https://github.com/swaywm/wlroots/issues/3185 20 September 2021, 12:22:35 UTC
033061a swaybar: properly draw blocks with transparent black border while the draw itself is a no-op, alignment must still be accounted this requires more signalling about the blocks (border_set; was the border set?) 20 September 2021, 07:53:32 UTC
a345180 Drop hardcoded font metric values 20 September 2021, 07:25:47 UTC
c16b2a2 Avoid unecessary font metric calculations 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. 20 September 2021, 07:25:47 UTC
49da73d sway-ipc.7.scd: fix typo 19 September 2021, 15:28:37 UTC
f1f283d README: Added Greek translation 19 September 2021, 12:14:42 UTC
8d0a84f swaybar: properly draw urgent block right border 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 15 September 2021, 07:26:08 UTC
9727db6 build: remove scdoc stdin/stdout hack 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 15 September 2021, 06:21:20 UTC
94e041b readme: Align Danish translation with main README 13 September 2021, 15:05:28 UTC
1b86008 readme: mention seatd When seatd is used, it isn't necessary to suid the sway binary. 13 September 2021, 14:10:05 UTC
806b59e swaynag: fix pointer button events on scaled outputs 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. 13 September 2021, 12:46:01 UTC
3f7a04d Rename pango_printf to render_text This avoids using the pango_ prefix, reserved for functions coming from the Pango library. 13 September 2021, 12:22:51 UTC
671bb44 readme: link to gamja for IRC gamja offers a better experience than Kiwi. Obviously I'm 100% biased. Completely fine to not make the switch if someone feels differently. 13 September 2021, 08:58:45 UTC
d0cb52d readme: switch to Libera Chat for ir 13 September 2021, 06:29:12 UTC
57ae751 Simplify swaybar/swaynag scaling code Use `cairo_scale` to set the scale factor, removing redundant multiplications by `output->scale`. 12 September 2021, 07:05:12 UTC
30c28ff introduce wlr_drm_lease_v1 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. 09 September 2021, 13:25:19 UTC
e76e13e view: fix child position calc Previously, the position was calculated incorrectly for nested subsurfaces. 08 September 2021, 07:36:17 UTC
adf9e16 build: subproject support for wayland-protocols As in wlroots: [1] [1]: https://github.com/swaywm/wlroots/pull/2953 08 September 2021, 06:19:40 UTC
91d6d00 render: fix -Ddamage=rerender 07 September 2021, 12:52:29 UTC
ae80bde surface: chase wlr subsurface list/link change 06 September 2021, 15:39:28 UTC
72b0491 view: fix saved buffer order 05 September 2021, 10:31:46 UTC
69a7b92 Fix overly-wide mark textures The width of the texture needs to be calculated using the string that is actually displayed in the texture. 04 September 2021, 15:23:06 UTC
00b10a9 commands: update split none command for a047b5ee4 03 September 2021, 22:24:47 UTC
de3c290 command: implement split none 03 September 2021, 21:50:20 UTC
4baf845 seatop_down: End if surface is destroyed or other seatop starts 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. 02 September 2021, 17:13:40 UTC
9e58425 input: Use seatop_down on layer surface click 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. 02 September 2021, 17:13:40 UTC
57d6f6f Add `output modeline` command Only works with DRM backend. 31 August 2021, 15:29:40 UTC
daaec72 desktop/xwayland: restack surface upon activation This commit updates Sway for swaywm/wlroots#2915. 28 August 2021, 20:04:31 UTC
1ea5f01 config.in: use portable hour specifier `%l` is GNU specific. `%I` does the same thing but padded by zeros, and is POSIX compliant. 27 August 2021, 17:28:56 UTC
9acb015 Deduplicate code for rendering titlebar texts 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. 27 August 2021, 08:12:57 UTC
62d90a8 Use fixed titlebar heights 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. 26 August 2021, 18:16:14 UTC
bb3fd0a Update Pango font description URL in sway.5.scd Along with f4cda51 fixes #6217. 19 August 2021, 16:06:29 UTC
d0c5c5a Fix typo in sway.5.scd small typo fix (ptt => ppt) 16 August 2021, 12:05:48 UTC
c9060bc layer-shell: replace close() with destroy() Update for the wlroots breaking change in [1]. [1]: https://github.com/swaywm/wlroots/pull/3108 14 August 2021, 18:29:59 UTC
b17cf58 cmd_bind_or_unbind_switch: fix copy/paste typo error message `[0]` is the switch type, not its state; we want `[1]` for that, and it's a string not an int :) 14 August 2021, 08:46:17 UTC
4cdc4ac Fallback to other output modes if preferred mode fails 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. 12 August 2021, 19:06:26 UTC
f67ed67 layer_shell: damage previous area when a surface shrinks 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. 12 August 2021, 08:05:12 UTC
back to top