Announcement

Collapse
No announcement yet.

PCSX2 Emulator Disables Wayland Support By Default

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Originally posted by patrick1946 View Post
    Client side decorations are a proofen concept
    So were the various design decisions in MS-DOS that Win32 platforms retired. What's your point?

    Being new doesn't make it not a step backwards. Should we introduce Windows-style "You can't delete this because it's in use" locking because it's a "proofen concept"?

    Originally posted by patrick1946 View Post
    and the only problem now is that some frameworks like Qt do not support them well.
    No, the only problem is that I can't find a replacement for Inkscape to get rid of the GNOME-isms that the Breeze-GTK theme apparently can't override, like drop shadows on menus which turn into giant black borders when something like a fullscreen video player on another monitor is suspending compositing.

    (Thankfully, so far, Flatseal is the only headerbar'd application I don't have a decent replacement for and I rarely need to open it... but when I do, I sometimes have one of my monitors appear to freeze up because, without SSD, some bug in how it interacts with my video drivers means that it appears as a maximized window that just captures a frozen view of what was there previously. In those cases, I'm stuck using the taskbar to close it and then try again until the darn thing manages to start correctly. I suspect it might have to do with VRAM exhaustion on a non-composited, triple-head desktop with tons of windows and a 1GB GeForce GTX750.)

    Comment


    • Originally posted by ssokolow View Post

      The person using the application. That's what "user" means. I'd have said "downstream developer" otherwise.

      It's my damn computer, it will do as I say.
      Thats why I asked.

      the person using the application doesnt and cant use client side decorations,

      client side decorations are a developer tool.

      the "user" of a CSD is the application.



      "Client-side decoration (CSD) is the concept of allowing a graphical application software to be responsible for drawing its own window decorations"

      applications always have that power, they just create a window with no sever side decorations and paint the rest themselves, best known example I can think of for that is winamp skins.

      The idea behind a well developed CSD library is to let applications do it with some consistency between themselves and also obey customisations by "the person using the application" (aiui)​

      Comment


      • Originally posted by mSparks View Post

        Thats why I asked.

        the person using the application doesnt and cant use client side decorations,

        client side decorations are a developer tool.

        the "user" of a CSD is the application.
        Now you're just complicating definitions to no benefit to the discussion. When I say "user", I always mean "a human who is the leaf node of the dependency tree", so a programmer is a user of their IDE, but they are not the user of the software they produce, except when they're dogfooding it. "User of an API" is something I'll say, but only when clarified like that.

        In this context, I talk about humans as users of CSDs because users are the ones who have to put up with things like inconsistent display of customized Minimize/Maximize/AlwaysOnTop/AllDesktops/etc. buttons, inconsistent access to extended WM/compositor functionality via context menus, inconsistent visual appearance, etc.

        The API to render the CSD may have the developer as its end user, but the developer is only the end-user of the resulting interactable visual elements when they're dogfooding.

        Or, if you want a simpler heuristic, "CSDs are a factor in my decision of which of several competing applications to choose for a use-case. Therefore, I'm the user."

        Originally posted by mSparks View Post
        applications always have that power, they just create a window with no sever side decorations and paint the rest themselves, best known example I can think of for that is winamp skins.
        Yes, and WinAMP is from a time when 640x480 and 800x600 were common screen resolutions and custom theming using bitmap fonts allowed me to pack more UI into a small space. That's one of the reasons I was OK with it back in the day and, when I didn't stick to the stock theme, I generally went with WinAMP themes that had more in common with the XMMS default or modern-day KDE's Breeze theme than anything else.

        Even back then, I was never big on the crazy theming and UI was a factor in my decision to prefer things like Media Player Classic over Windows Media Player.

        I think the only thing other than WinAMP that I allow CSDs on is Ungoogled Chromium, where I enjoy the ability to have the active region for scroll-wheel tab switching extend all the way to the Fitts's Law-friendly row 0 of screen pixels, similar to how my taskbar works the same way on the bottom of the screen.

        Not every app has the excuse of "I'm an OS within your OS and my window management sucks so I need CSD to enable a UX hack to compensate".

        Good UI design should be about using consistency to make the application fade into the background so you can focus on the data it's helping you to interact with. Hell, that's what one of Google Chrome's big selling points was when it first came out. Compared to Firefox's chrome or IE's chrome, Google Chrome's chrome was minimal to leave more room for content.

        (Which is also why people on tiling WMs tend not to like headerbars. On floating WMs, they bloat out the titlebar with widgets. On tiling WMs, they bloat out the widgets with forced titlebar.)
        Last edited by ssokolow; 28 November 2023, 10:09 PM.

        Comment


        • Originally posted by ssokolow View Post

          Now you're just complicating definitions to no benefit to the discussion. When I say "user", I always mean "a human who is the leaf node of the dependency tree", so a programmer is a user of their IDE, but they are not the user of the software they produce, except when they're dogfooding it. "User of an API" is something I'll say, but only when clarified like that.
          sure, but CSD is an API, so I read it as "User of an API"
          which was confusing.

          Originally posted by ssokolow View Post
          Good UI design should be about using consistency to make the application fade into the background so you can focus on the data it's helping you to interact with. Hell, that's what one of Google Chrome's big selling points was when it first came out. Compared to Firefox's chrome or IE's chrome, Google Chrome's chrome was minimal to leave more room for content.
          Agree with that.

          So surely gnome offering a CSD library with the goal of achieving it, is a good thing?

          Comment


          • Originally posted by mSparks View Post
            Agree with that.

            So surely gnome offering a CSD library with the goal of achieving it, is a good thing?
            Except that it's an expression of "We'll give you a new dependency you can add to help you fit into our vision, but our HIG has no provision for reciprocating and helping our CSD-based designs fit into your vision".

            It's "Our way or the highway... and here's some help going our way".

            Comment


            • Originally posted by mSparks View Post
              So surely gnome offering a CSD library with the goal of achieving it, is a good thing?
              Sorry for bumping into your discussion. Here are my two cents:

              - CSD's should be used as a "substitute" for a title bar. Therefore, an APP that uses CSD should hide the titlebar
              - therefore, CSD's reduce UI consistency
              - therefore, CSD's give additional flexibility to applications
              - CSD's reduce security (an app can feign another app)
              - CSD's can save some vertical space, if properly employed
              - if the titlebar doesn't get hidden (for one reason or another), then CSD usually duplicates information, then CSD wastes space

              Comment


              • Originally posted by ssokolow View Post

                It's "Our way or the highway... and here's some help going our way".
                "the highway" being KDE....
                I am struggling to see a fundamental problem with that approach, generally better to do a few things very well than lots of things kinda OK.

                Now, if those "few things" were things no one wanted or use it would be a problem.

                But all I want from my DE is for it to keep the hell out of my way unless I really need it, I'm not using gnome, Im using applications on gnome. gnome 45 is really hitting the sweet spot for me.

                My only two complaints now are.
                not putting windows in front I would expect, but instead putting them behind and popping up e.g. a "open file is ready" notification. at least improved over gnome 44, but still, wtf
                their file browser is shite. But that was quickly solved by installing nemo.

                But at the same time I am very glad they are my only two complaints, KDE reminds me of windows 2000, macos is far too liberal putting full screen windows on their own desktop and making it far to cumbersome to switch quickly between 4 or 5 open applications.

                That wayland has had to suffer to get gnome to where it is today was the right choice imho, wayland offers nothing and breaks everything, which this pull request is just one more example of.

                Comment


                • Originally posted by mSparks View Post
                  "the highway" being KDE....
                  I am struggling to see a fundamental problem with that approach, generally better to do a few things very well than lots of things kinda OK.
                  No, "the highway" being any window manager/compositor that allows you to customize your titlebar actions or adds context menu features GNOME didn't think of.

                  For example, Fluxbox allows WM-level tabbing, where you can group any arbitrary set of windows from any arbitrary set of applications into a single tabbed window. (KDE's KWin briefly had that around the end of the 4.x series.)

                  Originally posted by mSparks View Post
                  But at the same time I am very glad they are my only two complaints, KDE reminds me of windows 2000, macos is far too liberal putting full screen windows on their own desktop and making it far to cumbersome to switch quickly between 4 or 5 open applications.
                  I'd say it reminds me of Windows 7 once the OSX Dock-style pinned icons have been removed and, what a shocker, that's what I consider to be the pinnacle of Microsoft's efforts at UI/UX design.

                  Comment


                  • Originally posted by ssokolow View Post
                    GNOME didn't think of.
                    huh.
                    the whole point of CSDs is the application can add any decoration it wants that gnome didnt think of?

                    And they can and do it regardless of what gnome hints at, just by making a window with no gnome decorations and doing everything custom.

                    Comment


                    • Originally posted by mSparks View Post
                      huh.
                      the whole point of CSDs is the application can add any decoration it wants that gnome didnt think of?

                      And they can and do it regardless of what gnome hints at, just by making a window with no gnome decorations and doing everything custom.
                      What I said was that the whole point of SSDs is that the WM/Compositor can reliably (key word: reliably) add things the application developer didn't think of.

                      Comment

                      Working...
                      X