Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add rounded corners #9

Merged
merged 6 commits into from
Aug 21, 2022
Merged

Add rounded corners #9

merged 6 commits into from
Aug 21, 2022

Conversation

WillPower3309
Copy link
Owner

Adds rounded corners
Current appearance:
2022-08-16_21-08-1660700681

@WillPower3309 WillPower3309 linked an issue Aug 17, 2022 that may be closed by this pull request
@WillPower3309
Copy link
Owner Author

TODO: Add rules to avoid rounding corners on certain windows and default to not rounding certain UI elements (inc panel)

@WillPower3309 WillPower3309 modified the milestone: 0.1 Aug 17, 2022
@WillPower3309 WillPower3309 added the enhancement New feature or request label Aug 17, 2022
@WillPower3309
Copy link
Owner Author

TODO: Add rules to avoid rounding corners on certain windows and default to not rounding certain UI elements (inc panel)

Will ignore rounding on certain UI elements such as panels / background. Rules will be added in #10

@fluix-dev
Copy link
Contributor

Hey, I'm the developer of sway-borders which tries to achieve similar goals of this project (although it's been in the works for far too long without much progress). I recently pushed rounded corners to a beta branch and it includes anti-aliasing which I think you might like here.

https://github.com/fluix-dev/sway-borders/blob/9f1cfcfca44933f47991c267e44183c707732c37/sway/desktop/renderer.c#L30 (issue with screenshot: fluix-dev/sway-borders#54 (comment))

Happy to see another project improving on the looks of Sway, I might take a shot at making some PRs since I'm essentially rewriting sway-borders with a custom renderer too. Let me know if you want to work together more closely.

@WillPower3309
Copy link
Owner Author

Hey @fluix-dev, great work on sway-borders! Looks like we've got a lot of similar ideas with our renderer implementations, I'll definitely take a closer look at your anti-aliased shader. For now, I've just been ripping the shaders from Hyprland (which is part of what has allowed me to progress so quickly on this fork). I would absolutely like to work more closely on giving sway some more eye-candy!

updated corner_radius config option
@WillPower3309
Copy link
Owner Author

WillPower3309 commented Aug 21, 2022

Will need to adjust titlebar and border dawing. I think for now, I will change the default config to omit borders and titlebars, get this merged, and fix the drawing in a future PR so that I can get this out!

2022-08-21_16-08-1661114181

@WillPower3309 WillPower3309 merged commit 5c0086b into master Aug 21, 2022
BrianCArnold pushed a commit to BrianCArnold/swayfx that referenced this pull request Nov 25, 2023
In case a display is unplugged, the sway output may be removed from the
userdata before the gamma_control can be reset. In this case we can't
schedule a commit on the output, simply return within the function.

backtrace full:

  #0  handle_gamma_control_set_gamma (listener=0x4856a8 <server+616>, data=0x7ffce1ed59c0) at ../sway/desktop/output.c:1105
          server = 0x485440 <server>
          event = 0x7ffce1ed59c0
          output = 0x0
  WillPower3309#1  0x00007f430d1dca0c in wl_signal_emit_mutable ()
     from /nix/store/ky1g6ylzr2m4bq8fy0gzrnqmjr6948k5-wayland-1.22.0/lib/libwayland-server.so.0
  No symbol table info available.
  WillPower3309#2  0x00007f430d142370 in gamma_control_destroy (gamma_control=0x29eb9b0) at ../types/wlr_gamma_control_v1.c:37
          manager = 0x27e33e0
          output = 0x2a10770
          event = {output = 0x2a10770, control = 0x0}
  WillPower3309#3  0x00007f430d14239b in gamma_control_handle_output_destroy (listener=<optimized out>, data=<optimized out>)
      at ../types/wlr_gamma_control_v1.c:59
          gamma_control = <optimized out>
  WillPower3309#4  0x00007f430d1dca0c in wl_signal_emit_mutable ()
     from /nix/store/ky1g6ylzr2m4bq8fy0gzrnqmjr6948k5-wayland-1.22.0/lib/libwayland-server.so.0
  No symbol table info available.
  WillPower3309#5  0x00007f430d12a0e0 in wlr_output_destroy (output=output@entry=0x2a10770) at ../types/output/output.c:384
          cursor = <optimized out>
          tmp_cursor = <optimized out>
          layer = <optimized out>
          tmp_layer = <optimized out>
  WillPower3309#6  0x00007f430d114ecf in disconnect_drm_connector (conn=conn@entry=0x2a10770) at ../backend/drm/drm.c:1757
          __PRETTY_FUNCTION__ = "disconnect_drm_connector"
  WillPower3309#7  0x00007f430d117078 in scan_drm_connectors (drm=drm@entry=0x1eebab0, event=event@entry=0x7ffce1ed5c1c) at ../backend/drm/drm.c:1597
          c = <optimized out>
          wlr_conn = 0x2a10770
          drm_conn = 0x2e760d0
          conn_id = <optimized out>
          index = 4
          i = 4
          res = 0x2e761f0
          seen_len = 5
          seen = {true, true, true, true, true, false}
          new_outputs_len = 0
          new_outputs = 0x7ffce1ed5ab0
          conn = <optimized out>
          tmp_conn = <optimized out>
          index = <optimized out>
  WillPower3309#8  0x00007f430d113425 in handle_dev_change (listener=0x1eebbb0, data=0x7ffce1ed5c18) at ../backend/drm/backend.c:157
          drm = 0x1eebab0
          change = 0x7ffce1ed5c18
  WillPower3309#9  0x00007f430d1dca0c in wl_signal_emit_mutable ()
     from /nix/store/ky1g6ylzr2m4bq8fy0gzrnqmjr6948k5-wayland-1.22.0/lib/libwayland-server.so.0
  No symbol table info available.
  WillPower3309#10 0x00007f430d111696 in handle_udev_event (fd=<optimized out>, mask=<optimized out>, data=<optimized out>)
      at ../backend/session/session.c:213
          event = {type = WLR_DEVICE_HOTPLUG, {hotplug = {connector_id = 0, prop_id = 0}}}
          devnum = <optimized out>
          dev = 0x1ed9460
          session = <optimized out>
          udev_dev = 0x2e70db0
          sysname = 0x2e73c60 "card0"
          devnode = <optimized out>
          action = 0x7f430d6677b5 "change"
          seat = <optimized out>
          __PRETTY_FUNCTION__ = "handle_udev_event"
  WillPower3309#11 0x00007f430d1de8e2 in wl_event_loop_dispatch ()
     from /nix/store/ky1g6ylzr2m4bq8fy0gzrnqmjr6948k5-wayland-1.22.0/lib/libwayland-server.so.0
  No symbol table info available.
  WillPower3309#12 0x00007f430d1dc445 in wl_display_run () from /nix/store/ky1g6ylzr2m4bq8fy0gzrnqmjr6948k5-wayland-1.22.0/lib/libwayland-server.so.0
  No symbol table info available.
  WillPower3309#13 0x000000000041daa5 in server_run (server=server@entry=0x485440 <server>) at ../sway/server.c:338
  No locals.
  WillPower3309#14 0x000000000041cf4d in main (argc=<optimized out>, argv=0x7ffce1ed5fe8) at ../sway/main.c:415
          verbose = false
          debug = false
          validate = false
          allow_unsupported_gpu = false
          config_path = 0x0
        c = <optimized out>

where event->output->data is NULL:

  (gdb) p event->output->data
  $5 = (void *) 0x0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Rounded Corners
2 participants