[HN Gopher] Exploring System76's New Rust Based Desktop Environment ___________________________________________________________________ Exploring System76's New Rust Based Desktop Environment Author : Parseus Score : 293 points Date : 2022-01-13 18:43 UTC (4 hours ago) (HTM) web link (blog.edfloreshz.dev) (TXT) w3m dump (blog.edfloreshz.dev) | dnautics wrote: | I wanted to be able to move the applet bar to not the top of the | screen, because I have two monitors and I like to spread vscode | over two monitors -- top section for code, bottom section for | console (for my purposes vscode console is, sadly, strictly | better than the builtin linux console because it | opportunistically makes IO output that references file:line | clickable). I was able to do this in linux mint, but not in | PopOS. | NotVerstappen wrote: | I think I would've tried Pop!_OS by now if not for the name - I | know it is totally irrational, but having a ! in there really | pisses me off. | CoastalCoder wrote: | It's not just you. | | I have trouble going near CockroachDB because of its name. It's | absolutely unjustifiable from an engineering perspective, but | the effect (for me, at least) is real. | rectang wrote: | My favorite example of reasonable name-inspired revulsion was | an outfit called "Ink Competent Printers". | nonameiguess wrote: | I always took that to be a reference to "it's so robust, | it'll survive nuclear winter," which is pretty cool if true. | The last database standing after all other species die off. | wtetzner wrote: | Maybe they should have named it "TwinkieDB". | dTal wrote: | Fun fact: the supposed extreme hardiness of cockroaches is | something of a myth, and in particular they are not fond of | cold (hence their affinity for human domiciles!) | | They should rename to TardigradeDB. | jakear wrote: | Their nuclear hardiness however has been experimentally | validated [1], though flour beetles survived even better | than cockroaches. | | Either way, both using CockroachDB and participating in | this thread put cockroaches on my mind a lot more than | I'd really prefer. +1 for TardigradeDB. | | [1]: https://www.youtube.com/watch?v=LxCYQvGNoGY | Okawari wrote: | I have a few of those projects as well. | | MongoDB because mongo is a derogartory word in my language. | It is an abbreviation of Mongoloid, was (apparently) used to | describe people with Down syndrome, thought I've never heard | it used for that. It's more colloquially used to describe | people who act wierd or something that are stupid or made in | a wierd way. | | Svelte, the javascript framework is also something I've kind | of avoided so far due to its name. While it doesn't really | mean anything in my native tongue as far as I know, it is a | very plausible word/spelling and it kinda just sounds | unappealing. I can't help but reading it like that either. | choward wrote: | Same here. I know naming things is hard but they went out of | the way to make it extra terrible. Stick to letters and maybe | numbers if you want the version in the name. | Darmody wrote: | My coworkers joke about me using a OS called Pop. I don't mind | it, I even like it, but I have to admit that Pop it's a very | ugly name. | dnautics wrote: | the mere fact that you call it pop tells me you're not ready | unethical_ban wrote: | It makes it easier to search for support. | sedatk wrote: | Not just that, the bang before the underscore makes it extra | painful for me as a programmer. It screams "syntax error." | rpdillon wrote: | Totally agree. I got over it and installed it and was stunned | that it was as good as it was. Now it's installed on pretty | much every machine I own. I recommend trying it! | 999900000999 wrote: | But is it going to be faster, what I really want out of a Linux | desktop is for it to look nice, but not eat up in indefinite | amount of RAM. | chungy wrote: | "There's no visible distinction between the window title bar and | the body of the window." | | Strikes me as a bit amusing, as this was the case also in early | versions of GNOME 3. I believe it was abandoned because non-GNOME | apps (or more specifically, ones that didn't follow the GNOME | HIG) had a visible distinction and greater consistency was | desired. Changing GNOME's own look was the way to do so. | Animats wrote: | Or between what's clickable and what isn't. | | (New dark pattern: popups which have an X box to dismiss them | being harder to dismiss. First, the box around the X | disappeared. Then, the X moves to different places in the box. | (Bing does this for their house ads.) Then, the active portion | of the X shrinks to make it harder to hit.) | chungy wrote: | Also in the earlier versions, the area you could click to | move a window around was significantly larger. Down into the | menu bar and toolbars. | | That pattern did get scaled back. A few GNOME apps still do | it, but most only allow it on the title bar now. | bee_rider wrote: | None of that is handled by the window manager though, right? | Animats wrote: | No, that's web. But this new window manager seems designed | to bring web-like behavior to the desktop. | anthk wrote: | I don't like Rust, but between Gnome's JS abortion lagfest and | Rust, please, use the second. | brink wrote: | I don't get to meet people who dislike Rust very often. Why | don't you like it? | qsdf38100 wrote: | my 2 cents: rust evangelists, the promises of the end of | bugs, and how perfect the language is for any use case... | that makes my BS detector go off. Everyone has to love Rust | nowadays, it sounds like a cult or something. It makes me | hate rust without even having tried it, which is dumb and | sad. | kangalioo wrote: | Yep | | Whenever a new tool appears whose existence is justified by | being "written in Rust" I cringe a little. I'm a happy Rust | user, but I wish people would use the language to make cool | stuff, not just spread the language for the sake of the | language | gefhfffh wrote: | Don't be sad. You realizing that your emotions get in your | way is already half of the solution. M | [deleted] | [deleted] | Koshkin wrote: | Would you rate KDE (Plasma) better? | anthk wrote: | It's good, but I'd prefer XFCE as a balance between | minimalism and functionality. | | I use fluxbox + rox but XFCE would the closest DE to my | setup. | cosmojg wrote: | Yes. Not only does it run better, but it's also a better | managed project. | LeoPanthera wrote: | I use Plasma. Of all the DEs it is probably the most buggy, | but I continue to use it because it is the only one that | doesn't force an ideology onto me. It is so insanely | configurable that you can make it whatever you want. | | It's also still mouse-first, and has not been redesigning | itself for touch screens. | blinkingled wrote: | Not sure if you have tried recent versions of Plasma but | they have made a great deal of progress on all fronts | including fixing a lot of bugs. I don't encounter any on | day to day basis on Tumbleweed which gets you the latest | version. | LeoPanthera wrote: | I am in fact running Tumbleweed as well. | | Maybe it's just because I don't live in the happy path | but I still encounter bugs daily. | Narishma wrote: | Here's a small one I encounter on a daily basis on | Tumbleweed: the update notifications scrolling is broken. | It scrolls the list of updates super slowly and goes back | to the top when it reaches the end instead of just | stopping. | | Another small one: I've set the panel to auto-hide. It | works fine for the most part but occasionally it will | stay visible until I minimize and restore any window. | troyvit wrote: | The only nit I'd pick is that while it might be mouse-first | KDE is also amazingly usable and configurable via keyboard, | especially for a DE that looks so vanilla out of the box. | apatheticonion wrote: | Great to see! | | Selfishly, as a MacOS refugee and someone who has an on/off | relationship with using desktop Linux as my main (and a desire to | use it daily); I would love it if there was a shameless clone of | the MacOS DE for Linux. | | I don't care for customisation, I just want a sensible default | that I can get up and running with immediately. | pxc wrote: | > I don't care for customisation, I just want a sensible | default that I can get up and running with immediately. | | Why's GNOME not good enough for this use case? | apatheticonion wrote: | Gnome41 on Debian Bookworm is my current setup and am | actually typing this comment from there. | | I use it about once a week and as far as I can tell, Gnome40+ | is giving off signs that I might be able to use it as a daily | driver (for work). | | Looking forward to the updated Files application and whatever | else is coming in G42. | | That said, there are a lot of design choices that cater more | to mobile form factors and the desktop experience suffers as | a result. | | Then there are non DE related issues like application | installation. Chromium has bizarre window and mouse | performance issues related to Wayland. Graphics card drivers | are difficult to install, even as someone who knows how to | read documentation. Flatpak has a permissions structure that | doesn't always make sense for certain applications (like OBS, | Discord, IDEs) and installing applications using a package | manager is very hit and miss (e.g. OBS is broken in Debian | Bookworm when installed via apt because of a qt5 dependency) | | I don't mean to sound negative - I only complain because I | love Linux and want to be able to go to my friends and | colleagues and say "you can use this" - feeling confident | that they will have an experience on par with MacOS. | yepthatsreality wrote: | > I would love it if there was a shameless clone of the MacOS | DE for Linux. | | Elementary OS | apatheticonion wrote: | It's a great approximation, but I haven't had a lot of | success using Elementary. | | The best experience I have had so far is Gnome41 on Debian | Bookworm (my current setup which I log into about once a | week) - though the DE has some design choices that cater more | to mobile desktop environments at the expense of desktop | usability (I don't want to appear ungrateful towards the | volunteers developing it, it's a great project and I know | critique is easy). | | I'm talking about a complete rip off. Things like per-window | virtual desktops, screenshot/video recording via hotkey. The | global menu. The rock solid stability. Window decorations, | spacing, fonts and overall feel. MacOS's DE _feels_ really | solid. | gorjusborg wrote: | tannr wrote: | Go-go System76, life has to be fun why to keep suffering? | Mikeb85 wrote: | Why aren't they working on making a laptop in-house? This seems | like a massive diversion and waste of time... | wmf wrote: | They clearly don't have enough money to change their hardware | strategy. | jjice wrote: | Pop_OS is a large product of theirs, even if it's open source. | It's one of the killer parts of the System76 line up in my | opinion. | Mikeb85 wrote: | How? Is anyone going to buy a System76 laptop over a Dell XPS | laptop or a ThinkPad because Pop!OS comes pre-installed | instead of Ubuntu/Fedora? | deadbunny wrote: | Probably not but I can easily imagine people currently | using Pop considering System76 for their next laptop. | skavi wrote: | Looks like the Android 4.0 UI with a bit of neumorphism thrown | in. I really don't like it. I hope that's not the style they end | up with. The GTK window conveys the same information more clearly | (and it looks better). | michaelmrose wrote: | Looks like it is already better than gnome settings. | | >The search also displays a list of all the settings that match | the search criteria and not only where they're located as GNOME | Settings does, this makes it easier to change your settings | without having to leave the section you currently are in. | | >the search bar is available at the top of the navigation view, | this is problematic when inside nested menus as the user has to | go back to the begining to access it, but in COSMIC it's | available everywhere in the app, no matter how deep inside a | menu the user is. | smoldesu wrote: | Definitely. When I saw the new settings app my jaw hit the | floor, I think GNOME's team is going to have a serious fire | lit under their ass now that there's a new kid in town | finessing their toolkit like a pro. | Andrew_nenakhov wrote: | Gnome team is busy killing their projects for so long, that | they won't even notice. | addicted wrote: | Does that have anything to do with the DE though? Isn't that | a change that could have simply been made to the Gnome | settings itself? | zkldi wrote: | That padding is genuinely terrible. | diskzero wrote: | Original Nautilus and early GNOME developer here. I am very out | of touch with what is current, so excuse some possibly ignorant | questions. How is this a Rust-based environment if it is based on | GTK? I assume GTK is still essentially the C-based GTK we used | with some improvements. | | Why is this called Rust-based? I'll do some more research but | would like to get some insight from more knowledgeable sources. | [deleted] | Narishma wrote: | GTK is just a library, you can use it from any language it has | bindings for. | jandrese wrote: | The issue is that Rust is extremely opinionated at to how | code should be structured and there is going to be | considerable interface friction with a system that is built | around aliasing data every time there is a callback. | acdha wrote: | Do you have an example of that friction? Looking through | the docs at e.g. https://gtk- | rs.org/gtk4-rs/stable/latest/book/hello_world.ht... it | doesn't seem that bad but not having used it I would be | curious how it works out once you're building a serious | app. | jandrese wrote: | Things are already getting quite hairy by page 4[1] of | that link. And that example is showing data completely | owned by the GObject. If you need to pass a mutable | reference to third party data to a GObject it's not going | to work in Rust. Imagine a button that you click to | change the contents a GtkTreeModel connected to a | GtkTreeView--you're going to need to work hard. You're | going to write a fair bit Rust specific glue code to work | around these issues. | | [1] https://gtk- | rs.org/gtk4-rs/stable/latest/book/gobject_memory... | rollcat wrote: | Asking as someone who's never spent significant | time/effort working with Gtk/GObject in C (only a bit in | Python). Isn't it still generally desirable to have the | compiler yell at you, if you can't convince it you know | what you're doing? Rather than allowing the possibility | of memory corruption. | | I do agree that the code in the example is far from | beautiful. I wonder if we were to redesign GObject from | scratch, if we could make interfacing with Python, Rust, | JS, etc a bit less hairy. | diskzero wrote: | Understood. I have made significant contributions to GTK. My | contributions possibly had memory leaks or memory corruption | issues that will bring down the higher Rust layer. I am | trying to understand the purpose of the Rust layer. It is | fine with me if it is because Rust is interesting, but what | is being presented doesn't seem like a Rust desktop | environment _to me_. | IshKebab wrote: | It's not 100% Rust but I think you would expect that GTK | itself is fairly well tested - probably much better tested | than any new app you write that uses it, so it is still | worth it to write that app in Rust. | | And it has to be said that memory safety isn't Rust's | _only_ compelling feature. It also has a pretty great build | system, a decent library ecosystem, a very strong type | system which gives you an "if it compiles it works" | experience surprisingly often, probably the best | multithreading system, etc. etc. | ranfdev wrote: | I've made some small contributions to gtk-rs-core (the | library providing rust bindings to glib, gdk...). | | While the lower layers written in C do impact the overall | safety, the bindings are made to be as safe as possible. | | For example: every glib parameter that may take NULL in | Rust becomes an Option<T>. | | GObject's methods are defined on traits and checked by the | Rust type system. There are also some macros to provide an | easy and safe interface to the GLib type system. | | All of this directly applies to gtk-rs. | | Overall, the bindings are well documented and with many | examples. There's even a book. Also, there's a great | community around them. | | Bindings website: https://gtk-rs.org/ | Taywee wrote: | The big selling point of Rust in respect to these kinds of | scenarios is that it's very often that a C or C++ library | says things like "You must not call function CallAfterFoo | before function Foo is called", or "Once you call | DestroyObject, that object must not be used again", or "You | must not call SomethingDangerous while a | ResourceOwningObject exists", and so on and so on. | | In well-tested libraries like GTK, SQLite, Curl, and such, | they are often quite robust just based on having been | heavily developed and tested by many people over a very | long time, and there are still ways that they can be | misused and abused that are usually well-documented and | warned against. A well-developed Rust wrapper actually | makes it impossible to misuse one of these libraries from | Rust, and therefore better enables a much smaller team of | developers to write secure, robust applications. Rust can | guarantee these documented restrictions at the type level | and even make impossible many error conditions. | | So even though the UI is GTK, Rust still enables developers | to write more robust applications with less fear. | Personally, I find that GTK with Rust is a very pleasant | experience. It's less about guaranteeing that the lower | libraries have no bugs and more about preventing people | from interacting with the libraries in dangerous or buggy | ways. | pxc wrote: | I agree! I think they're just using Rust because they'd | rather use it than C, not because they need safety | guarantees for the DE applications. | amarshall wrote: | The answer seems to be that the applications [1] are written in | Rust using gtk-rs [2] (Rust-bindings for the GTK libs). | | [1]: https://github.com/orgs/pop- | os/repositories?q=&type=source&l... | | [2]: https://gtk-rs.org/ | sprash wrote: | Also GTK4 means they are still at the mercy of GNOME which | changes APIs often and without consideration for third parties. | | Wasn't the whole point of the project to emancipate themselves | from GNOME? If they rely on GTK they will fail. | cyber_kinetist wrote: | Then they would need to either | | 1) do the yak-shaving and create a whole new GUI stack in | Rust (which would be an absolute boon to the Rust community | but will be a tremendous effort), or | | 2) switch to Qt (and basically become KDE) | | Thinking about it, maybe Sciter (https://sciter.com/) would | be an okay foundation to build a DE in (lightweight stack, | flexible theming, solid Rust bindings). But then it isn't | open source (only the interface is, you need to pay for | source access), so maybe not. | kaba0 wrote: | Regarding 2, aren't they basically gnome if they are using | gtk, as per your logic? | CameronNemo wrote: | _create a whole new GUI stack in Rust_ | | Is there a reason iced is not good enough (other than not | being accessible)? | | https://iced.rs/ | | https://github.com/iced-rs/iced/issues/552 | pure_simplicity wrote: | No stable release yet, and you generally want your DE to | be the most dependable bug-free part of your software, | especially if you are selling hardware with your own | software pre-installed. | | but looking good so far, gonna check this out for myself. | I was rooting for azul, but iced seems to be further | ahead | gnud wrote: | I'm assuming Iced has no A11 support (these projects | never do). Probably no RTL support. Possibly no reusable | "system" widgets like open/save dialogs. | CameronNemo wrote: | Can you clarify what you mean by "these projects never | do"? Your comment comes across as dismissive. Especially | since I already noted that it was lacking a11y in my | original comment. | | Anyway although a11y and i18n support have not been | implemented, they are planned. | | https://github.com/iced-rs/iced/issues/250 | mixedCase wrote: | With the transition from version 3 to 4, GTK is now more | focused on being a generic UI toolkit, with GTK4-based | libadwaita now being the place to be for GNOME-specific | patterns. | sprash wrote: | History and experience tells a different story [1]. Never | trust a library that is maintained by GNOME. | | 1.: https://github.com/thestinger/termite | ijidak wrote: | I know we developers love our languages. | | But I'm always skeptical when underlying language choice is | featured prominently as a selling point for any new project. | | It tells me, this is a technology-first, users-second enthusiast | project. | | And thus, I'll be surprised if it tackles the deepest issues | users need solved. | | That doesn't mean it isn't cool as a proof of concept for a new | or popular language. | | It just makes me question to what extent it's going to solve the | deepest problems with similar or older projects it is competing | against. | stjohnswarts wrote: | It's not. They use rust for a LOT of things at system76 and | it's their preferred language on starting new projects. It's | not a "proof of concept". This is on their roadmap to get done | and be used as the default DE for pop. | SkyMarshal wrote: | _> But I 'm always skeptical when underlying language choice is | featured prominently as a selling point for any new project._ | | _> It tells me, this is a technology-first, users-second | enthusiast project._ | | _> And thus, I 'll be surprised if it tackles the deepest | issues users need solved._ | | Some of the deepest issues that users need solved are ones that | Rust was designed to solve at the language and compiler level. | | 1. System stability and memory efficiency, zero or fewer | crashes due to memory-safety or thread-safety problems. | | 2. Security and assurance via the elimination of entire classes | of attack vectors like buffer overflows. | | 3. Highly performant, responsive applications that are a joy to | use. | | Solving problems at the compiler level eliminates the reliance | on fallible programmers to do so. People also tend to discount | maintaining those solutions over years of dev team turnover, | startup failures, etc. Building those solutions, capabilities, | and constraints into the language itself makes maintenance over | the entire product lifecycle more consistent. | | It's like buying a Toyota, you know from the brand alone that | you're getting a certain baseline level of reliability, | maintainability, durability, and longevity. Rust is like the | Toyota of programming languages - it can produce many different | types of cars/programs, but they're all guaranteed to come with | a baseline level of assurance, and to eliminate common classes | of problems that degrade the end-user experience. | | It may not make sense for other languages to be prominently | featured as a selling point, but Rust is an exception. | nine_k wrote: | For a relatively new language that still is not everywhere it's | a good example of its viability for such a project. Also, it | either testifies the richness of the ecosystem, or promises | that it will get enriched in the process, because the | development appears to be open-source. | megumax wrote: | From what I know, system76 didn't shill cosmos as a rust DE, | the only reference to Rust being done in some reddit comment. | Most PopOS users don't know what Rust is, so it wouldn't make | sense to talk about Cosmos as a Rust project. | | Now, 90-95% of users use GNOME or KDE, having some competition | from a `new` GTK4 DE can't be bad, so I would like to see | Cosmos gain attention, and maybe be ported to other distros. | pxc wrote: | System76 is just using Rust for COSMIC because the existing | engineering talent here already use and like it for other | things they work on at the company, like their device | firmwares. It's a good common/familiar language for the teams | they have. I don't think they're expecting Rust to do any magic | for them. | lallysingh wrote: | System76 isnt making it about the implementation panguage: | https://blog.system76.com/post/648371526931038208/cosmic-to-... | | A Ctrl-F rust showed no results. | | This post's author just likes Rust. | magicjosh wrote: | Ah just to clarify, the blog post you referenced is from this | past June. COSMIC based on Rust is a new development that | System76 has not blogged about yet besides mentioning it in a | Reddit post. | | As a System76 fan, I too am curious to see what the point is. | I have no idea what Rust is nor do I care. | mdoms wrote: | "Written in Rust" is simply not a good enough reason to adopt | something like this. It's visually identical and functionally | inferior... so what's the big deal? | trulyme wrote: | Nice, exactly what Linux needs the most - another desktop | environment! | | Sarcasm aside, it does _look_ pretty good. But between | indistinguishable window title bars and yet another settings app | (wanna bet it will miss some config so users wil still need to | run one of the others?), I think I 'll pass. As far as I'm | concerned this problem was solved ages ago, so I simply don't | understand why the designers keep mucking with it. Maybe I'm just | getting old. :-/ | azinman2 wrote: | Gotta keep up with the latest Apple designs! :) | smoldesu wrote: | I for one would be satisfied to miss the Big-Sur-ification | boat... | capableweb wrote: | > Nice, exactly what Linux needs the most - another desktop | environment! | | One could argue that because no one desktop environment has | taken over the Linux mindshare, we haven't invented _the one_ | yet, so people keep trying. It 's not until something takes | over the mindshare (like systemd did), we can all unity and | start improving upon the same base. | wmf wrote: | I'm pretty sure there will never be The One due to political | and psychological factors. Many people use Linux specifically | because there's isn't One way to do things. | 2OEH8eoCRo0 wrote: | I'd argue that the battle over desktop environment supremacy | leaves desktop Linux less compelling overall. There is so | much choice that it's paralyzing and new users constantly | second guess themselves. You have thousands of developers | doing their own thing rather than working together to make | mainstream choices like Gnome more viable. | michaelmrose wrote: | Gnome doesn't want thousands of developers implementing | their own visions for their projects and others don't want | to donate their time to implementing gnomes vision. | | The proper thing for them all to do is all implement their | own visions and people to use or work on what they please. | | Nobody asks why Tesla, Ford, and Toyota are wasting | everyone's resources by being different company. Nobody | suggests having different car manufacturers is paralyzing. | Nobody opines that once the perfect car is invented we can | just deprecate the rest because those would all be silly | positions. | | The car market and computer uis are an evolving | multidimensional entities whose evolving product lines are | and have been dependant upon many parties pulling in | different directions. | | It's like looking at only a duck and a pond and asking why | the universe couldn't have just made a duck because it | would be an ideal choice for that place and time. Of course | it couldn't possibly work like that because arriving at | that exact solution without intermediate steps would be | impossible and besides the duck is no good in the desert or | tundra. | | Also gnome is so flawed in so many ways from leaking memory | due to unfixable mismatch between js and compiled code, to | nonsensical handling of multiple desktops, to add-ons that | both rely on monkey patching your desktop due to lack of | addon api and can with a single crash kill your whole | session, to hostility towards themeing, to ugly header | bars, to hostility towards support for non gnome desktops. | | It is a worst in class solution. | [deleted] | anthk wrote: | A lot of Windows users loathed Windows 8 and installed classic | shell like crazy. | | And I'm sure zillions of people would pay in order to have a 3D | like shell a la Windows 98, or Windows XP/Net theme for a more | modern look. | keltor wrote: | It "looks" good because so far all it is, is recreating GNOME | running in PopOS while using the Rust GTK4 bindings. | lawl wrote: | I honestly don't quite understand what System76s intentions with | COSMIC are. To me it feels like a regression from the previous | gnome and i've kicked their plugins to get a regular gnome back. | | It just... Doesn't do anything my custom openbox or i3 setups in | the past didn't do (imo better). Nor is it better at being gnome | than gnome. | | And now that i'm getting old and gotten used to stock gnome it | just seems like it makes me change my workflow again for no good | reason. | mstipetic wrote: | Do you really not understand that most people don't want to use | custom i3 configs? | lawl wrote: | I do, as i said, i'm getting old and use stock gnome these | days, because i don't want to maintain custom configs for | everything anymore. | mkdirp wrote: | Right. And so Pop!_OS gives you a decent tiling window | manager, with sane defaults, without having to spend hours | on customising your configuration. What's more, the tiling | they provide is an optional feature. You can enable and | disable it at any time without messing with you config for | hours. | lawl wrote: | If its good or not is a matter of taste in the end, but | not the entire point. It also hijacked Super+L which was | screen lock (like on windows). | | And then cosmic was even worse by changing the behavior | of the super key completely. | | Both of these things broke my workflow for things i never | asked for. | | I like pop and their polish compared to ubuntu [0]. I | really hate it when software breaks my workflow. | | [0] https://news.ycombinator.com/item?id=28904171 | Shared404 wrote: | This is my thing. | | I have machines where I run Alpine with sway customized. I | have had machines where I've run without a DE at all. I've | customized things that weren't meant to be, and not | customized things that were. | | But if I want something where I can walk up to any somewhat | modern machine (currently typing this on an old Alienware | running pop), and install an OS that gives me an i3-like | environment with no extra work? Pop is _fantastic_. There are | things that I would do differently. But they 're minor and | being able to just go is worth a _lot_. | pkulak wrote: | I know that open source and Linux in general don't need/want | another DE, but selfishly... I really want System76 to succeed. | They give me the same kind of feeling I had when Apple was | kicking butt in the early 2000s. And I think that for them to | become a general-audience company, they need to really own more | of their software. They have some great ideas, and they've | already plugin'ed Gnome to within and inch of it's life; it's | time to move out on their own. And it's not like a new DE means | apps won't work. DEs are just the window dressing and computer | management. | | What I really wonder about is Wayland support. Is this going to | be a brand-new DE that's X only? That would be a real shame. I | know System76 has stuck doggedly to X because they sell so many | NVidia cards, but NVidia supports GBM now. | pxc wrote: | > I know that open source and Linux in general don't need/want | another DE | | Unpopular opinion, but more DEs is fine and good, especially if | they will have teams that are either (a) large or (b) well- | funded. Plasma and GNOME are very good, and Unity was actually | great to use in its heyday. | | Imo what we don't really need more of are the conservative, | under-resourced 'classic look and feel' DEs like most of the | minor players in the space. Those tend to end up incomplete and | ill-performing, and there are already lots of them. I hope the | existing ones thrive, but I don't think having more f them | would do much good. | | But anything as good as the big two, but with a different | focus? Let's see it! | rjzzleep wrote: | If this DE has low resource usage and working freedesktop | screensaver protocol implementation and idleness | implementation but doesn't force me on their toolbar and | window manage I'll take it immediately. | | Lxqt is the closest to allowing that because it wraps | standard tools when possible, but this wrapping of standard | tools also means that those tools don't really work. | | For example, I use slock for screenlocking, but there is | actually no working third party freedesktop screensaver | implementation that doesn't tie you into their DE. | | Xsecurelock seems to have hacks for it, but it can't even do | something as simple as just showing an image without breaking | with the wrong window compositor. | [deleted] | btdmaster wrote: | It seems to use wayland: https://github.com/pop-os/cosmic- | comp/blob/main/src/main.rs#.... | aidenn0 wrote: | The shell is implemented in GTK4, and the compositor depends on | smithay[1], so I assume they plan for Wayland support. | | 1: https://github.com/pop-os/cosmic- | comp/blob/main/Cargo.toml#L... | pkulak wrote: | Interesting, thanks. Guess they went that way because of | Rust, but it would have been super cool to have another | wlroots compositor on the block. | | EDIT: Just found this, which explains a bit: http://way- | cooler.org/blog/2019/04/29/rewriting-way-cooler-i... | stjohnswarts wrote: | You never know what's possible in the future but I imagine | right now they're working on the core features so | supporting every compositor around is down the road a bit. | mariusmg wrote: | > I really want System76 to succeed | | Succeed at what ? Re-implementing Gnome in Rust ? | nine_k wrote: | Hopefully not. | | Not re-implementing Gnome. Not re-implementing macOS which | Gnome strives to imitate. OTOH I see the value of that: many | people got used to macOS, and making things similar, and the | cognitive load of switching low, makes business sense. Same | as with Windows in early 2000s. | yobert wrote: | I think you can assume they meant succeed at creating | computers people love to use and selling them. | [deleted] | pkulak wrote: | Selling lots of Linux-based hardware that they design in- | house. | | > Re-implementing Gnome in Rust | | That seems a bit disingenuous. It's all still GTK. | dathinab wrote: | gnome =! gtk | | sure they are a bit more related then KDE and QT, still but | the same at all | stjohnswarts wrote: | We all know that. I assure you. Gnome uses GTK and | evidently Cosmic 2.0 will use GTK | pantulis wrote: | At making 2022 the year of Linux in the Desktop! | wmf wrote: | _DEs are just the window dressing and computer management._ | | That's how you end up in a situation where the contents of the | window clash with the dressing because more and more apps can't | be themed. If they want a consistent look they'll need to fork | or write a whole new set of apps. | nine_k wrote: | The irony is that the reason why authors claim when they | remove theming is to have a consistent look. | | For some apps I don't care too much, because I run them in | full screen anyway, and their specific look is adjusted to | their function: IDEs, DAWs, even graphic editors. But if they | do support DE-wide themes, I do appreciate that! | wmf wrote: | Yeah, GNOME should just admit that it's an OS and stop | pretending to be a framework or DE or whatever. | SkyMarshal wrote: | They sort of do. https://os.gnome.org/ | flenserboy wrote: | Better to adopt Budgie and move it over to Rust if that's really | where they want to go. | anthk wrote: | Solus OS' BOFH got tired of Gnome and he will switch the entire | stack in to Enlightenment. And inb4 "E17 and such have Gaudy | theming", last E has a flatish theme, so something like Arc for | E would be really easy to implement. | | https://www.enlightenment.org/ | cyberpunk wrote: | Is it even remotely stable yet? | | Iirc it was all hanging off of a single process sometime back | so if a single dock item died basically it hosed your entire | desktop. I managed to get it started once or twice, as I was | a huge fan of e16 but it just seemed... unusable really. | jonpalmisc wrote: | At the risk of sounding too negative/critical, I honestly just | don't like the design language here. | | Everything seems overly rounded, and more importantly, the | screenshots even show very weird/inconsistent alignment and | padding in the UI. | | Why is it that so many Linux GUIs -- between apps and desktop | environments -- suffer from a lack of attention to detail? | | Once again, it's early, I'm sure they are aware of some of these | issues, but I can't say I'm excited for this based on what I just | saw. | Klonoar wrote: | It's early enough that I'm giving the benefit of the doubt on | the spacing issues. They're obvious enough that I would hope | System76 (who seem to care about design in most respects) are | aware and will get it eventually. | pxc wrote: | > Why is it that so many Linux GUIs -- between apps and desktop | environments -- suffer from a lack of attention to detail? | | The software you're looking at hasn't been released yet-- at | all. Not even an alpha. There are literally no tags on the | libcosmic git repo. | | You mention that it's early, but I'm not sure you appreciate | _how_ early. | laputan_machine wrote: | It's open source. You sound like 1) you're knowledgable about | what makes "good UX" and 2) you care enough to post about it. | | Instead of complaining, why not contribute to making it better? | [deleted] | coolso wrote: | It's this pervasive mentality that continues to hold the open | source community back, even still in 2022. | kelnos wrote: | How is that the case? Open source software only thrives | when there is a community around it that is dedicated to | making it better. Many people seem to think that only | programmers can do this, but there's always a need for | designers and documentation writers to step in and help as | well. Admittedly, some programmers have trouble accepting | advice and criticism from non-programmers contributors, but | I do believe this has been getting better over time. | | What is the alternative, if not for people who notice | problems and care about them to step in and contribute? | astrange wrote: | Rounded is good so it doesn't poke you in the eyes. There's | some strange choices of ligatures in their UI font, though. Or | just poor kerning. | | https://blog.edfloreshz.dev/images/articles/linux/system76/r... | | I'm not sure why this desktop UI looks like an iPad either. | eric__cartman wrote: | I think it's because designing good user interfaces is hard and | very time consuming (at least for me it certainly is). And | generally Linux users are more contempt to put up with | inconsistencies and annoyances because many probably don't care | and leave most things in a default state, or customize stuff to | their heart's desire. | | I'm not saying this is exclusive to Linux distros, I sometimes | find the UI in Windows 10 to be confusing, having to jump | between the settings and control panel application to find some | niche option. It's apparent that parts of that UI were made 20 | years ago while others are made with modern toolkits. | | I hope that System 76, being more consumer oriented than other | companies that mainly develop for Linux, listens to feedback | from a wide range of users and manages to develop an ecosystem | to be the "MacOS of Linux workstations" in the sense that | everything is polished and working out of the box and everyone | from regular home users to advanced professionals and | enthusiasts can pick up and use without major inconveniences. | oblio wrote: | > I'm not saying this is exclusive to Linux distros, I | sometimes find the UI in Windows 10 to be confusing, having | to jump between the settings and control panel application to | find some niche option. It's apparent that parts of that UI | were made 20 years ago while others are made with modern | toolkits. | | They're rewriting all of that but it's a pain in the neck to | do it. | | My guess is that they'll finish in 10 years :-)) | | If you want compatibility worries, check their Windows | Terminal blog. | | Or Raymond Chen's blog for some real compatibility howlers. | dotancohen wrote: | > Why is it that so many Linux GUIs -- between apps and desktop | environments -- suffer from a lack of attention to detail? | | Because nobody who notices files issues. Open source projects | do not have the UI teams of Apple and MS. Please, find the | bugtracker and file the issues that you've noticed. Thank you! | criddell wrote: | It's still very early and there's no way that the people | making this can't see the alignment and spacing problems. I | would assume they will get to it when they can. | | The other stuff (like rounding everything) is a deliberate | choice. | akdor1154 wrote: | Fortunately it's not a gnome project, so there's a good chance | you will be able to just change the theme to something you | prefer. | rhn_mk1 wrote: | What is the point of the effort though? It doesn't seem to me | that the user is gaining a whole lot from an almost exact rewrite | of some apps that already existed. | | They don't need to be fast to use, so there's nothing to gain | from better speed. They weren't ugly, so a slightly different | styling is not a win. They weren't crashing all the time, so | reliability is not it. | | They don't try to redesign some core desktop experience from the | looks of it either. | | So... why? | shmerl wrote: | GTK4? It seems like Rust based UI toolkit is still missing. | | I like the idea of using Rust for the DE, but personally I'd | stick with KDE. | adamnemecek wrote: | Yeah and they can get like infinite mindshare with it too. | shmerl wrote: | Right, but it's probably a huge project they don't want to | maintain. | | They could limit the scope though. I.e. focus on Linux only | from the start at least. But it's probably still a lot of | work. | adamnemecek wrote: | ...and a desktop environment isn't? Building your own GUI | toolkit isn't that bad esp. if you have a team. Cross- | platform isn't that hard, windowing is like the only thing | that comes to mind where there are some differences in | behavior. | | Rendering would be done presumably using some cross- | platform GPU API like Vulkan or wgpu. | shmerl wrote: | I agree, I think building GUI toolkit first is a better | idea than building a new DE before you have a better | foundation. Not sure what's their rush with DE then. They | can improve KDE instead, until Rust based GUI toolkit is | ready. | | Cross platform here is not easy, if you want that toolkit | not to be ugly and have some kind of native look and | feel. | billconan wrote: | ya, I wanted to ask the same question. there doesn't seem to be | a mature gui lib for rust yet. what is this desktop based on? | adamnemecek wrote: | GTK4. | DCKing wrote: | This blog post focuses on some superficialities of how their DE's | apps will look slightly different. That's understandable for | first impressions. | | I do hope these superficialities don't have all of System76's | focus, as they're a dime a dozen in Linux DEs. Even the category | of "we kind of look like Gnome, but with more familiar workflows" | is oversaturated amongst Linux desktops (Budgie, Xfce, Cinnamon, | MATE, Elementary/Pantheon, even "Gnome+extensions" are all in | this category to various degrees). I suppose one distinguishing | factor that Cosmic has is a strong Wayland focus, which is still | missing from nearly all Gtk based alternatives. | | System76 with Pop_OS! has an opportunity to tackle topics head on | like "we can make fractional scaling work somewhat decently | across all apps" (IIUC currently requires shipping a forked | XWayland, unfortunately), "we can make trackpads the best they | can be" (requires shipping some forked libinput related things | IIUC) or "we can make font rendering best we can make it". The | actual _desktop environment_ stuff I 'd be interested in. | | A desktop environment needs more vision than shipping the same | old Linux desktop problems with some other apps. I really hope | System76 can make an effort there. They're trying to make their | paycheck depend more on their own Linux desktop's success, and | that I can only encourage. | benatkin wrote: | I can see 2022 being another almost Year Of Linux on the Desktop. | I wonder what dirty tricks big companies will pull, like | Microsoft did when netbooks became a threat. | | (Searching around, I see a lot of people don't get it, they say | that Year of Linux on the Desktop has happened. It hasn't yet and | some think it never will.) | thanatos519 wrote: | It happened for me in 1994, and I think it's a case of | "gradually, then all at once": Once Microsoft and Apple stop | maintaining their software, people who still have computers and | electricity will move to Linux. | benatkin wrote: | I hope so. The thing is that we have Chromebooks, which is | the Linux Kernel on the Desktop (to me, doesn't satisfy the | goal of Linux on the Desktop). So we need something so | compelling that Google will also not be able to keep up. Or | we need Chrome and/or Android to morph into something open | enough to be considered Linux on the Desktop. | botdan wrote: | Modern Chromebook with their "Linux containers" are really, | really close to being a wonderful developer experience with | the same level of user accessibility, support, and | refinement of any of the other "major" operating systems | out there. I'm surprised Google hasn't capitalized on it | further. | 2OEH8eoCRo0 wrote: | They don't have to sabotage Linux, Linux developers and the | community does that all by itself (unwittingly). | benatkin wrote: | I have your response covered under "some think it never will" | :) | | I agree a lot of mistakes have been made but I'm not sure | Linux developers/community will continue to make big enough | mistakes to stop its momentum every time it gains some. | Shadonototra wrote: | > COSMIC desktop using GTK 4 | | GTK.. what a waste of an opportunity | | I wish Canonical didn't gave up with Unity 8.. Ubuntu and unity | was the reason i was using linux as my main desktop OS, when they | announced they'll use Gnome 3, i reinstalled windows.. when | windows 10 got announced i moved to macOS, i now back to linux | with Mint (i love cinnamon desktop btw) | | Gnome and GTK are a curse, they drive people away from linux | desktop | 0xbadcafebee wrote: | I could not possibly care less what language you write the UI in. | Write it in Brainfuck, I don't care. Just make the UX not suck | and provide the functionality I need. | coolso wrote: | At least when Brainfuck's fans proselytize and mention the | language as much as they possibly can, they're being ironic and | have a sense of humor about it. Humility and humor seems to be | expressly forbidden in the Rust CoC, right next to not wearing | a pronoun on your name tag. | tibbydudeza wrote: | So what is the win for System76 here ???. | | They just make boutique computers computing against the like of | Dell/Lenovo when it comes to Linux friendly computers. | | How many sales do they do per year to justify this direction | yepthatsreality wrote: | The win is that they're no longer required to work around Gnome | as Gnome's vision is to minify the DE. This makes it difficult | to develop a custom flavor if your base keeps removing features | or making strongly opinionated UI decisions. | Underphil wrote: | "...we're all curious as to how this desktop will look like..." | | Is this an Americanism? My brain can't read this properly. | noahtallen wrote: | It's a combination of "curious what this desktop will look | like" and "curious as to how this desktop will look." (Which | could be simplified to "curious how this desktop will look.") | | I'm not sure if it's an Americanism as much as poor phrasing :) | innocentoldguy wrote: | No. It is a grammar error. I think they got that sentence mixed | up with the one after it, which happens during editing | sometimes. | Karsteski wrote: | Reads perfectly fine to me. Probably depends on the | dialect(s) of English you're familiar with | 71a54xd wrote: | This is awesome! Very cool to see developer-first _real_ modern | desktop tooling being put together. | ismayilzadan wrote: | Why do you think this is a developer first desktop? | JaggedJax wrote: | System76 very much advertises Pop as an OS for engineers and | developers: https://pop.system76.com/ | ThinkBeat wrote: | What exactly is a Linux "desktop environment"? | | Does it contain a window manager or is that fully separate? Is it | the "explorer", shell, menu, dock, what not? (But didn't that at | least in part reside in a window manager)? | | Is it libraries that applications that are to be executed under | the DE? | | If it is using the GNOME libraries (GTK???) ? Will GNOME | applications be native? | pxc wrote: | > Does [a desktop environment] contain a window manager or is | that fully separate? | | yes, it does. You can sometimes swap out the default WM for a | DE, if you want | | > Is it the "explorer", shell, menu, dock, what not? | | yes | | > (But didn't that at least in part reside in a window | manager)? | | not really. That's an implementation detail that just varies | between different DEs and WMs more than across time. Most DEs | don't use the window manager to draw the desktop background, | but some do | | > Is it libraries [and] applications that are to be executed | under the DE? | | yeah, at least if they're integrated with the DE or come with | it on a given distro | | > If it is using the GNOME libraries (GTK???) ? Will GNOME | applications be native? | | that's up to System76, basically. I think they do want most | GNOME apps to be more or less native under their DE | Narishma wrote: | It's all of those things. | [deleted] | monsieurgaufre wrote: | While I admire the effort and all, it just looks like a case of | NIH to me. | adamnemecek wrote: | System76 should build a Rust GUI framework. I can't think of many | other companies that are better positioned than them. | mixedCase wrote: | Doesn't seem like there'd be any good reason to do it. Gtk4 has | great low and high level bindings in the form of gtk-rs and | relm. | smoldesu wrote: | Writing GTK4 apps sucks, at least in Rust. They removed so | many idiomatic ways to build apps, and all you're left with | is a shitty component system that forces you to write | incomprehensible UI layout code instead of leaving it to | JSON/XML languages that are much better suited to the | process. In any case, gtk-rs's bindings after 9.0.0 are | hardly usable, and require me to re-write entire apps just to | get them to launch in the new and "improved" GTK4 wrapper, | now with incredibly blurry text, compositor issues and broken | stylesheets... sigh. | | I, for one, would _love_ to see someone fork GTK3 for desktop | purposes. GTK4 's development has almost entirely been | predicated by the GNOME team (despite how hard they deny it), | and additions like libadwaita has made GTK unusable for many. | After Pop_OS! was publically harassed by the GNOME team, I | kinda expected them to take that project up. I can settle for | a desktop fork all the same though. | mixedCase wrote: | Sounds like you want high level bindings, instead of gtk- | rs. Have you tried relm4? | | > and additions like libadwaita has made GTK unusable for | many | | Could you expand on that? | adamnemecek wrote: | There's a very good reason. GTK never looks very good. Also | it uses paradigms that are just not idiomatic in Rust. | anthropodie wrote: | After unity, I tried couple of DEs but then forced myself to stay | with Gnome because I wanted to stop endless tinkering and get | work done. I tried it for half a year and then switched to Sway, | a tiling window manager. | | Sway has little to no footprint. I have configured my system the | way I like it. Now I do minor tweaks sometimes but nothing major. | My entire configuration is in a single file! I am not going back | to DEs ever. | filmor wrote: | Sway is a window manager, not a DE. The right thing to compare | it to is Mutter. I also use sway, but quite a few of my | applications are from Gnome (like evince, nautilus, gnome- | calendar, fractal...). | distantsounds wrote: | You don't need a tiling window manager to get everything in a | single config file. Fluxbox has historically been great at | this, while still being extremely light on resources. | anthk wrote: | Fluxbox + rox + roxlib (for Rox plugins/addons) make the | ultimate DE. Everything else can be made into systray applets | such as blueman or nm-applet. | | As for theming, Zukitre for Fluxbox + any modern theme for | icons. Done. Fancy, modern yet featureful as back in the day. | SahAssar wrote: | Could you share your config? I also use sway but to me it seems | like behind the statement "I have configured my system the way | I like it" there is quite a lot of configuration. Also when | saying "My entire configuration is in a single file", do you | also include things that are normally configured in a DE | settings app, like wifi, disk auto mounting, bluetooth | connections, sound settings/volumes, display configurations, | etc? | | I like (and use everyday) sway and I like using WM's as a part | of puzzling together a system. I just don't think you are | comparing apples to apples here. | a-dub wrote: | i always disliked gnome 3 because of the user interface (it | seemed to be an amalgamation of all the bad things from os x or | even macos), not because of the underlying language it's coded | in. | Andrew_nenakhov wrote: | Canonical was really onto something very good with Unity, but | Gnome3 is a UX disaster. Every single app from Nautilus to | Gedit became harder to use. And it has lots of empty bars | wasting space everywhere. | smoldesu wrote: | I know a lot of people who despise GNOME 3 on the whole, but | I'm willing to defend it for what it is. If you've ever used a | touchscreen Linux device, it becomes a whole lot easier to | appreciate what they did with the toolkit. GTK apps just... | work on a touchscreen. No modifications or fancy-pants | libraries required. They also work really well on desktop too, | with nice plump interactive elements that make sense for the | category of devices that it's targeting. It looks equally as | spiffy at 200% scaling as it does at 100%, and it's snappy as | all hell. | | I don't speak for everyone, but GTK3 is the unofficial "native" | toolkit for Linux. QT isn't far behind (I've been using Plasma | since GNOME 40 and it's a blast), but GTK3 just feels... right. | Also licensing and custom stylesheets yadda yadda yadda. | supernintendo wrote: | I use GNOME + Wayland on desktop, with a few tweaks and | extensions, and I'm totally willing to defend it. It's a | lovely computing environment that just feels at home to me | and I think it has a tasteful balance of modern and | traditional UI patterns. | schmorptron wrote: | I'm loving gnome as well, especially since 40,but still | can't help but imagine what unity would look like now had | it continued development at canonical. One of my main | gripes with gnome is the huge amount of wasted space in the | top bar that would just be perfect for a global menu like | unity had. | smoldesu wrote: | That's fine, I'm not going to take that away from you since | I've heard great things about Wayland with the proper | hardware for it. As for GNOME, I don't think it's | _terrible_ , but it does definitely feel like a regression | to me when compared with GNOME 3.3x or GNOME Classic. It's | perfectly fine to like it (computer UIs are still | opinionated after all), but I feel like their leadership is | heading in an undesirable direction for a huge chunk of | GNOME loyalists. GNOME 3.38 felt like home to me for a long | time, but 40 never clicked. Plus, their "my way or the | highway" mentality doesn't work well when combined with | their lack of contributors and overall supremacist, | absolutist viewpoint on the desktop as a whole. | | I do still like certain aspects of GNOME, but I worry for | their future under the current leadership. ___________________________________________________________________ (page generated 2022-01-13 23:00 UTC)