Settings

Theme

FyneDesk – Linux desktop environment in Go

github.com

185 points by rgun 2 years ago · 68 comments

Reader

BirAdam 2 years ago

I may be alone in this, but I personally feel that older GUIs were better than modern ones visually. I really and unironically think that IRIX, CDE, Win3, OS/2 Warp, and KDE1 look better than what has come after. Sadly, software has actually improved measurably in almost every other way (if you disagree, your memories are a bit rose tinted, cuz… uh… not hard restarting due to crashes is nice) and these GUIs are therefore somewhat unusable today. Also, other commenters are spot on. There are a ton of different WMs and toolkits and everything… and most of them require so much fiddling.

For full desktops: Plasma is great, but I personally dislike it for a reason I can’t put my finger on. GNOME is great once I install about 12 plugins, but then those break on updates, and I cannot stand the default GNOME experience. XFCE is “fine” but lacks some refinement. Budgie is on life support it seems. I haven’t tried enlightenment in a while. Never tried Deepin.

  • beagle3 2 years ago

    Ubuntu's Unity on 14.04 was top GUI for me. It worked well at least through 18.04 even after it was no longer the default. I was using a Mac at the time as well, and I have since moved to Mac (still on Catalina ...).

    There were no things from the Mac I was missing with Unity. There are still things on the Mac that I miss from Unity (most notably, the multiple dots indicating the number of open windows, and the setting where the screen that does NOT have the default window can be subtly dimmed)

  • _mlbt 2 years ago

    WindowMaker is great if you enjoy the NeXTStep look and feel.

  • socar 2 years ago

    you're not alone in this. On Windows side I tend to tweak as much as I can to get back to WinNT/Classic look. Thanks to XFCE and Win2K theme I can get this done as well, however Microsoft never even consider giving choice to people and ability to replace the UI. Maybe killing explorer.exe and running total commander as primary is something for long term to consider...

  • prirai 2 years ago

    Give LXQT a try.

    • syeare 2 years ago

      LXQt is excellent in terms of resource efficiency and snappiness, although I suspect the person you replied to will have the same issue with it as they stated they had with XFCE (not "refined"?). It's a much lighter desktop environment than XFCE, from what I remember when I last tested them (~200MB vs XFCE's 0.5GB+).

      It's a continuation of LXDE which was absorbed into another project when LXDE was discontinued, iirc

  • pg_1234 2 years ago

    Cinnamon

    Best obtained via LMDE

    • ElCapitanMarkla 2 years ago

      I like to muck around with different DEs which is one of the main reasons I moved to Nixos. I moved from KDE to Cinnamon last year and that has been my favourite. I’m quite excited to try Cosmic, I’ve got a couple of Wayland issues I need to solve before I can though.

bsimpson 2 years ago

One of the neat things about Linux is that people get to scratch their own itches.

That said, this project looks like it needs a visual designer. Strong "programmer art" vibes from the lack of coherent spacing. Some consideration for padding would go a long way.

  • syeare 2 years ago

    Do you remember the "padding" in Windows 95/2000 UI? THAT'S the kind of padding a desktop interface needs (i.e. minimal to nearly none).

    Please keep the useless touch-friendly interface as an optional addition on desktop environments. Better yet, contain it to EXCLUSIVELY for mobile apps/usage because a desktop computing environment should NOT have half the screen full of annoying whitespace! I'm trying to do work and see as much content as possible at once.

    macOS Big Sur and above, GNOME3+, and even Windows 11 all have such infuriating interfaces. The frustratingly excessive padding added to the window title bars and context menu take up the whole damn screen!

    Maybe on tablets and touchscreen laptops running GNOME or Win11 where you use a stylus for writing/drawing, I can sort of get it.

    If you use a keyboard and mouse to do work, however, the context menus should be compact and dense so you don't have to keep scrolling and rearranging your desktop workspace to find and organize things.

    • bsimpson 2 years ago

      I've always been a Mac person, so I don't have that context.

      I have, however, studied this exact thing. A target need to be at least 48dp in diameter to be accurately clicked the first time. The same is true for a touchscreen. Bigger is better on a touchscreen, whereas there are diminishing returns past 48dp for accuracy in clickable UIs.

biomcgary 2 years ago

Go is my goto language, so it is nice to see a desktop environment using it.

Despite my interest, I am curious about the motivation for another DE. Is the primary goal to use Go and/or the Fyne library to create a functional DE? Or, is there a larger vision for this DE that Go and/or Fyne enables?

  • nasretdinov 2 years ago

    To me it looks like sn experiment: how far Fyne can Go? To be honest I am kinda amazed that any GUI framework in Go is so good already that it can be used to build a DE. The screenshots also look very decent, especially compared to earlier attempts to do any GUI in Go that I've seen.

qwerty456127 2 years ago

Why does every window manager have panels? I don't want any. I only want tiling and have every thing traditionally handled with panels to be a separate app I can launch the common way and place as an ordinary window wherever I see fit.

  • cbolton 2 years ago

    For me it's the opposite: why do we have a gazillion of window managers (that just manage windows), and so few desktop environments that provide a complete and coherent setup?

    It's especially annoying in the world of tiling window managers. There are few options for a desktop environment with a solid tiling WM. Regolith is one (based on i3 / Sway), and I thank those who develop it, but it's patching together a bunch of independently developed tools and you can tell when you try to change some things and have to deal with disparate config files.

    • jwells89 2 years ago

      Totally agree. I tinkered around with an openbox+tint2 setup several years ago and was able to get it to a usable state, but getting all the little things working is so fussy and flaky, with e.g. the need to hunt down suitable daemons to get a typical tray item loadout.

    • qwerty456127 2 years ago

      Imagine a perfect world where all the separate apps just were coherent, forming a complete ecosystem and their config files were not disparate? So you would just pick a window manager you somehow like better, a panel app of your choice, launcher, sound volume, WiFi management, calculator applets you prefer... Then switch to another window manager someday... keeping everything else intact. This is the way it's meant to be, every thing you dislike is just a quirk.

      • cbolton 2 years ago

        Yes that sounds awesome, though I'd prefer having a single config file for the window manager, status bar, notifications, application launcher, lock screen and whatever else I forgot that are in the end part of the same experience.

        One particular problem is theming: I'd like to set a theme in a single place for all the elements of my desktop environment. Not sure if it's fair to expect a bunch of independent opinionated developers who like to use weird graphics toolkits (when not drawing everything by themselves) to come up with a unified solution.

        Another problem is the shortcuts. It's the same problem in (neo)vim when you build your awesome IDE-like setup based on 53 unrelated packages: you end up with an illogical, overlapping soup of keybindings. I think you need someone to take charge of unifying things to provide a coherent experience.

      • xn--cr8h 2 years ago

        Nobody actually has time for all that

    • benrutter 2 years ago

      Yeah this, there really isn't a strong coherent option for tiling window managers just yet. We'll probably see one soon with cosmic.

      I think its the vim effect where the userbase just has a high demand for customization and don't mind a lot more set up and configuration to get there.

  • malicka 2 years ago

    This is a desktop environment, not a window-manager, so here it’s pretty expected. I’ve gotta say, though, virtually every window manager that does have a panel makes it toggleable. FVWM, Fluxbox, xmonad, i3, etc.

    • qwerty456127 2 years ago

      Sure, nevertheless having panels as a distinct class of entities seems a rude violation of the Occam's razor principle everyone apparently rushes to do as soon as they write their own. People love panels somehow. The more bells&whistless on them - usually the better. This is just a curious psychological phenomenon.

      • ruined 2 years ago

        well, most users generally have a small set of operations they want readily accessible with a pointing device at all times, or status information they want to be available at a glance, without obscuring or interfering with window layout.

        a persistent window, aka panel, is the conventional way to provide that.

        it's simply a conceptual extension of the 'prompt' into a gui environment. nothing has surpassed the panel concept in the past forty years that it has been dominant.

        i expect the 'panel' is the primary feature vehicle of any desktop environment - they are nearly synonymous. nearly every window manager also contains support for panels, even if they are not part of a desktop environment that specifically provides them. what do you use?

        • qwerty456127 2 years ago

          Okay, but why should not a panel be just an ordinary window without the "decorations" (close/minimize buttons etc) of a separate ordinary app? You know, the first time the idea of the panel disturbed me in a negative way was in Windows 98 where the panel (the taskbar) would often remain visible in some quirky way during (some rare times even after) the moment the display switches to a full-screen graphics mode when I launch the game.

          • hnlmorg 2 years ago

            The Windows taskbar literally was just another window but without any decorations. There was even a bug in Windows 95 where you could close the taskbar.

            As for the full screen bug you experienced, I don’t recall ever seeing that but Windows 9x had a plethora of weird bugs so it wouldn’t surprise me if you had issues.

          • ruined 2 years ago

            well, everything in a typical linux desktop environment runs inside a window manager, including the panel. some of them are integrated to an extent, but you're essentially describing the status quo.

            and microsoft does all kinds of weird shit nobody has an explanation for.

      • alexvoda 2 years ago

        In X and X intrinsincs everything was a window including every widget.

        • bitwize 2 years ago

          Same was true in Microsoft Windows, but -- say it with me -- Modern Apps Don't Work That Way Anymore. You can't keep the redraws of all the widgets in sync, so you can't guarantee pixel-perfect window refresh. The Wayland way of only having top-level windows and client handling of all widgets within is, objectively, better for modern development.

        • qwerty456127 2 years ago

          To me this seems a particularly beautiful concept. I feel sad it is abandoned (I am one of the people who always used, if not ab-used, X over SSH).

          • kaba0 2 years ago

            It’s pretty much the same with Wayland, everything is just a “surface”.

      • postepowanieadm 2 years ago

        In kde 3.5 one could detach panels and place them side by side(if I recall correctly).

        • eMPee584 2 years ago

          oOh kde 3.5 was my favorite

          • nasretdinov 2 years ago

            BTW why are you saying that it was? Can't you still be using it? I am not a desktop Linux user myself but it sure should be possible?

            • nineteen999 2 years ago

              If you could get it to still compile on a modern Linux system, you'd still be running an obsolete DE without security patches, and you'd be on your own as far as support is concerned.

  • jrm4 2 years ago

    Yup, for me the broader question for just about every window manager is "why not EASY modularity?"

    Would love to see something where this was the principle? Very little philosophy or opinion on how individuals do their own desktop, emphasis on "you should be able to add and take things off easily as you want." The metaphor being, you know, an actual physical desktop. It's an EMPTY table. Put what you want on it and nothing you don't.

    (Like openbox perhaps, just with a little more friendliness towards well integrated panels etc. Which might be construed as "opinion" -- but seems like most WMs FORCE a lot of the things on you)

    • idle_zealot 2 years ago

      I quite like how HaikuOS (and maybe BeOS before it, I can't claim familiarity there) handles this. There's one positionable window with a launcher and a barebones customizable set of control widgets. Everything else from system monitors to workspace switching are just normal application windows that you place in a convenient spot and pin so they show up on all workspaces. That combined with the powerful way they handle window management, allowing for creating custom tiled window sets and treating every window as tabbable, highlight just how samey and limiting most desktop environments are. I daily drive sway, which works completely differently, but Haiku's solution is so interesting that I find myself enjoying it despite the mismatch with my usual habits.

      Really though, Windows, Gnome, Plasma, MacOS, they're all basically the same and all feel so cumbersome and limiting. Desktop metaphors have been stalled for so long, and when Apple took a shot at something new with Stage Manager they managed to downgrade the experience even further. I'm so disappointed by the state of things.

      • qwerty456127 2 years ago

        If only Haiku had up-to-date Firefox, I'd be using it as a daily driver even if I had to run it in a VM.

        • idle_zealot 2 years ago

          They do have an up-to-date browser in Falcon. What gets to me is the lack of multi-display support.

    • from-nibly 2 years ago

      Bspwm just uses bash for configuration which is about as straight forward as you can get with modularity. Easy though? I dont think modularity is ever easy is it? I think the lack of it is one of the things that makes a thing easy.

    • cess11 2 years ago

      To some people that's what StumpWM offers, and easy molding is what attracted me to IceWM back in the day.

      I'm more of a 'install i3wm, change a few things in the config, done' kind of person these days.

    • IshKebab 2 years ago

      I guess there are a couple of issues with that:

      1. Panels are fixed in place and don't have title bars etc. They're the only window type like that so you'd have to go to extra effort to make a UI to "lock" windows and unlock them or whatever.

      2. If you delete the launcher then how do users start apps? Some old DEs let you right click the desktop but that's not very discoverable.

      Much easier just to have settings somewhere do let you say which side (if any) you want panels on.

      • graemep 2 years ago

        You can delete the launcher on most DEs. I do not have a launcher button on my work KDE desktop - I start apps using the keyboard to start a launcher.

    • jwells89 2 years ago

      I believe the main issue is that it’s difficult to have any kind of consistent/coherent design in a desktop where everything is optional. Building good UI for managing panels can also be challenging.

      • jrm4 2 years ago

        Great; I don't care about "design" as you're using it.

        That entire field is somewhat unserious because it conflates engineering and actual usability with fashion, and often can't distinguish between the two.

        That's exactly why I'm saying focus more on the modularity.

pjmlp 2 years ago

I imagine FyneDesk could eventually provide an Oberon or Inferno like experience, given its influences.

Maybe with net/rpc, D-Bus or gRPC, replacing the use cases of dynamic code loading from those environments.

jerf 2 years ago

Is this XWindows or Wayland? Couldn't see an easy way to figure it out.

  • IntrepidPig 2 years ago

    It must be X given that they recommend installing xbacklight, arandr, and Compton alongside it.

    • yjftsjthsd-h 2 years ago

      And the section on running in Xephyr (X server that runs inside another X session) for debugging.

metadat 2 years ago

Did they find a way around the stupendously slow build times for Golang GUIs? Last time I tried is was maddeningly slow.. like minutes to see any incremental change.

  • LelouBil 2 years ago

    Really ? I didn't use Go much but it had by far the shortest compile time of any language I ever used.

    • metadat 2 years ago

      Yeah, it's the best ..until you try to build a native executable GUI, then it's slower than cold tar. Blasphemous.. because how TF did Win95 + Delphi work so gosh darn well on 0.01% as many resources, and then we got to here? :D

      Literally.. the machine has 40 fast cores and 384GB of very fast memory. Wow, just.. kind of nauseating. It could be a case study, I'm sure, because this exceeds even the compiler bloat of Electron.

      • yogorenapan 2 years ago

        CGO being slow is unavoidable. It’s external to Go and (afaik) has to be rebuilt every time

        • ajwillia_ms 2 years ago

          It doesn’t have to be rebuilt every time. The incremental parts are missing when compared to the Go compiler, but when coding a GUI app with Go you’re not modifying the C packages behind the scenes so they won’t need recompiled.

          This means one rather slow compile to start and then it’s back to super fast!

  • ajwillia_ms 2 years ago

    The whole desktop compiles here in around 7 seconds for me. First build time will be longer as it must build the dependencies too.

iampivot 2 years ago

Implement a Miller column file manager and it will take off.

zerr 2 years ago

Accessibility?

nsonha 2 years ago

"material design" is a feature for desktop management now?

  • jdiff 2 years ago

    Funny thing is it's not even a feature fyndesk can claim. It's flat design, but it's not material design. Not even good design. Fyne's achilles' heel is its lacking aesthetics and it's pervasively non-native feel.

  • kelnos 2 years ago

    It's a feature of visual design, something that's reasonably important to a desktop environment.

    You may not like material design (I personally could take it or leave it), but visual design itself matters.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection