Skip to content
  • Hjem
  • Seneste
  • Etiketter
  • Populære
  • Verden
  • Bruger
  • Grupper
Temaer
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Kollaps
FARVEL BIG TECH
  1. Forside
  2. Ikke-kategoriseret
  3. Decided to try writing a Wayland compositor for fun.

Decided to try writing a Wayland compositor for fun.

Planlagt Fastgjort Låst Flyttet Ikke-kategoriseret
227 Indlæg 2 Posters 0 Visninger
  • Ældste til nyeste
  • Nyeste til ældste
  • Most Votes
Svar
  • Svar som emne
Login for at svare
Denne tråd er blevet slettet. Kun brugere med emne behandlings privilegier kan se den.
  • yalter@mastodon.onlineY yalter@mastodon.online

    niri can now include the mouse pointer on window screenshots, a feature that had several more edge cases than I thought before starting to work on it (and it's likely not the ones you think, those ones were easy)

    #niri

    yalter@mastodon.onlineY This user is from outside of this forum
    yalter@mastodon.onlineY This user is from outside of this forum
    yalter@mastodon.online
    wrote on sidst redigeret af
    #215

    Merged another long time overdue niri PR: mouse cursor via metadata in PipeWire screencasts (lets you toggle Show Cursor on/off in OBS), and full mouse cursor support in window casts.

    The cursor is visible only when the window is receiving mouse events—if you're moving the mouse on top of something else covering the target window, the cursor won't be (unintentionally) painted.

    Thanks @abmantis for driving this, including debugging a memory bug in PW!

    #niri

    yalter@mastodon.onlineY 1 Reply Last reply
    0
    • yalter@mastodon.onlineY yalter@mastodon.online

      Merged another long time overdue niri PR: mouse cursor via metadata in PipeWire screencasts (lets you toggle Show Cursor on/off in OBS), and full mouse cursor support in window casts.

      The cursor is visible only when the window is receiving mouse events—if you're moving the mouse on top of something else covering the target window, the cursor won't be (unintentionally) painted.

      Thanks @abmantis for driving this, including debugging a memory bug in PW!

      #niri

      yalter@mastodon.onlineY This user is from outside of this forum
      yalter@mastodon.onlineY This user is from outside of this forum
      yalter@mastodon.online
      wrote on sidst redigeret af
      #216

      Working on a screencast IPC for niri. The idea is to give info to desktop bars to be able to add a screencast indicator whenever something is recording the screen.

      Got it hooked up for both PipeWire (obviously) and wlr-screencopy. For the latter there's no good way to tell if something is a screencast so I went with some heuristics.

      Here's the icon working on the DMS bar, as well as a popup with the full available info I made for debugging.

      #niri

      yalter@mastodon.onlineY 1 Reply Last reply
      0
      • yalter@mastodon.onlineY yalter@mastodon.online

        Working on a screencast IPC for niri. The idea is to give info to desktop bars to be able to add a screencast indicator whenever something is recording the screen.

        Got it hooked up for both PipeWire (obviously) and wlr-screencopy. For the latter there's no good way to tell if something is a screencast so I went with some heuristics.

        Here's the icon working on the DMS bar, as well as a popup with the full available info I made for debugging.

        #niri

        yalter@mastodon.onlineY This user is from outside of this forum
        yalter@mastodon.onlineY This user is from outside of this forum
        yalter@mastodon.online
        wrote on sidst redigeret af
        #217

        Oh right, for PipeWire I can send the node ID, which DMS can then use to fetch the consumer application name!

        #niri

        yalter@mastodon.onlineY 1 Reply Last reply
        0
        • yalter@mastodon.onlineY yalter@mastodon.online

          Oh right, for PipeWire I can send the node ID, which DMS can then use to fetch the consumer application name!

          #niri

          yalter@mastodon.onlineY This user is from outside of this forum
          yalter@mastodon.onlineY This user is from outside of this forum
          yalter@mastodon.online
          wrote on sidst redigeret af
          #218

          The screencast IPC is now merged: https://yalter.github.io/niri/niri_ipc/struct.Cast.html

          #niri

          yalter@mastodon.onlineY 1 Reply Last reply
          0
          • yalter@mastodon.onlineY yalter@mastodon.online

            The screencast IPC is now merged: https://yalter.github.io/niri/niri_ipc/struct.Cast.html

            #niri

            yalter@mastodon.onlineY This user is from outside of this forum
            yalter@mastodon.onlineY This user is from outside of this forum
            yalter@mastodon.online
            wrote on sidst redigeret af
            #219

            Also added niri msg action stop-cast to force-stop a PipeWire screencast

            #niri

            yalter@mastodon.onlineY 1 Reply Last reply
            0
            • yalter@mastodon.onlineY yalter@mastodon.online

              Also added niri msg action stop-cast to force-stop a PipeWire screencast

              #niri

              yalter@mastodon.onlineY This user is from outside of this forum
              yalter@mastodon.onlineY This user is from outside of this forum
              yalter@mastodon.online
              wrote sidst redigeret af
              #220

              working on my new visual style

              #niri

              yalter@mastodon.onlineY 1 Reply Last reply
              0
              • yalter@mastodon.onlineY yalter@mastodon.online

                working on my new visual style

                #niri

                yalter@mastodon.onlineY This user is from outside of this forum
                yalter@mastodon.onlineY This user is from outside of this forum
                yalter@mastodon.online
                wrote sidst redigeret af
                #221

                So yeah, I'm working on blur for niri. I'm doing "xray blur" first where the idea is that you only include background surfaces, so you pretty much never have to redo the blur—next to zero perf impact unless you have a video wallpaper or smth.

                Turns out that it's quite tricky to do well, especially with our Overview. I'm like on my third refactor attempt now but I think I've got a good approach.

                During this video there's no reblurring whatsoever, all just drawing cached static textures.

                #niri

                yalter@mastodon.onlineY 1 Reply Last reply
                0
                • yalter@mastodon.onlineY yalter@mastodon.online

                  So yeah, I'm working on blur for niri. I'm doing "xray blur" first where the idea is that you only include background surfaces, so you pretty much never have to redo the blur—next to zero perf impact unless you have a video wallpaper or smth.

                  Turns out that it's quite tricky to do well, especially with our Overview. I'm like on my third refactor attempt now but I think I've got a good approach.

                  During this video there's no reblurring whatsoever, all just drawing cached static textures.

                  #niri

                  yalter@mastodon.onlineY This user is from outside of this forum
                  yalter@mastodon.onlineY This user is from outside of this forum
                  yalter@mastodon.online
                  wrote sidst redigeret af
                  #222

                  Added non-xray blur, based on @drakulix's Smithay/COSMIC implementation.

                  Keep in mind this blur work is still extremely WIP and with many issues (some visible on the video). It's also still not entirely clear to me how to best structure the code around it in niri. We'll see

                  #niri

                  yalter@mastodon.onlineY 1 Reply Last reply
                  0
                  • yalter@mastodon.onlineY yalter@mastodon.online

                    Added non-xray blur, based on @drakulix's Smithay/COSMIC implementation.

                    Keep in mind this blur work is still extremely WIP and with many issues (some visible on the video). It's also still not entirely clear to me how to best structure the code around it in niri. We'll see

                    #niri

                    yalter@mastodon.onlineY This user is from outside of this forum
                    yalter@mastodon.onlineY This user is from outside of this forum
                    yalter@mastodon.online
                    wrote sidst redigeret af
                    #223

                    Alright, getting somewhere! I think I've figured out a good code structure for the xray blur. It now correctly works even inside offscreens (opening animation, and when you drag a window targeting the tiling layout), and it should also work properly with the upcoming screen magnifier (that we have in pull requests).

                    Still not a single blur re-render in this entire video!

                    #niri

                    yalter@mastodon.onlineY 1 Reply Last reply
                    0
                    • yalter@mastodon.onlineY yalter@mastodon.online

                      Alright, getting somewhere! I think I've figured out a good code structure for the xray blur. It now correctly works even inside offscreens (opening animation, and when you drag a window targeting the tiling layout), and it should also work properly with the upcoming screen magnifier (that we have in pull requests).

                      Still not a single blur re-render in this entire video!

                      #niri

                      yalter@mastodon.onlineY This user is from outside of this forum
                      yalter@mastodon.onlineY This user is from outside of this forum
                      yalter@mastodon.online
                      wrote sidst redigeret af
                      #224

                      you know it's serious when you have to pull out a notebook to figure out the coordinate transforms

                      #niri

                      yalter@mastodon.onlineY 1 Reply Last reply
                      0
                      • yalter@mastodon.onlineY yalter@mastodon.online

                        you know it's serious when you have to pull out a notebook to figure out the coordinate transforms

                        #niri

                        yalter@mastodon.onlineY This user is from outside of this forum
                        yalter@mastodon.onlineY This user is from outside of this forum
                        yalter@mastodon.online
                        wrote sidst redigeret af
                        #225

                        Today, got xray working on the closing window animations. The reason this needs special treatment is that when a window closes, niri renders a snapshot of its last visible contents to use for the animation. This happens outside the normal rendering path so I needed to thread through the xray background rendering logic as well as the correct window coordinates (since the xray background needs to know where the window is to draw the correct thing).

                        #niri

                        yalter@mastodon.onlineY 1 Reply Last reply
                        0
                        • yalter@mastodon.onlineY yalter@mastodon.online

                          Today, got xray working on the closing window animations. The reason this needs special treatment is that when a window closes, niri renders a snapshot of its last visible contents to use for the animation. This happens outside the normal rendering path so I needed to thread through the xray background rendering logic as well as the correct window coordinates (since the xray background needs to know where the window is to draw the correct thing).

                          #niri

                          yalter@mastodon.onlineY This user is from outside of this forum
                          yalter@mastodon.onlineY This user is from outside of this forum
                          yalter@mastodon.online
                          wrote sidst redigeret af
                          #226

                          Today: implemented (a limited but useful subset of) both ext-background-effect and org-kde-kwin-blur protocols. Clients use these to request blur on their surfaces without having to configure anything in the compositor. These protocols also allow clients to blur only parts of their surfaces, for example here excluding client-side decoration bars and shadows.

                          Here are three terminals all with their org-kde-kwin-blur setting enabled.

                          #niri

                          anderslund@expressional.socialA 1 Reply Last reply
                          0
                          • yalter@mastodon.onlineY yalter@mastodon.online

                            Today: implemented (a limited but useful subset of) both ext-background-effect and org-kde-kwin-blur protocols. Clients use these to request blur on their surfaces without having to configure anything in the compositor. These protocols also allow clients to blur only parts of their surfaces, for example here excluding client-side decoration bars and shadows.

                            Here are three terminals all with their org-kde-kwin-blur setting enabled.

                            #niri

                            anderslund@expressional.socialA This user is from outside of this forum
                            anderslund@expressional.socialA This user is from outside of this forum
                            anderslund@expressional.social
                            wrote sidst redigeret af
                            #227

                            @YaLTeR Looks nice 🙂

                            1 Reply Last reply
                            0
                            Svar
                            • Svar som emne
                            Login for at svare
                            • Ældste til nyeste
                            • Nyeste til ældste
                            • Most Votes


                            • Log ind

                            • Har du ikke en konto? Tilmeld

                            • Login or register to search.
                            Powered by NodeBB Contributors
                            Graciously hosted by data.coop
                            • First post
                              Last post
                            0
                            • Hjem
                            • Seneste
                            • Etiketter
                            • Populære
                            • Verden
                            • Bruger
                            • Grupper