16 ms·
GTK 3.99
- marsrover 6y agoStill waiting for an acrylic blur (or some other type of blur) to bring Gnome to parity with modern desktops.
- jaas 6y agoI don't understand what you're asking for. Can you explain?
- nightfly 6y agoTransparency with a blur effect for windows. So you can see some of the color that's behind them without all the detail. I'm... not really a fan of it. It drives me crazy in windows that terminal transparency is for the entire window (even the text!) and not just the background.
- marsrover 6y agoI don't think anyone is asking for the blur to encompass the text in a terminal. Is this a bug? I could have sworn when I used Windows Terminal that this wasn't the case, but it has been a while.
- deleted 6y ago[deleted]
- Firehawke 6y agoIf you turn on the acrylic mode, yeah, it covers the whole window. I have the preview of WT installed here and acrylic looks awful compared to how it did back in Windows 7. Probably a function of the way Microsoft wants you to use it in "modern" Windows 10 as opposed to Windows 7 as there are marked differences in how acrylic looks compared to the Windows 7 era and less configurability.
- renewiltord 6y agoThere was a time when I had a terminal with just the background transparent. I recall that. You could do it in software and even on hardware on a Via Unichrome.
- mmm_grayons 6y agoTerminal with transparent or even blurred background is very doable. I've done it on my i3-gaps and urxvt setup both with urxvt's "fake" transparency and by using a compositor.
- renewiltord 6y agoI vaguely remember Gnome-Terminal even having it. I wonder if they removed it.
- ShroudedNight 6y agoIt appears that they removed it in 3.7: https://askubuntu.com/questions/475935/did-they-just-remove-the-background-settings-for-terminal https://askubuntu.com/questions/475935/did-they-just-remove-...
- renewiltord 6y agoGlad to see Gnome's reputation for removing stuff remains.
- vetinari 6y agoIt's funny to see people on HN freaking out and, when Gnome moves a preference from one sheet in preferences dialog to another sheet, in the same dialog. I wonder, if these people even use Gnome, or they just want to join the bashing. Btw, if you do use Gnome, you can find it in Preferences | <profile> | Colors.
- 6y ago
- marsrover 6y agoActually, apparently it is going to be supported in Gtk 4. My bad, I haven't been keeping up with it. https://developer.gnome.org/gsk4/stable/GskRenderNode.html#gsk-blur-node-new https://developer.gnome.org/gsk4/stable/GskRenderNode.html#g...
- saturn_vk 6y agoThat might just be blurring a widget within a window, not a texture coming from another one
- randtrain34 6y agoCan someone point me to a roadmap/changes to be expected for GTK 4.0? I've looked on the blog and googled around, but couldn't find an authoritative source.
- chungy 6y agoIt's a serious blast to the past, and not necessarily a good one, to see versioning treated like this, where they'll pick 3.9? as a form of alpha/beta/RC phases for 4.0. I think semver (more-or-less a formalization of what was already becoming popular before semver got published) makes more sense. Go ahead and use 4.0-alpha.1, 4.0-beta.1, 4.0-rc.1 as needed. The strings still sort fine.
- bch 6y agoNetBSD does similar (major.99.iteration), and before its alpha or beta, this is where things get hashed out. It’s a reserved magic number (one hopes there aren’t 99 minor releases that would start a conflict over x.99.y) so that sucks (being “magic”), but it seems to work out in practice.
- layer8 6y agoThe problem is that "4.0" sorts before "4.0-alpha.1". Not saying that 3.99 is better, but something's gotta give.
- deathanatos 6y agoIf you're lexicographically sorting, maybe? But if you're doing that, 3.10 and 3.2 won't sort correctly, either.
- Lammy 6y agoYou can write a locale for LC_COLLATE to make pretty much anything sort any way you'd like :) http://www.unicode.org/reports/tr10/ http://www.unicode.org/reports/tr10/
- itp 6y agoNah, this was never really about lexicographic sorting. Pre-semver, there was general consensus between systems like dpkg and RPM about how version numbers worked. This is a bit of a simplification, but it roughly works out like this: * Split version number into version numbers separated by non-alphanumeric components (e.g., 3.10.2 becomes (3,10,2) and 3.2 becomes (3,2)). * Compare two versions item by item numerically (in this case, 3==3 but 10 > 2 so 3.10.2 is newer than 3.2). This is a massive oversimplification, and if you're curious you can read more at https://fedoraproject.org/wiki/Archive:Tools/RPM/VersionComparison https://fedoraproject.org/wiki/Archive:Tools/RPM/VersionComp... for the gory details. Source: long ago I worked at a company named Ximian that shipped a software update product that worked on systems using both RPM and dpkg, and I had to deeply understand this problem space.
- ohazi 6y agoIs GTK 3 -> 4 expected to be as big a clusterfuck as 2 -> 3? I'd really rather not go through all that again.
- nfoz 6y agoWhat were the problems with this transition?
- madboston 6y agoThere are not enough words I can write for this.
- RedShift1 6y agoAPI changes every minor release.
- vetinari 6y agoAny specific examples? According to https://developer.gnome.org/gtk3/stable/gtk-migrating-3-x-to-y.html https://developer.gnome.org/gtk3/stable/gtk-migrating-3-x-to..., the changes were pretty minor.
- ohazi 6y agoThey broke enough of the theming API on every minor release that for a few years it was essentially impossible to run any GTK theme other than the GNOME sanctioned default theme (Adwaita). Adwaita was updated in lock step with GTK minor releases (by the same developers), and unaffiliated theme builders were left with periodic drops of subtly different behavior and no notes or tools on how to update their themes. It drove many of them away. This was apparently a part of a deliberate strategy around GNOME branding. The GNOME developers wanted all GTK apps to have one consistent look-and-feel, they wanted people to associate this look with GNOME, and they wanted people to start thinking of GTK apps as "GNOME Apps." More recently, they crippled existing functionality for server side-window decorations in Wayland (which literally every other toolkit supports), because GNOME decided to use exclusively client-side decorations. They vetoed all of the reasonable seeming workaround proposals, essentially telling developers to either use GNOME's decorations or to manually draw the close/maximize/minimize buttons. Honestly, all of the crap that systemd gets should be redirected towards GTK/GNOME. I've never seen a group of developers act in such bad faith.
- AlexMax 6y agoGood for them. Does this mean we're going to get a GNOME 4 as well? I'm quite curious to see what neat things the new version of GTK enables in practice.
- matthiasv 6y agoWhile the toolkit certainly has an influence on all core apps that are part of GNOME, the shell is entirely independent of GTK. So, highly unlikely there will be a GNOME 4 any time soon.
- IAmLiterallyAB 6y agoEh I bet there will be. Every Gnome/GTK version until 3.22 had the same version number and were released at the same time. The only reason that stopped is because GTK 3.22 was supposed to be "stable" and "the last GTK 3" version while Gnome still wanted to do updates.
- deleted 6y ago[deleted]
- klysm 6y agoDoes the .99 versioning irk anybody else? It seems like a very inelegant solution.
- ordu 6y agoUsing negative numbers (like 4.-1) would be worse, because of version string parsers using '-' as a delimiter.
- Jerry2 6y agoAnyone know if they've finally added thumbnails aka "icon view" to the file picker?
- Shared404 6y agoThat would be an issue with the GNOME DE, not the GTK toolkit.
- ptx 6y agoWhy? Did they remove the file picker dialogs from GTK?
- michaelmrose 6y agoIt has never had that feature.
- deleted 6y ago[deleted]
- ptx 6y agoThis[1] feature? The current file dialog was added[2] with GTK 2.4 in 2004. Before that, before GNOME existed, GTK definitely had file dialogs - everyone used to complain about the design. [1] https://developer.gnome.org/gtk3/stable/GtkFileChooserDialog.html https://developer.gnome.org/gtk3/stable/GtkFileChooserDialog... [2] https://mail.gnome.org/archives/gtk-devel-list/2004-March/msg00195.html https://mail.gnome.org/archives/gtk-devel-list/2004-March/ms...
- traverseda 6y agoNo, thumbnails on the file picker https://gitlab.gnome.org/GNOME/gtk/-/issues/233 https://gitlab.gnome.org/GNOME/gtk/-/issues/233
- 6y ago
- c-smile 6y agoGTK still misses: 1. Anything close to AdjustWindowRectEx() function. See: https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-adjustwindowrectex https://docs.microsoft.com/en-us/windows/win32/api/winuser/n... 2. MoveWindow(window,rect) where rect is window frame rectangle. Instead GTK has 6 other functions that do something close but no one of them do MoveWindow. See: https://stackoverflow.com/questions/58103333/set-frame-position-of-decorated-gtkwindow-on-screen https://stackoverflow.com/questions/58103333/set-frame-posit... Windows has these functions, MacOS has their direct equivalents, but GTK does not have such, IMO basic, functionality. Will we have anything like that in GTK4?
- chrisseaton 6y agoI think this is because of the separation between window manager and GUI toolkit. Which I think is a terrible thing to have separate, for the functionality reasons you're illustrating. But that's why.
- dima55 6y agoThe application cannot decide where its window ends up. Every used a tiling WM?
- chrisseaton 6y ago> The application cannot decide where its window ends up. Yes that's how it works. I think there may be some APIs that let you 'hint' to the WM from the application, but it's possibly entirely up to the WM how to interpret those hints. > Every used a tiling WM? Sorry not sure what you're asking here. A tiling WM yes could possibly ignore the hints or interpret them in its own way. But not everyone is using a tiling WM, if that's what you're asking?
- ComputerGuru 6y agoThat should be on the person using a tiling window manager. The whole problem with development this side of the mobile revolution is the regression not to the mean but to the least common denominator and it's what made Windows 8 so horrible. If a WM might exist that chooses to ignore the positioning call, that doesn't mean everyone should be robbed of that functionality.
- techntoke 6y agoTelegram has shown the enormous potential of Qt with the latest update. Not that I have a horrible time with GTK, but Qt just feels better and lighter overall. qutebrowser is another example of the amazing potential of Qt.
- saagarjha 6y agoPersonally, I much prefer GTK apps over Qt ones. What makes you think that Qt does it better?
- rleigh 6y agoQt doesn't even compete with GTK+, it's in an entirely separate class which GTK+ will never reach. It's an entire application development framework of over a dozen libraries, only a few of which are related to GUI functionality. And for the libraries where there is overlap e.g. QtCore and QtWidgets, the Qt design and functionality is again such a step up that it's not even worth comparing. GTK+ is a simple and limited X11 toolkit. It can be visually attractive. But it's not something you would chose rationally based upon features, code quality, code maintainability or having a good developer ecosystem and support. Because it would come in last place on every metric, unfortunately. There are very good reasons people don't use GTK+ for commercial projects. Or even open source projects, unless they haven't learned the hard way yet. Fundamentally: its developers don't prioritise the needs of the very application developers who should be their primary customers. (I used to develop open source and commercial GTK+ applications. What a huge waste of time and effort that was. Utterly soul destroying how many unfixable bugs I had to find and work around.)
- marktangotango 6y ago> It's an entire application development framework of over a dozen libraries, only a few of which are related to GUI functionality. Do you not consider GLib and associated libraries to also fulfill this application development framework role?
- 6y ago
- johannes1234321 6y agoAnybody can share some recent experience with Gtk on Windows? In previous versions it worked, however results where quite "special" from a Windows point-of-view. Did they manage to get a more native feeling? Or is it still better to use wxwidgets on top? I have some toy Qt projects for non-technical users, but with recent licensing stories around the Qt Company I'm looking at alternatives.
- nyanpasu64 6y agoI tried gtk-rs on Windows last year (2019). Everything about it was alien. - The theme was Adwaita. https://github.com/B00merang-Project/Windows-10 https://github.com/B00merang-Project/Windows-10 claims to be a Windows 10 GTK theme, but doesn't feel like Win32 to me. Win32 is mostly gray (with some white elements), while this theme is white. - The title bar buttons were "missing images" because vcpkg's GTK installation forgot to include images. - Using ShareX to Ctrl+PrintScreen (region screenshot), then clicking on a GTK window, included the shadow around the window. The shadow was custom-drawn, not delegated to Windows. - Dragging a GTK window to the side of the screen produced custom-drawn blue rectangles, not native Windows Aero Snap. Aero Snap was custom-drawn.
- johannes1234321 6y agoSo still only an option for porting few special applications for making them available at all and nothing for building applications purposely cross platform.
- edsac_xyzw 6y agoWell, most of QT libraries are LGPL, therefore you don't need a commercial license for a non open source project as long as you dynamic link against the Qt library and don't static link against it. On Windows it is easy to pack an application with all shared library dependencies, all you need is copying the shared libraries (*.dll files) to the executable directory. Unlike on Unixes, on Windows, the loader searches first the dependencies at the executable current directory or in directories listed in PATH variable. Other alternatives are: WxWidgets; MFC - Microsft Foundation Classes that has GUI builder in Visual Studio IDE; Borland VCL - Visual Component Library; Sciter library which allows creating the GUI in html and has a C API. Another way is to build the application on top of Win32 GUI API that is well documented and has lots of examples, unlike X11-Xorg (X Windows System) used on Unixies, such as Linux distributions or BSD variants.
- pxi 6y agoWhat a bargain! All that amazing software for just $3.99 :) But seriously, thanks folks. Enjoying your stuff every day
- qalmakka 6y agoThe part of GTK+ I've always hated the most is how much it relies on GObject, which is probably one of the worst ideas ever conceived by mankind. Reinventing a whole object system using C and shitload of macros is such an aberrant idea I cannot even start ranting on why it's an utter abomination. The fact it was born mostly from the hate the GNU project always harboured for C++ is what has always bewildered me the most. I understand that C++ in the nineties was a steaming pile of manure, but basically reinventing a poor man's copy of Objective-C just because they desperately wanted to write their stuff in C, and nothing else, is just too much. And for what? GCC was basically the reference implementation of an Objective C compiler, a language that basically boils down to an object system hastily glued on top of C. I don't think it would have been so unreasonable to use that instead of rolling their own... I guess they had their reasons for not doing that, or not cooperating with GNUstep for that matters. The irony is that has led to the creation of a million language bindings, such as Vala, Gtk#, PyGTK, Gtkmm, gjs, ... just to lower the massive learning curve of writing GTK applications in C. This is something Qt has clearly never struggled with, given that I've yet to see a relevant Qt app not based on C++ or (recently) QtQuick.
- fulafel 6y agoGObject enables high level language bindings. They are an end goal, not a symptom.
- rjeli 6y agoI mostly agree with you, whenever I want to put a simple native linux gui on top of some tool I'm disappointed by the difficulty of the GObject api. However, one advantage is that the C abi hasn't budged as the binary lingua franca. The C++ abi can change, but that only happens every decade or so, so it's not that bad. The worse part is that most FFI libraries always support C perfectly and C++ is always "experimental". So you can quickly throw together a library for a language that wraps GTK without worrying about the ABI. The downside is, obviously you want to smooth over GObject in MyCoolPyGTK, so each library develops its own API which you have to learn over and over, and you end up with 12 tabs open of the shoddy MyCoolPyGTK docs, GTK docs, GObject docs, and reverse engineering how they talk to each other behind the scenes. /rant
- Const-me 6y agoI use it as needed, but I think it’s way too complex overall. Here’s an example: https://github.com/Const-me/Vrmac/blob/master/RenderSamples/09-VideoPlayer/GTK.cs https://github.com/Const-me/Vrmac/blob/master/RenderSamples/... Win32 equivalent: https://github.com/Const-me/Vrmac/blob/master/RenderSamples/09-VideoPlayer/Win32.cs https://github.com/Const-me/Vrmac/blob/master/RenderSamples/...
- dilandau 6y agoGTK is openly hostile to 3rd party developers and theme makers, ever since gtk became synonymous with gnome (around 3.0). This is going to be a nightmare for open-source developers and distros, which will likely be forced to support both for a long time to come. Me? I'll keep writing tcl/tk applications. It's stable, cross-platform, and did I mention it's stable?
- deleted 6y ago[deleted]