Talk:Client-side decoration

NPOV
This article is based on GNOME's post introducing the drive toward CSD and others inspired by it, and so is naturally also biased in that direction. It's not nearly so settled as phrases like "don’t waste space by showing a virtually empty title bar" suggest; you don't have to look further than the comments on that very article to see arguments against it, and there have been some responses (if mostly to the way it was presented) that are also critical of CSD itself. Even if the poll numbers cited in this article are representative of everyone who would be affected by the adoption -- rather than just a subset of users of the most beginner-friendly distro -- that 25% should be asknowledged in more than a single paragraph, and that in passing. WovenTales (talk) 19:29, 29 January 2018 (UTC)

It's a bizarre combination of reading a bit like a press release, and also a statement mentioning "widespread controversy", with a source which seems to suggest the opposite. Granted there are other sources (although I'm not sure forums are particularly trustworthy) bruce89 (talk) 21:19, 1 May 2018 (UTC)

I've cleaned up the page and tried to make it neutral, but it's possible it could be a target for future vandalism. 81.157.220.42 (talk) 19:11, 17 January 2019 (UTC)

Confusing article
This article is confusing, what are we describing here? We're confusing two completely different things.

When we talk about client side decoration, are we referring to applications drawing their own borders and sending it to the compositor, which is nearly every modern GTK & macOS application, where the compositor (e.g. Mutter, Quartz) is effectively a dumb pipe, which is the opposite to an environment where the compositor has a window manager that draws around the applications and gives them a window (e.g. KDE/Kwin).

Or any application that decides not to have a basic title bar, which probably doesn't merit it's own article. Based on the technical definition, we should be referring to the former.

Every GUI toolkit in theory provides client-side decoration support, as long as the compositor allows it and provides the mechanism for sending the correct hints to the window manager. 86.153.245.120 (talk) 19:38, 7 June 2019 (UTC)


 * "are we referring to applications drawing their own borders"*border* What do you mean by this term? window border or window decoration?!"drawing their own borders and sending it to the compositor" and "any application that decides not to have a basic title bar" are identical if your mean about "borders" is window decoration, because it is not possible for applications to don't use title bar and generally window decoration unless they implement them as manually or using an available widget like GtkHeaderBar under an environment that has a compositor or WM that supports and enabled CSD:* https://stackoverflow.com/questions/28650646/what-is-client-side-decoration* https://stackoverflow.com/questions/21079506/how-do-client-side-decorations-work-with-gnome-3-10-and-gtk-3#"Based on the technical definition, we should be referring to the former."*technical definition* please provide reliable source and link. Editor-1 (talk) 03:42, 8 June 2019 (UTC)


 * By window border, I am referring to the decoration that contains the window controls. In some cases this is drawn by an external process (e.g. the window manager), in some cases this is drawn by the app itself (e.g. in the toolkit). THIS is fundamentally the difference between SSD and CSDs. WHAT draws the border. The app process (the client) or the window manager (the server). macOS is an example where the window controls are created by the app process itself (Qt on macOS creates a Cocoa based NSWindow to draw into and make it "fit in"). But not all macOS apps have large title bars, but they are in-fact decorating themselves, thus they are using client-side decoration. This is also true for native-wayland GTK apps, even that slim titlebar is being created by the app process. In KDE it's different, the window manager creates the controls, not the app, this is server side decoration because the window controls (or decorations) are created by the display server, an external process, hence the term server-side decorated. GtkHeaderbar has very limited to do with this and unfortunately a lot of terminology has been confused. Although it does require CSD support on the compositor to work properly as a widget. You can implement CSDs in any toolkit, all you need to do is add buttons that send the correct wm hints, whilst asking the compositor not to decorate you (if it does at all), this includes Qt. PLEASE understand the difference, I presume your edits are in good faith but you clearly lack an understanding of what the difference is between a client-side decoration and a fat titlebar. I also ask you read https://en.wikipedia.org/wiki/Wikipedia:Ownership_of_content because you have a history of bad article edits. You are also confused about the link you posted to the Qt issue tracker, that issue is about letting Qt draw to a GtkWindow, which has little to do with this. You claim GTK was the first on Linux (with no source), but this is not true either, because the ICCCM window hints long predate GTK3 and allow a client to ask the window server not to decorate it https://tronche.com/gui/x/icccm/sec-4.html#s-4.1.2.4 Please also read https://github.com/wayland-project/wayland-protocols/blob/master/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml#L28 86.153.245.120 (talk) 08:41, 8 June 2019 (UTC)


 * Please refrain from making factually incorrect edits, regarding GNOME not supporting CSDs before GTK 3.10, this is factually incorrect. GNOME has always let applications decorate themselves, however only in GTK 3.10 did GTK have native widgets for doing this. If this wasn't possible, screenshots like this would not exist. https://www.perfectreign.com/stuff/2009/20090614_wine_excel_2007.jpg 86.153.245.120 (talk) 13:32, 8 June 2019 (UTC)

"By window border, I am referring to the decoration that contains the window controls"

Use the correct terms! window border is part of Window decoration, not the same! if you hate confusing you should avoid misuse of words.

"Please read the link you post before actually using it as reference"

"You are also confused about the link you posted to the Qt issue tracker, that issue is about letting Qt draw to a GtkWindow, which has little to do with this."

NO! it was about hiding title bar. Although only GNOME Shell was mentioned but it is correct about all GTK-based environments, there is not difference between Qt apps on XFCE or GShell.

it seems you haven't read another link (LWN) and its quote that clearly says Qt has not implemented CSD and won't do it.

https://lwn.net/Articles/536865/ ("..... they have a flag to turn them off")

""GNOME has always let applications decorate themselves, however only in GTK 3.10 did GTK have native widgets for doing this. If this wasn't possible, screenshots like this would not exist. https://www.perfectreign.com/stuff/2009/20090614_wine_excel_2007.jpg""

WRONG! the screenshot is showing Microsoft Excel 2007 running via WINE on the Linux, which is using Ribbon (computing): "In Microsoft Office 2007, only Word, Excel, Access and PowerPoint implemented ribbons."

I was the one who created this article and added that link "Ribbon (computing)" to the "See also" section! I'm sure if I hadn't add Ribbon (computing) to the article, you never know about it!! -- Editor-1 (talk) 04:47, 10 October 2019 (UTC)

If you look carefully at the screen-shot you have linked, it has clearly a title bar! and window buttons are duplicated twice! -- Editor-1 (talk) 05:00, 10 October 2019 (UTC)

""You claim GTK was the first on Linux (with no source), but this is not true either, because the ICCCM window hints long predate GTK3 and allow a client to ask the window server not to decorate it""

GTK is the first toolkit! and ICCCM is a protocol! and its specifications are not implemented by most Window Managers: Inter-Client_Communication_Conventions_Manual. -- Editor-1 (talk) 05:29, 10 October 2019 (UTC)

See also the screenshot of TeamSpeak article, it is a Qt-based application with traditional title-bar. -- Editor-1 (talk) 11:29, 17 October 2019 (UTC)

@Editor-1 Hey. We both want to make this article good, however https://en.wikipedia.org/w/index.php?title=Client-Side_Decoration&oldid=925987914 wasn't really needed. The article as it stands misses references and is a bit confusing in its layout which no one wants.

Headerbar belongs in the GTK section, because it's specific to GTK. I think it's best to keep most of the implementation details in the implemetation section, also the Wayland stuff is quite incorrect (it's not an or).

Thanks

PlutosIsAPlanet (talk) 15:52, 13 November 2019 (UTC)

I did some smaller edits that fix up some of the more glaring issues, the headerbar bit should really go under GTK though because its an implementation detail. PlutosIsAPlanet (talk) 16:01, 13 November 2019 (UTC)

Fails Notability?
In my opinion this article fails WP:Notability and should be merged into Window decoration or Window (computing). Currently both this article and the Window decoration article are longer than Window (computing). While the trend is to separate every technical term into separate articles, I believe in this case it fails WP:Notability and is un-encyclopedic. 104.228.101.152 (talk) 00:19, 6 April 2020 (UTC)
 * Note: Window decoration was merged into Window (computing). Thanks User:Editor-1! 104.228.101.152 (talk) 15:43, 6 April 2020 (UTC)