My Linux desktop setup at work is latest Ubuntu LTS + Sublime Text + Spotify + Docker. At home I use latest Ubuntu + Sublime Text + Spotify + Steam. If I ever need to reinstall Ubuntu at home or work, I'l go with the minimal installation option. I'm guessing that I get to go with the minimal installation when I buy/get new laptop, since there is no reason to do a fresh install otherwise.
I don't see at all why you're saying it's not a desktop setup. It's obviously a workstation computer with media capabilities. The word desktop implies pretty much that. In contrast to desktop, there are portable computers and servers. Today the difference between portable and desktop amounts to just additional power management tools, so it's pretty much the same. So there's just workstation and server, ignoring Androids, Google Chrome laptops, etc. This is certainly not a server.
As to the content itself, the insights, configs and tools listed are great. My setups have very similar objectives, but solving a lot of these mundane problems can mean days, so I'm definitely saving this for later.
> It's obviously a workstation computer with media capabilities. The word desktop implies pretty much that.
What? No.
A desktop is a computer sitting on the top of your desk. And on the software-side there is the Desktop Metaphor, which describes an interface that behaves like the top of your desk, with free arrangement of all meaning of your work.
This article on the other side describes a workspace with multiple machines and mostly no free arrangement of work-elements. So it's not fullfilling the hardware-definition, and pretty weak on the software-definition.
This article is clearly about a workspace that blows beyond the classical workspace-definition of a desktop. Which is good IMHO, but means we need better namings for such things, and even if it's just for the sake to distinguish different tools and workflows. We are now moving to integrate Mobile Devices like iOS&Android into our workspaces, and on Windows-tablets we have touch-interfaces which start to be very different from normal mouse&keyboard-interfaces. And then there is also the classical terminal-interface, which this article is very heavy leaning toward.
I don't understand the gatekeeping and deliberate misinformation in your post.
> A desktop is a computer sitting on top of your desk.
Besides the fact that the author indicated he's using a laptop hooked up to a 40" monitor, kind of necessitating the computer to be sitting on his desk, his use of "desktop" in general is referring to his everyday workflow. For some people, that's Windows and Windows specific apps. For others, it's macOS and its specific apps. For yet others, it's a Linux or BSD desktop environment, whether stock or customized. The fact that he's using a laptop as a workstation does not magically render his established work environment "mobile", and even if it did, he's still using a desktop environment of his own making.
> This article on the other side describes a workspace with multiple machines and mostly no free arrangement of work-elements.
Maybe we're reading different articles, but I see no mention whatsoever of what you're going on about. I see where he at one point mentions "multiple computers", but this in no way invalidates his desktop environment and software setup as violating some made-up rule about what is or isn't a "desktop".
I currently use five computers at home not counting my iPhone: A HP EliteDesk set up as a Windows gaming system, a Dell PowerEdge T310 server running Slackware Linux, converted into a workstation by adding a GPU and sound card and tweaking the BIOS, a mac Mini for music production and general Mac-specific things, a Raspberry Pi 3B+ for experimenting with IoT, and a HP Elite X2 convertible laptop for quick tasks away from my desk and occasional use at work.
Now, according to your logic apparently I can't possibly have a "desktop" setup because I use more than one computer, of more than one form factor, for more than one task at a time, and not always glued to my desk. That's total bullshit.
Gatekeeping...I just explained why some people consider the the usage of a term wrong. If you are triggered by people having different knowledge and opinion, then maybe you stay away from communications, instead of starting to insult others...
You claimed that the author had no right to call his desktop setup a desktop setup based on your own made up rules. That is the very definition of gatekeeping.
Also, please tell me where I insulted you. I called you out for gatekeeping and did so rather politely. If you consider a rebuttal to be an insult I’d advise you to grow a thicker skin before interacting with others or you’re in for a lot of disappointment.
That's an interesting point, but I think it's fair to say that usually when you're talking about a desktop computer you mean a computer whose interface is on your desk, similarly to how a laptop relates to a lap.
For what it's worth, I find the desktop metaphor in UX design a pretty tiring historical artefact. A desk, as a workstation, is the way it is because of physics. Computationally driven user interfaces don't have those constraints and it's awkward, not to mention short-sighted, at least in my opinion, to force one upon the other.
> What makes you think he can't cast media or browse Amazon on his laptop while sitting on the couch?
I never said he can't, it just took a lot more time for him than it took for me to do it.
Are regular drivers going out for groceries tuning their engine to perfection everytime they need to go buy milk?
That's what a desktop is all about, a computer sitting on a desktop dedicated to a worker, not a pro, and expert, a tuner, a nerd, a geek, someone who loves machine carnally.
Just regular folks that know ho to do what they have to do and that's just it.
I've been a Linux user for the past 15 years, I installed my first Slackware in 1996, but I wouldn't say my setup is desktop ready.
I don't know how many of my 13 thousands coworkers would have been able to solve the problems I had with Debian and my Lenovo P-70 multi monitor setup.
I'm sure many of them think I'm crazy spending so much time on it, when they have a problem they call IT and until IT doesn't solve it, they are not working, and are happier.
You seem to be projecting a lot. He never mentioned that it took him a long time to do anything. And just because he doesn't use a readymade workflow or a graphical user interface for some of his applications his setup is not a Desktop setup?
> That's what a desktop is all about, a computer sitting on a desktop dedicated to a worker, not a pro, and expert, a tuner, a nerd, a geek, someone who loves machine carnally.
This has to be the weirdest bikeshedding argument I've ever seen. The only reason I can think of why you're so insistent on this distinction is to brag.
> I don't know how many of my 13 thousands coworkers would have been able to solve the problems I had with Debian and my Lenovo P-70 multi monitor setup.
> He never mentioned that it took him a long time to do anything
It surely did.
It's not a simple setup, it's a custom tailored "this is good because I can use Haskell" setup
It took a lot of time just to get to understand what he's doing
> This has to be the weirdest bikeshedding argument I've ever seen.
It's not.
It's important to let people know that GNU/Linux is already more than ready for the desktop and that GNU/Linux on the desktop is not about masturbating over complex stuff to get things done
> The only reason I can think of why you're so insistent on this distinction is to brag.
Mate, you're overreacting.
> Yup. There it is.
Dude, you're seriously overreacting.
I did nothing special, just followed some guide on the internet, it took me days to get there, so nothing cool again.
It's a multi monitor setup, who does a tech job on the laptop-screen-only anymore?
Do you wanna know the best part?
Until I figured out how to setup HiDPI (another thing that on Ubuntu on my home laptop worked out of the box) I had to use the laptop monitor, a 17 inches 4k, with the font size to 24 or it was to small to even read.
Cool ah?
I'm going to brag about it with Linus now...
It's just something that people who are not tech enthusiasts don't do.
Get used to it.
There's nothing to brag about being obsessed by DIY.
When I think of a "desktop" computer, I think of a form-factor suitable for placement on a desk. I can stretch that to include a machine you keep under the desk or even a laptop that is attached to an external keyboard and mouse.
I don't think about the software installed on that computer at all.
Also: desktop computers, in my opinion, pre-date the "desktop metaphor" and GUI environments.
> Also: desktop computers, in my opinion, pre-date the "desktop metaphor" and GUI environments
I kind of doubt that. When the metaphor was introduced by Alan Kay in 1970, there were no desktop computers. If you consider microcomputers the first desktop computers, which you should since their predecessors, minicomputers, were "cabinet" computers, then the Micral N in 1973 would be the first "desktop" computer.
I think your splitting hairs on this one. The Micral N also didn't have a GUI environment and it was clearly destined for the top of someone's desk. In my opinion that makes it a desktop computer.[0]
When Alan Kay was working on GUI environments, it was on equipment that pretty much nobody could access, it was very expensive and few units were sold. Still, it's interesting to note that the Altair was not a desktop computer that could literally sit on a desk: it came in a cabinet that was meant to sit on the floor.[1] ;-) The irony!
When Apple released the Macintosh, I believe most people were interacting with desktop computers that lacked a GUI desktop environment. Specifically I was thinking of the IBM PC XT [2], although, as you note, there was more to the field than just that.
It certainly is a 'desktop', it might not be yours but it bears resemblance to mine. The 'desktop' metaphor might have been equated with complicated all-integrated environments like Windows, MacOS, Gnome and KDE but in the end it comes down on something-on-a-computer which provides a place to work and access to the resources the computer has to offer. Like physical desktops these come in al shapes and sizes ranging from an empty slab with a lamp and not much more to ornate baroque monstrosities with a zillion drawers, Rolodexes, mail-in-out-boxes, staple machines, paper dispensers, coffee machines, vortex portals and flux capacitors.
Some ascribe to the diction that 'perfection is reached when there is nothing left to take away', depending on your starting point you either end up with a lightweight environment like Xmonad (et al) plus a few tools or at a lobotomised full desktop like Gnome.
> It certainly is a 'desktop', it might not be yours but it bears resemblance to mine
It does resemble mine, either.
In fact I'm not a desktop user.
> or at a lobotomised full desktop like Gnome
That's super not nice.
Regular people want a tool, not something you fall in love with and spend most of the day refining.
Most people have hobbies outside of the tech world, they will spend hours growing their gardens, but couldn't care less about "keyboard focuesed" or "run programs in the terminal" or "I quickly noticed the huge compile time of KDE".
If they can't use it properly, like they are used to, it's broken for them.
Well, I would say yours is not a desktop setup ;-)
I mean, desktop usage is meant for people who work with computers. They spend several hours a day in front of them and therefore require ergonomic chairs and the like. If you want to use your laptop on your couch, that is completely okay, but you are probably not doing some of the things people at desks are doing (like decrypting compilers errors etc.).
> I mean, desktop usage is meant for people who work with computers
Practically everyone works with computers.
> They spend several hours a day in front of them and therefore require ergonomic chairs and the like.
That includes almost everybody.
> like decrypting compilers errors etc
I do that on my couch.
Desktop setup is a computer set up for desktop use, AKA, _for regular people everyday use_, that come bundled at most with some productivity suite (usually Office or Office clones).
Xmonad is not desktop ready, on the contrary, it harms Linux penetration on the desktop segment.
Ubuntu is a desktop setup, Fedora is a desktop setup, ElementaryOS is a desktop setup (etc. etc. etc.)
If you are compiling, you are already a pro user.
A desktop user doesn't fight with the default configuration, a desktop user adapt to the default configuration.
They might change the desktop background and WM theme, and that's all.
it's always surprises me that linux developers still care about ctags...
There are more powerful solutions and easier to setup (YouCompleteMe, for example). I was completly sold out when I tried for the fist time a few years ago. I was pretty happy to drop all my ctags's related scripts.
I use YouCompleteMe at work for large projects (and it still sometimes struggles with looking up some symbols), but for my rather simple personal projects ctags has always been good enough.
I'm heading in similar direction. also using Arch Linux, VIM. do like i3 & tmux, using suckless terminal (I like terminal in true colors). and tend to favor default settings everywhere unless really really forced. installation takes couple hours (IF you know how) - lasts for eternity.
Most modern terminals support true color now [1]. My current favourite is Alacritty because of the combination of speed (hardware acceleration), simplicity (no menus or dialogs), and configurability (including key bindings) with a simple plain-text file that can be kept in version control [2].
I'm a veteran of Linux for 23 years, and been Windows free for 15 years or so. I love Linux. I love my lightweight i3 setup. Neovim, neomutt, weechat, ncmpcpp...
I've been using Linux every day for 15 years now. I love Linux desktop, not perfect, but neither is Windows. I started with Gnome 2, jumped over to KDE 4 and now KDE 5. Very happy with how well and smooth everything works.
Sway has too many bleeding edge dependencies last time I checked, so it’s hard to get built and running on a “conventional” desktop-oriented desktop like Ubuntu.
The author has iirc even actively discouraged Ubuntu and Debian from packaging it, because he doesn’t want distro users creating bug reports on older versions (ie noise) for bugs already fixed in git master.
Once sway lands for regular distro-users, I’ll be there. For now I’ll stick to i3.
What's the appeal behind Wayland? I've been using X for a while now (linux n00b) and I really enjoy having everything like this, there even are a couple apps I use specifically for X11.
It's not perfect, but personally I appreciate the better security model of Wayland. Although it can be annoying if you have to do screensharing/recording. On my older laptop, it also feels more responsive.
I'm on Wayland via Fedora, and we use Zoom for company video conferencing. About 2 months ago they released a new version that started supporting screen sharing on Wayland. Works perfectly.
Edited for grammar and to add this:
My point being is that it's slowly but surely getting better and better.
Which version are you using right now? I have the latest one and it does not allow me to share anything else than a white canvas.
Do you launch zoom somehow differently? For me it behaves like a regular XWayland app
Sadly I'm not able to test this since I'm not running Fedora and GNOME. I'm using sway.
Interestingly enough, Zoom change log does not seem to mention anything related to Wayland support: https://support.zoom.us/hc/en-us/articles/205759689-New-Upda....
Thank you for your comment, will try this in GNOME some time.
I've been using Ubuntu on an Thinkpad L460 for about 9 months now full-time. While there is a curve and I'm always looking for new ways to solve problems. What running Linux has done for me that I didn't expect is to make sure all my code plays nice with other projects.
Example: I've got processes that make models out of stock data and does backtesting. Even though I use my own custom code for a lot of things, I make sure that in the end if someone wants to dump into numpy/pandas they can in just 2 lines.
I started out with Linux to use a free hand-me-down laptop and I stayed when it was powerful and I could still make a living coding with it.
Slightly offtopic: the author says the background of https://hisham.hm/htop/ shows live statistics, that's not the case as far as I can tell, just 4 pre-recorded images shown successively.
Ontopic: Quite impressive setup. For me it would be too strictly regulated for a comfortable use, though technically I like it. To each it's own.
Thanks to Alexander Waldeck for the idea of having htop
itself as the page background! His page actually presents
a live htop session -- mine is just an animated gif with
a few frames stolen from his page. :-)
The drunken-security.at page is offline as far as I can tell, but as I recall it he eventually had to drop the htop background as people were DDOSing him to see the results.
I have been using a very similar setup for 12 years now. In the past few months I've been wondering what the Linux experience is like for newcomers and "normal" users. I am considering doing a clean install with a full fledged modern desktop environment such as KDE. I may not be able to manage such an environment, I fear that it's too constrained compared to controlling everything that runs on my computer. But I'd like to try.
Has anyone done a switch from very minimal keyboard first lightweight environment to a modern desktop environment? If so, what was it like?
I did. It feels good. The interactions are smoother, file managers are more useful. Had to tweak some shortcuts to emulate some moves I am used to in tiling managers.
I went from awesome to KDE (kubuntu 18.04lts).
I do webdev, cm and reports at the moment.
I believe the terminal only approach suits most sysadmin, devops and the like ; not your run off the mill wordpress dev.
In my current setup, I do not even have a file manager installed. I just use the coreutils (cd, ls, mv, cp, rm, etc.).
I'm not doing webdev, I mostly program in different languages (Racket, OCaml, C, and Python mostly) and write a lot of LaTeX. Most of my time is spent in Emacs (it's also were I'm doing my emails) and Firefox.
In addition to graphical file managers, I'm also wondering what it's like to use a mail client such as Thunderbird, Kmail, or Evolution.
Graphical file managers are really good at managing pictures and random arbitrary selections.
I am not using mail clients anymore, only webmail (I have a thunderbird install at work that is used as some kind of back-up/dumpster). I don't spend a lot of time in email or calendars though.
It sounds like a sort of "best of both worlds" scenario...i'm interested in any suggestions. The last several years had me use more debian-centric distros (formerly Ubuntu, nowadays Mint). Is there a pair of DE+tiling WM setup that you suggest might be good? I'm open to recommendations!
For me XMonad+Gnome has worked pretty well. There's a nice PPA[1] that gives you most of what you need then you load the Gnome compatibility options[2] in XMonad config file and everything works. Well, there is one annoyance in that there's some sort of race condition and I have to restart xmonad after everything is up (alt-q by default) if I want windows to avoid the task bar like they should. But that only an extra second when I reboot.
I use i3 daily but every couple of months I switch over to Gnome (I have both installed). I appreciate the appearance of Gnome, but I get frustrated with it's handling of multiple displays (I dock the laptop at work and have two monitors). With i3, the windows stay on their virtual desktops and it's pretty seamless when I dock and un-dock.
That said, it's not very attractive. My partner thinks it's looks bizarre and I don't think I could slide my laptop over to, like, anyone and have them be productive.
I've been using Linux at home without any windows installation for a couple of years, and about 11 years in dual-boot. But my installation resembles a 'windows' computer much more.
I use xfce, but most of my time is spend in a terminal with tmux running for the window configuration. Though, I do have some 'snaps' installed. (Discord, Spotify). So I'm not running entirely inside of the terminal.
For me, this balance is perfect, for any serious work I can just use the terminal/tmux/vim setup, and for relaxing I just have spotify, discord, youtube,.. open on a second monitor.
As for distro, I'm running Debian. I've tried a few others (openSUSE, Fedora, Ubuntu, #!) and by far #! was my favourite for some time, but when it discontinued I went for Debian. I should check out BunsenLabs :)
I really love cwm. It’s a really nice window manager. I used to use Emacs a lot too, but now I just use mg for simple file editing and IntelliJ.
I switched from OpenBSD awhile ago to Linux because 1) OpenBSD is dog slow and 2) a lot of software doesn’t work right with it. However, it’s probably the nicest operating system I’ve ever used.
He has got a nice setup, especially as he's able to choose all of his own software. I've been using Linux as a primary OS since the 90's but I still need to interact with Windows for work.
I used to dual boot my work laptop, which was made easier by Office 365 webapps becoming more usable, but still there were lots of gaps.
This summer I got a new work laptop, and just cloned the existing M.2 drive onto a bigger, faster one I purchased. Now I run the work laptop as a VM image through QEMU/KVM on top of my regular Debian desktop.
This works remarkably well, and has improved my workflow a lot as I now never have to dual boot. Windows even runs faster this way, due to the faster M.2 drive. I'm not sure how I'm going to explain it to the IT department if I ever have to get the laptop repaired though.
> I've been using Linux as a primary OS since the 90's but I still need to interact with Windows for work.
My current job force me to use a Windows computer. You know, it's the company policy. Well it's the last time I take a job witch doesn't let me control my computer and use GNU/Linux.
It feel like I m using the wrong tool for my job. Like use a stone to put nail instead of a hammer.
> I'm not sure how I'm going to explain it to the IT department if I ever have to get the laptop repaired though.
Maybe I'm misunderstanding your setup, but could you not clone the Windows VM partitions to the old M.2 drive (I'm assuming you kept it), swap it back into the machine, make it bare metal bootable, and hand it to IT like that? That way your larger M.2 drive with your whole setup stays safe and secure, and IT is none the wiser.
You are right in essence, but there are a couple of complications:
- If the laptop is broken beyond use, I won't be able to write to the M.2 and I don't have an external M.2 enclosure (and the most likely fix here would be to switch out the drive to an equivalent laptop, then try and boot it up)
- I actually tried writing the image back to the M.2 at the weekend, and it it wouldn't boot, Windows had some error about a required device not being connected on one of those bootup BSODs
Thanks for the follow up. For your second point, my experience has been that you can fix booting when writing a Windows VM partition to a real drive but it involves some BCD black magic and doesn’t always work. Windows 10 in particular has given me issues when trying to do that but it’s fairly straightforward in Windows 7. This guide is written from the perspective of going the opposite direction (real HD to VHD) but it’s basically the same procedure:
Everyone here scoring serious brownie points with their advanced setups. And here I am, having used Linux for my personal setup for 15 years, using pre-installed Ubuntu on a practically default GNOME desktop. It's wonderful that I can do that and be satisfied with that, without significantly hampering the possibility of advanced setups like the ones here.
Despite all the systemd's, PulseAudio's and whatnot's, the customisability is still far greater than it is on OS X and Windows, and we can sometimes fail to appreciate that.
Absolutely second that. I also had my nerd times when I dedicated every free minute to Gentoo compiling, or to configure my screenrc, Xorg.conf, make menuconfig or whatever was in fashion. But in the end, it's an OS, a GUI, it's the basis for getting real work done. I used xfce, GNOME, KDE, it all gets the job done. But somehow I can no more get enthusiastic about spending hours for configuring a tiling WM like Xmonad. I just cannot seem the benefit behind the steep learning curve. And I use my touchpad and my trackpoint. Sorry for that...
You can change window focus from the keyboard, have more than two equally-sized windows, split in both directions, control the wm via i3-msg commands, autostart programs easily.
I use dwm, but it is similar. It has a master area and a stack. The windows "snap" functionality is in several DE now, including gnome. The difference in tiling wm is that 1) it is far more flexible than just one window left and one window right 2) it doesnt take an extra keyboard shortcut, it organizes them automatically.
I would say flip the question around: if I can automatically tile windows, why would I use gnome where I have to do it manually?
Actually, I found this pretty useful. I have to use "graphical" programs (browser, IDE, email client) rather than terminal based ones. And the graphical ones seem to assume that their windows are pretty large.
Let's say I start my server in my IDE and I use my browser to interact with it. Then the bottom right of the IDE (where the console output of the server is) will be visible even with the browser in focus, and so I can see what the log output is doing.
I have got keyboard shortcuts that move windows to predefined positions with predefined sizes. E.g. full height but only the right 85% of the screen. Or full width but only 90% of the height.
i3's "scratchpad" alone is worth switching. You can show/hide a floating window on any workspace with a single hotkey. I use Chrome's app mode to launch dedicated windows for frequently used sites (Calendar, Slack, DevDocs) and I can call them up easily. Works wonderfully for native apps, too, like Spotify.
I tried Gnome recently, and although it's very polished, I switched back to i3 because it wasn't nearly as intuitive to drive with the keyboard.
Honestly, I don't like scratchpad. If you use it on multiple windows, doing `scratchpad show` multiple times causes one window to appear, then disappear, then next window appear, then disappear... and it does this across workspaces. I don't understand when I'd need something like that. It's a weird feature.
Instead, something I really wanted was to be able to toggle the hiding and showing of all floating windows per workspace. It sometimes happens that I just want to work with floating windows for a while, and the number of windows explodes, and I end up with all these floating windows on top of my tiled windows. Using i3 with the default configuration, I had to manually move all floating windows out of the way to get to the tiling windows below, and then move them back when I wanted to work with them again. That was cumbersome, so I did this:
Now, I just press Super+Tab and all floating windows on workspace e.g. 6:some-topic get moved to new workspace F6, and when I press it again they're moved back to 6:some-topic, right where they were. This is workspace independent; the windows belong to a workspace. I can hide the floating windows of however many workspace I want and call them back and they won't get mixed.
I think it's pretty cool that i3's configuration and tooling allow for this kind of advanced configuration. It's like I added a whole new feature.
> If you use it on multiple windows, doing `scratchpad show` multiple times causes one window to appear, then disappear, then next window appear, then disappear... and it does this across workspaces.
You need to create a keybinding that calls `scratchpad show` using a window class qualifier to target the app you want. That's the key to making the scratchpad useful.
On my left side of my screen, I have a series of code windows that I can reach in a tabbed fashion. They're in different code editors. On my right is a notepad stacked vertically with a web browser with documentation. I want to open a new terminal and have everything scoot to the side, then go back to the way it was after I close it. How do I do that with "Super key" + left?
It's something that doesn't seem useful until you've done it for a while, and then it's hard to go back.
1) You can control it from the shell (and hence scripts and hotkeys). For example, `i3 "move to workspace prev"` moves the window to the previous workspace.
2) You can obtain a lot of information of the window manager state (all windows, their sizes, their tree structure, the marks, etc) from i3-msg in JSON format.
1 and 2 mean that the WM is very highly programmable via the programming language of your choice.
3) Workspaces are not fixed. Empty workspaces don't exist unless you're currently in them. You can move a window to a workspace of any name and it will get created. Empty a workspace and when you move away from it, it will be destroyed. This makes it very convenient to work with temporary workspaces.
4) Windows are arranged in a tree structure. Normal windows are leaves. Containers are the branches that take you to those leaves. Containers can be in 4 modes: vertical, horizontal, stacked, or tabbed. That last one means you can tab any set of windows. Why do so many applications implement tabbing when it should be the window manager's job? Stacked is very cool in that it's like tabbing, but the window title doesn't shrink with each added window you have in them. Anyway, this point means that you get a lot of flexibility in how you organize your windows.
5) The configuration gives you a lot of control. These are many small things, so I won't list them all, but as an example, I can put a colored prefix on window and container titles to remind me what they're about without having to focus on them and see their content. I can also match new windows by some criteria and have them appear in a container I tagged without them gaining focus. This is very useful for when I'm doing something in the shell that will cause a window (or multiple) to repeatedly appear but I don't want to lose focus from the shell and I don't want the new window(s) to appear on top of it. As an example of this, I may be running selenium tests which could cause a browser window to appear to show how the tests run. I may also be doing some ad-hoc statistics in octave (cli) and have graph windows appear.
Workspaces are per monitor so its easy to switch all screens at once or just one at a time.
Further i3 has keybinding modes which are sets of keybindings that are activated together. These work like user definable vim modes. A given binding can do one or more operations, and optionally exit the mode.
A brief example.
Everything not in a mode is in the default mode.
A command mode wherein every key is either an action or a mode entered by tapping and releasing left shift.
A workspace switch mode entered by w in command wherein a key is bound to switch to switching to that letter ws. eg left-shift -> w -> a switch to workspace a
An open mode wherein keys are bound to individual applications eg t for terminal b for browser. left-shift -> o t open terminal
Another mode to move a given window to given letter workspace. Another to do the same and switch to it. Another to focus the same app defined in the open mode. Another to get the app from the letter ws.
A mode to control audio including hotkeys for navigating tracks, changing volume, switching all playing streams to different devices, toggling playback.
A mode to kill either the focused app, all in the current workspace or all in the screen. left-shift -> q -> q for current focused, q w for the workspace q e for all visible windows.
You can tab or stack(vertical tab) any app.
You can assign particular workspaces to monitors and particular apps to particular workspaces.
You can a built in tool to run commands based on window rules.
I use it but it is slightly annoying actually. It is vi emulation not vim emulation so e.g. diw does not work. Similarly visual mode involve opening the command line in vim. This can be a little jarring.
I used to have Gentoo, specially when I was a student. It was definitely an interesting experience, and the skills I learnt are useful in many other contexts.
But when I started working, I switched to Debian, maintaining a Gentoo was a bit costly, and when I wanted to try out something, compiling everything was really slow (you frequently have to wait a few hours).
I still use a minimal setup (dwm with some customization and helper scripts: https://github.com/kakwa/dwm-desktop), and frankly, once it's done, you barely have to touch it, I've not touched my setup in years.
Setups such as in the article aren't the result of "nerd times" and spending hours configuring just for fashion. They grow slowly over the years out of necessity and annoyance with your current setup.
> it's an OS, a GUI, it's the basis for getting real work done.
The basis for "getting real work done" is workflow. There is no need to be 100% efficient to be productive, but some people, like probably the writer of the article, like to push it to the upper limits, because they might be extra sensitive to "mouse lag" or some other reason.
There is also the extra perk of consistency. Due to their nature, xfce, GNOME, KDE change and consequently break things. Setups like in the article hardly ever change, even after major upgrades.
P.S.
Also, as the writer mentions, Thinkpad x200: one of the finest GNU laptops ever. Real keyboard, all Fn keys work. It at a point where if software is too heavy to run on it, it's simply not worth running at this time. Any potential software advantages do not outweigh the superior compatibility and haptic of the hardware.
I've heard this a lot. You've spent time on something just because it was interesting to you and not because you saw the benefit of the investment. Naturally, by wasting time solving a problem you never truly had/wanted to solve it's easy to come to a conclusion that it is a waste for everyone else too.
However, I did the same thing as you did and I still use a tiling WM and CLI programs without touching (95% same) configs in the last 5+ years. I am (anecdata I know) faster than anyone who has worked with me and uses a touchpad while editing. All that while being hardware/location independent because I can always replicate my setup easily.
As a related side-note, using a tool properly is a huge productivity booster. I've seen people go from editor1->editor2->editor3 spending significant time learning each tool and still repeating that writing a few config files is a "waste of time".
Absolutely. I, like many others, spent quite a few years in the gentoo/arch+minimal riced tiling wm camp but am now happy and comfy on "bloated" fedora 29 and kde. More than anything it just feels like i've grown out of it, and it's nice having a computer I can actually rely on for once.
I haven't used KDE for 10 years or so, but what makes you prefer that over a tiling wm? Considering you were already there, the learning curve must be zero, and nobody is forcing you to spend any time modifying anything. It kind of just works. At least it does for me.
There are a very few things that I will drop into Gnome to do (I think it's Gnome at least), and I dread it every time. Too many menus everywhere, too much animation, tiny targets that I need to hit with the mouse, etc.
KDE5 is super nice and doesn't resemble the horrors of KDEs past, at least in my opinion, you should give it a try after all this time to see all the great work they've done since you last saw it.
You may want to look into getting a tiling plugin for KDE. I'm in pretty much the same boat as you, used to use tiling WMs but now on Arch + KDE. The KWin tiling plugins are fairly simple - the only configuration is setting shortcuts to move windows around and resize them (I use super+WASD to move between workspaces, super+ctrl+WASD to move windows around on the screen, super+alt+WASD to move windows between workspaces, and super+Q/E to resize windows). That's it - the plugins make using the computer easier in 95% of cases without adding too much complexity, for for the other 5% you just toggle off the tiling and do it manually. And of course the mouse is still usable to move/resize windows.
I currently use the Sticky Window Snapping[0] plug-in which allows resizing tiled windows together (see the demo at the link) and that does most of what I need. A lot of what I do now is fairly horrendous when attempted with a tiling window manager (music production with lots of vst windows open, using mouse heavy programs like Vivado and gimp), which soured me to tilers after using them for years.
I still have my treasured xmonad config available as an xsession for when i'm just doing dev things, and use it most of the time on the laptop I do programming with, but in general plasma5 is such a step up from any older versions of KDE it just works really nicely for everything else.
I'll have a look at the KDE tiling plugins although I'll be surprised if it can replace my xmonad setup (would be nice though).
Have been using mainstream (more or less) stock distros for years.
My customizations are so they're hardly worth noticing. Notably I spend more time fixing a default Windows (show file extensions for known file types etc) than on a typical KDE setup.
I've used Linux as my primary system since 2001 (WinXP wouldn't run on my PC at the time), with a wide variety of distros from Mandrake over Debian, Arch, Gentoo and a bunch of others. Usually going all out on customization and tweaking.
These days, I run an almost bone-stock KDE Neon (which is based on Ubuntu LTS), with a couple of PPAs added to get the latest versions of a couple of the applications I use the most, and that's about it. I keep the default desktop/panel layout and theme, the most customization I've done is turn off all notification sounds and switch to focus follows mouse with no auto-raise.
KDE gets out of my way and lets me do what I want perfectly fine in its default state.
Same for me. The one key feature (that everything else probably can be configured to do if it doesn't do it now out of the box) that I mold my workflow around is the ability to roll the mouse wheel on the background in KDE and switch virtual desktops that way. For command-line (which I'm in all the time), I use yakuake which slides a terminal window down from the top of the screen like Quake used to do with it's console. This simple feature makes it easy for me to switch between a gui-oriented way of thinking and handling the next coding change in a terminal. You can peel off another shell in yakuake and surf between them. Silly, I know, but for me it works great.
I've been using Linux in some form for 15 years. Like you, it's been some pre-packaged usable out-of-the-box distro (Xubuntu, Crunchbang, Mint). I've never once compiled a kernel, as I never had to, or saw the need, and it doesn't seem like fun (neither would fixing the compile errors the inevitably come up when I try to compile anything from C/C++). I've never had audio problems that everyone else seems to have, and I don't get the uproar over systemd.
It all seems to work for me. Am I too much of a Linux noob to appreciate these problems?
15 years ago I used to do Gentoo stage 1 builds and fuck around with all that nonsense. Nowadays I slap Fedora + XFCE on my desktop and every 12-18 months I do a major lift and shift upgrade. I run mostly stock settings as well.
No you're not a noob. All the nonsense I used to go through was just that... nonsense.
Having followed a similar path myself, I'm not sure I'd call it entirely nonsense.
These days it's quite rare I need to dip into that toolbox, but I'm regardless quite glad I learned everything Gentoo taught me. It's often made the difference between "oh that's unfortunate, let me fix it" and "shit, I need to re-install".
The important thing: don't feel like you have to compile a kernel, complain about audio drivers, or use a tiling window manager to be part of 'the club'. The only reason I use Gnome3 instead of xfce these days is the eye candy, and I don't feel bad about it.
If you think that stuff seems interesting, go for it. I'd recommend you install Gentoo in a virtual machine for the fun of it, and to learn about things like init systems, filesystems, software dependencies, etc.
The correct way to use Linux is whatever way you're using it.
I've been using Linux in some form for about 20 years (starting with Slackware), and use it as my default at home for the last few years now. I also just mostly run stock Ubuntu these days. I had some issues running a "headless" system that I only logged into remotely a few years back which required tinkering with config files that I would have rather avoided, but even that seems to have mostly ironed itself out now. I mostly just use Super+left and Super+right for laying out windows, nothing fancy there. Makes it very easy to have your "input" (editor/IDE) on left and "output" (browser or terminal) on right.
I envy you a bit, because a standard GNOME to me is about as useful as Windows, just more stable? :P
I don't run a complicated (to some, compared to this it's probably only half-complicated) setup because I want to, because I fiddled with it until it didn't get in the way anymore.
I've had and seen the coolest desktops on Linux and other unicies. If you're knowledgeable, you have available to you some amazing things.
Linux did lag in performance, but features like virtual desktops, notifications, transparency, and other things were easily a decade ahead of OSX and Windows.
I remember in 2008 in class, playing World of Warcraft via Wine in a window, while also taking notes, tailing logs, streaming music, and writing code, on a pentium III with 2G of ram. If I wanted full attention for WoW, I could go fullscreen, while xchat would still display my IRC messages along the top of the screen.
This simply was not possible on a Windows machine.
I loved to see people's faces light up and have them say "How did you do that??". Oh, I'm using Linux.
Sliding windows, multiple terminals bound to hotkeys, and graphics that were not bound by some UX gatekeepers that are afraid to overwhelm people's senses.
I think it is good to play to your strengths. Linux will never be Windows or OSX.
Yeah, I remember that Quartz was far more advanced than X. My favorite at the time, e16, never supported translucency or transparency very well. But I love that it tried.
It's probably nostalgia talking, but I miss the gnarly desktops that used to be so common.
I remember when Hulu came out in 2009, the default reaction from the community was to release python scripts that auto-ripped it and piped the video into mplayer. Today, the reaction is to compromise our OS by supporting Widevine DRM or some other nonsense.
It probably did more to advocate for Linux when we weren't afraid to be different, or break the rules for the user.
Maybe it's egotistical, but this used to be the experience of using a Linux laptop ten years ago:
https://xkcd.com/272/
Linux actually felt more capable than Windows in a lot of ways, except maybe some hardware support.
Today, it is:
Oh, you're using Linux because you couldn't afford a Windows license, right? Linux is to Windows as OpenOffice is to Microsoft Office?
I'm also a Vista era convert to linux and still using a practically default Ubuntu image. However this fits with my original ethos for changing - at the time I was running a brand new business and just didn't have time to trouble shoot my OS. I ran Debian for about 6months before realizing that my time at work could be better spent focusing on my customers instead.
It's liberating to know I can burn everything down, reinstall, pull my dot files from git and get coding again.
Well, for instance, there's this meme that GNOME only removes stuff, and people complaining that "GNOME developers don't let you do anything". To me, my knee-jerk response to that is always: this is Linux! Use something else if you want more customisability, because you can!
There is the notion of "opiniated software" which I am a fan of. Seems to that I probably would be quite happy with GNOME if I would be a Linux user.
More to the point though, doesn't a complain such as you stated imply that the complaining party is aware of high configuratibility as an expected standard?
Off topic, but I really enjoyed his post about commuting to work by bike[1]. I was in Krakow, Poland, and getting around by bike was a joy.
Unfortunately, here in Ukraine drivers are very aggressive and the infrastructure for biking is just not in place.
A while back I moved to Arch with Xmonad, dmenu, tmux etc, but for about a year now, my workstation has been the same tools on top of Ubuntu Server. I have an Ansible playbook that I can apply to a fresh install and have almost my whole working environment ready to go - just a few things I haven't got around to including/automating.
The great thing about running this kind of setup is that you need a deeper understanding of Linux to do all the things that you would otherwise rely on a fully-fledged DE to do for you. For me, this has translated into greater fluency on servers, because my daily driver more closely resembles one.
My setup is Ubuntu Budgie and i3 for hardcore sessions, but I also have been using Ansible even for configuring my desktop with great success. It's really convenient when getting new hardware or doing a reinstall.
It's been about 10 years since I used linux on the desktop. I notice this post on the front page and think: "Great! Let's have a look at what a modern linux desktop can look like.."
Oh.. It looks exactly like running a high resolution VGA-mode console with tmux and no X. :P
That's not a modern Linux desktop setup. For that, you'll need to see the default install of an up to date distro. Spoilers: it looks like the desktop of any modern OS. For example, GNOME resembles OS X.
Over the years I have been going more and more towards the text interface side. It turned out that very few things are inherently graphical. If you know how to use a shell and a text editor you have the opportunity to do everything in a very straightforward way. That way can be very seductive as it never changes all that much. You can go decades without having to learn anything significantly different. The world of the big time desktop environment is still finding its way. It has been a mostly a bunch of arbitrary changes so far so for now at least I choose the simple way.
Eye candy remains available. One of the things I love about Linux on the desktop is that you're free to use that stuff or not, according to personal taste. And personally, I find that eye candy reduces the space available for text, which is much more information-dense. A screenshot from my machine would look much like the one in the article.
> I find that eye candy reduces the space available for text
Not all eye-candy does that. Some years ago, because I missed having some eye-candy, I installed a compositor, made my windows translucent and got them to do opening and closing animations. I also put a screensaver as a moving background. It looked very cool and was just as information dense as it was originally. However, with so much eye-candy, it was hard to focus on the content and I felt my eyes strained. I ended up feeling much better when I turned it all off.
Right now, I don't even have a background, but I find information-dense tiling-wm setups have their own aesthetics. If you asked me what looked cooler / better / more usable, a "modern" GUI (like Windows, OSX, or Ubuntu's default) or a tiling-wm setup with mainly terminal windows, I'd have to say it's the latter.
I recently saw a thing about xmonad not under any circumstances being ported to wayland, due to its very high level of integration with X. Which to me read as, would require a rewrite rather than there can be no successor. Still, someone does have to actually put in the work.
I'm always kind of amazed at this kind of desktop setups, and I guess they're not suitable for lots of people for the simple reason that most users have a "consumer" relationship with computers and not a "producer" one.
My biggest question here for people with this kind of text setup would be: don't you surf the web? Do you use then lynx or another text web browser? What about services and platforms that are designed from scratch with images and video as a prominent part of that UI? (Twitter, Facebook, Amazon store for example)?
I guess you simply switch to a visual browser and some visual tool to play video (vlc, mplayer), but I'm curious and I wonder if that text/keyboard mode can be satisfying or convincing for users that are used on the traditional visual UI with windows, icons and the mouse paradigm.
I see the advantages here (OP mentions some of them), but I wonder if the trade offs for the normal user are to big to work in this kind of setup. Who would you recommend this to?
It's not all-or-nothing. Just because you use a tiling window manager and like to operate it with the keyboard doesn't mean you can't use your mouse any more.
I used to use i3, and I used Firefox for browsing.
I used the keyboard to layout the windows where it was more convenient, but I clicked on buttons with a mouse when that was more convenient.
I now use the standard Ubuntu setup, not for any particular reason, just because it's the default. I often miss being able to conveniently layout terminal windows with just a few keystrokes. Trying to keep terminal windows neatly tiled with a non-tiling window manager is so annoying that I don't even bother.
That makes perfect sense, of course. The way the author speaks about that setup could make someone guess that he does everything in text mode. It would help to add information about those other user cases in which the mouse and a visual app comes forward.
In this instance I would imagine that for browsing they would use either Qutebrowser or Surf. I run a very similar setup and use firefox, but that's only because I have about 300 tabs open in normal setup :)
Just because they run urxvt per workspace doesn't mean they can't run another program in a specific workspace, though. It's not a terminal-only setup in the same way that the tty is a terminal-only setup.
Firefox and a Windows VM are the major reasons for me to reach for my mouse. There's also nm-applet, and obviously gimp and inkscape, but I rarely use those. Oh, and cut'n'paste tends to be easier with the mouse, though xsel can sometimes be useful. Everything else can be controlled from the keyboard. (Like the OP, I use XMonad as well.)
For videos in particular, mplayer can be controlled purely by keyboard. There are GUIs for mplayer (I seem to recall anyway), but I've never used them.
Whether this is the right setup for anyone in particular depends on which apps they use often. Not everything maps nicely to the "everything is text" doctrine. But where it does, the wins are major: text is super easy to handle, index, search, generate. It's easier to record macros to handle text than to do GUI stuff. It's easier to write little tools to process and generate text than to do anything GUIish. Output of these tools again is text, so it composes in the same way that shell pipeline does. Version control works best with text. It's like tarpit of win, the more you dig in the more sense it makes :)
I mean the idea isn't to never use the mouse, just use it where appropriate and don't do the back and forth of mouse to keyboard which slows you down. (One great aspect of thinkpad's trackpoint is that you never need to move your arm to click something)
I mean it's kinda dumb to reach for the mouse to hit C-c C-p enter then reach for it again to focus your editor.
Well, I have a very similar environment, but I use KDE instead of xmonad and therefore have a much more consumer-oriented desktop at first sight. In addition, I hide my tmux and vim in yakuake, so that I have access to them at any time via a hotkey (F12).
When you look at my monitor you see just a clean, normal desktop with a few Firefox windows (1-3) and maybe a dolphin in the taskbar, not realizing there are a bunch of shell sessions hidden behind a hotkey ;-)
I can't speak for everyone, but I use a tiling window manager with Firefox on a specific tag ("virtual desktop", but not) which I browse mostly using VimiumFF, an extension that gives me vim keybindings for navigation. Pressing "f" puts a small tag over each link with a set of characters (ff, jj, de, df, etc) and typing the characters in that tag opens the link.
This sounds fantastic and I was about to install it, but I paused when I saw the required permissions:
Access your data for all websites
Read and modify bookmarks
Get data from the clipboard
Input data to the clipboard
Access browsing history
Display notifications to you
Access recently closed tabs
Access browser tabs
Access browser activity during navigation
... this seems excessive - especially clipboard and historical items.
Those are all necessary permissions since the plugin is basically building a completely new keyboard-driven chrome. It is not simply a skin that remaps a bunch of key bindings.
For example, to open a bookmark from the command line requires read access to your bookmarks in order for the plugin to present you with the list of bookmarks and eventually allow you to search or navigate it somehow. The same applies to opening something from your browsing history or resurrecting a closed tab. Tab switching requires access to the tabs. Clipboard access is for things like copying URLs or the selection in visual mode to the clipboard.
Vimium itself is open source on GitHub and you can see for yourself what it's doing with your data. The Firefox port is by one of the most active project contributors.
> most users have a "consumer" relationship with computers and not a "producer" one.
Linus Torvalds avoids Linux distributions like Gentoo or Arch because he believes the whole point of a distribution is to make it easy for the end user to install and use useful apps on top of it.
He also doesn't care about trivialities like bash vs zsh. It doesn't (and shouldn't) matter to 99% of people.
>Maybe we can recognize different users have different needs, and what's right for some isn't for others.
Exactly, and that's supposed to be the whole reason we have different distributions in the first place, so that they can cater to people who have different preferences.
>Yeah, when you spend your life in a shell, the choice shouldn't matter, right ? Just like carpenters shouldn't care about saws...
To be fair, I think that on just about any distro it should be pretty easy to set a different shell like zsh for your preference. It's not quite the same as wanting to run i3 on Ubuntu.
I personally use Chrome or more recently Firefox with Vimium installed. Vimium allows most web surfing to be done without a mouse.
https://vimium.github.io
I use w3m which can display images inline (im sure there is a way for lynx to do this as well) I use this for 4chan and HN.
For all other web needs I just hit super+shift+w and it makes a new chromium window in a new workspace.
Writing custom keybinds for launching weirdly specific applications is my favorite part of i3. My least favorite part of i3 is dealing with parts of the UI that I am very used to being graphical, like sound management. I end up installing gnome applets but I would love an alternative to widgets in i3bar.
231 comments
[ 212 ms ] story [ 1875 ms ] threadIt's much more complicated than the workstation setup I use at work.
A desktop setup is my Xiaomi laptop with Ubuntu 18.04 that I use as media caster or to browse amazon while on the couch.
It works flawlessly, much better than the preinstalled Windows 10 in chinese.
As to the content itself, the insights, configs and tools listed are great. My setups have very similar objectives, but solving a lot of these mundane problems can mean days, so I'm definitely saving this for later.
What? No.
A desktop is a computer sitting on the top of your desk. And on the software-side there is the Desktop Metaphor, which describes an interface that behaves like the top of your desk, with free arrangement of all meaning of your work.
This article on the other side describes a workspace with multiple machines and mostly no free arrangement of work-elements. So it's not fullfilling the hardware-definition, and pretty weak on the software-definition.
This article is clearly about a workspace that blows beyond the classical workspace-definition of a desktop. Which is good IMHO, but means we need better namings for such things, and even if it's just for the sake to distinguish different tools and workflows. We are now moving to integrate Mobile Devices like iOS&Android into our workspaces, and on Windows-tablets we have touch-interfaces which start to be very different from normal mouse&keyboard-interfaces. And then there is also the classical terminal-interface, which this article is very heavy leaning toward.
> A desktop is a computer sitting on top of your desk.
Besides the fact that the author indicated he's using a laptop hooked up to a 40" monitor, kind of necessitating the computer to be sitting on his desk, his use of "desktop" in general is referring to his everyday workflow. For some people, that's Windows and Windows specific apps. For others, it's macOS and its specific apps. For yet others, it's a Linux or BSD desktop environment, whether stock or customized. The fact that he's using a laptop as a workstation does not magically render his established work environment "mobile", and even if it did, he's still using a desktop environment of his own making.
> This article on the other side describes a workspace with multiple machines and mostly no free arrangement of work-elements.
Maybe we're reading different articles, but I see no mention whatsoever of what you're going on about. I see where he at one point mentions "multiple computers", but this in no way invalidates his desktop environment and software setup as violating some made-up rule about what is or isn't a "desktop".
I currently use five computers at home not counting my iPhone: A HP EliteDesk set up as a Windows gaming system, a Dell PowerEdge T310 server running Slackware Linux, converted into a workstation by adding a GPU and sound card and tweaking the BIOS, a mac Mini for music production and general Mac-specific things, a Raspberry Pi 3B+ for experimenting with IoT, and a HP Elite X2 convertible laptop for quick tasks away from my desk and occasional use at work.
Now, according to your logic apparently I can't possibly have a "desktop" setup because I use more than one computer, of more than one form factor, for more than one task at a time, and not always glued to my desk. That's total bullshit.
Also, please tell me where I insulted you. I called you out for gatekeeping and did so rather politely. If you consider a rebuttal to be an insult I’d advise you to grow a thicker skin before interacting with others or you’re in for a lot of disappointment.
Definitely not Desktop.
He is using just a window manager.
[1] https://en.wikipedia.org/wiki/Desktop_metaphor
For what it's worth, I find the desktop metaphor in UX design a pretty tiring historical artefact. A desk, as a workstation, is the way it is because of physics. Computationally driven user interfaces don't have those constraints and it's awkward, not to mention short-sighted, at least in my opinion, to force one upon the other.
It's a Xiaomi Air 12
I bought it almost 2 years ago, never had a problem It runs vanilla Ubuntu without a glitch
The specs are not great, but it's a nice home laptop
What is complicated about the setup? What makes you think he can't cast media or browse Amazon on his laptop while sitting on the couch?
Everything.
> What makes you think he can't cast media or browse Amazon on his laptop while sitting on the couch?
I never said he can't, it just took a lot more time for him than it took for me to do it.
Are regular drivers going out for groceries tuning their engine to perfection everytime they need to go buy milk?
That's what a desktop is all about, a computer sitting on a desktop dedicated to a worker, not a pro, and expert, a tuner, a nerd, a geek, someone who loves machine carnally.
Just regular folks that know ho to do what they have to do and that's just it.
I've been a Linux user for the past 15 years, I installed my first Slackware in 1996, but I wouldn't say my setup is desktop ready.
I don't know how many of my 13 thousands coworkers would have been able to solve the problems I had with Debian and my Lenovo P-70 multi monitor setup. I'm sure many of them think I'm crazy spending so much time on it, when they have a problem they call IT and until IT doesn't solve it, they are not working, and are happier.
That's a desktop computer.
Terrific non-answer.
You seem to be projecting a lot. He never mentioned that it took him a long time to do anything. And just because he doesn't use a readymade workflow or a graphical user interface for some of his applications his setup is not a Desktop setup?
> That's what a desktop is all about, a computer sitting on a desktop dedicated to a worker, not a pro, and expert, a tuner, a nerd, a geek, someone who loves machine carnally.
This has to be the weirdest bikeshedding argument I've ever seen. The only reason I can think of why you're so insistent on this distinction is to brag.
> I don't know how many of my 13 thousands coworkers would have been able to solve the problems I had with Debian and my Lenovo P-70 multi monitor setup.
Yup. There it is.
It's not.
It's an honest to heart answer.
this is very complicated for a basic setup (https://xmonad.org/tour.html) even if one knows how to do it
> He never mentioned that it took him a long time to do anything
It surely did.
It's not a simple setup, it's a custom tailored "this is good because I can use Haskell" setup
It took a lot of time just to get to understand what he's doing
> This has to be the weirdest bikeshedding argument I've ever seen.
It's not.
It's important to let people know that GNU/Linux is already more than ready for the desktop and that GNU/Linux on the desktop is not about masturbating over complex stuff to get things done
> The only reason I can think of why you're so insistent on this distinction is to brag.
Mate, you're overreacting.
> Yup. There it is.
Dude, you're seriously overreacting.
I did nothing special, just followed some guide on the internet, it took me days to get there, so nothing cool again. It's a multi monitor setup, who does a tech job on the laptop-screen-only anymore?
Do you wanna know the best part?
Until I figured out how to setup HiDPI (another thing that on Ubuntu on my home laptop worked out of the box) I had to use the laptop monitor, a 17 inches 4k, with the font size to 24 or it was to small to even read.
Cool ah?
I'm going to brag about it with Linus now...
It's just something that people who are not tech enthusiasts don't do.
Get used to it.
There's nothing to brag about being obsessed by DIY.
I don't think about the software installed on that computer at all.
Also: desktop computers, in my opinion, pre-date the "desktop metaphor" and GUI environments.
I kind of doubt that. When the metaphor was introduced by Alan Kay in 1970, there were no desktop computers. If you consider microcomputers the first desktop computers, which you should since their predecessors, minicomputers, were "cabinet" computers, then the Micral N in 1973 would be the first "desktop" computer.
When Alan Kay was working on GUI environments, it was on equipment that pretty much nobody could access, it was very expensive and few units were sold. Still, it's interesting to note that the Altair was not a desktop computer that could literally sit on a desk: it came in a cabinet that was meant to sit on the floor.[1] ;-) The irony!
When Apple released the Macintosh, I believe most people were interacting with desktop computers that lacked a GUI desktop environment. Specifically I was thinking of the IBM PC XT [2], although, as you note, there was more to the field than just that.
[0]: https://en.wikipedia.org/wiki/Micral
[1]: https://en.wikipedia.org/wiki/Xerox_Alto
[2]: https://en.wikipedia.org/wiki/IBM_Personal_Computer_XT
Some ascribe to the diction that 'perfection is reached when there is nothing left to take away', depending on your starting point you either end up with a lightweight environment like Xmonad (et al) plus a few tools or at a lobotomised full desktop like Gnome.
It does resemble mine, either.
In fact I'm not a desktop user.
> or at a lobotomised full desktop like Gnome
That's super not nice.
Regular people want a tool, not something you fall in love with and spend most of the day refining.
Most people have hobbies outside of the tech world, they will spend hours growing their gardens, but couldn't care less about "keyboard focuesed" or "run programs in the terminal" or "I quickly noticed the huge compile time of KDE".
If they can't use it properly, like they are used to, it's broken for them.
And they're not wrong.
I mean, desktop usage is meant for people who work with computers. They spend several hours a day in front of them and therefore require ergonomic chairs and the like. If you want to use your laptop on your couch, that is completely okay, but you are probably not doing some of the things people at desks are doing (like decrypting compilers errors etc.).
Practically everyone works with computers.
> They spend several hours a day in front of them and therefore require ergonomic chairs and the like.
That includes almost everybody.
> like decrypting compilers errors etc
I do that on my couch.
Desktop setup is a computer set up for desktop use, AKA, _for regular people everyday use_, that come bundled at most with some productivity suite (usually Office or Office clones).
Xmonad is not desktop ready, on the contrary, it harms Linux penetration on the desktop segment.
Ubuntu is a desktop setup, Fedora is a desktop setup, ElementaryOS is a desktop setup (etc. etc. etc.)
If you are compiling, you are already a pro user.
A desktop user doesn't fight with the default configuration, a desktop user adapt to the default configuration.
They might change the desktop background and WM theme, and that's all.
> Since i’s a bitmap font
There are more powerful solutions and easier to setup (YouCompleteMe, for example). I was completly sold out when I tried for the fist time a few years ago. I was pretty happy to drop all my ctags's related scripts.
To me, it looks like an upcoming solution to the 'code completion' problem.
I can recommend the unaboomer's rice vids for a fun evening https://www.youtube.com/channel/UC2eYFnH61tmytImy1mTYvhA
[1] https://gist.github.com/XVilka/8346728 [2] https://github.com/adambyrtek/dotfiles
Firefox + Tridactyl
i3 + i3bar + dmenu + rofi
dunst
Powershell instead of zsh
No desktop manager
I use zsh for regular getting around and opening stuff but anything that needs logic I do in pwsh.
It's been so many years and I often take for granted what's before my eyes -- i3 is solidly in the "pry it from my cold dead hands" category.
I also personally found sway makes setting offsets for 2 monitors somewhat easier than X11.
The author has iirc even actively discouraged Ubuntu and Debian from packaging it, because he doesn’t want distro users creating bug reports on older versions (ie noise) for bugs already fixed in git master.
Once sway lands for regular distro-users, I’ll be there. For now I’ll stick to i3.
It is and has been quite stable as a regular user on the sway-git version for awhile, but I can't comment on what it's like for Ubuntu or Debian.
Edited for grammar and to add this:
My point being is that it's slowly but surely getting better and better.
With the previous version I had the same thing, only allowed me to share white canvas.
Here's the process hierarchy:
Besides installing the new RPM, I haven't done anything differently.(see my other comments here)
I'm happy on Ubuntu LTS with a couple PPAs for latest mesa and some other applications.
More recreational though, gaming through Steam's Proton or Lutris, big thanks to Valve for sponsoring wine, dxvk an various other bits and pieces!
Example: I've got processes that make models out of stock data and does backtesting. Even though I use my own custom code for a lot of things, I make sure that in the end if someone wants to dump into numpy/pandas they can in just 2 lines.
I started out with Linux to use a free hand-me-down laptop and I stayed when it was powerful and I could still make a living coding with it.
Ontopic: Quite impressive setup. For me it would be too strictly regulated for a comfortable use, though technically I like it. To each it's own.
Has anyone done a switch from very minimal keyboard first lightweight environment to a modern desktop environment? If so, what was it like?
I went from awesome to KDE (kubuntu 18.04lts).
I do webdev, cm and reports at the moment.
I believe the terminal only approach suits most sysadmin, devops and the like ; not your run off the mill wordpress dev.
I'm not doing webdev, I mostly program in different languages (Racket, OCaml, C, and Python mostly) and write a lot of LaTeX. Most of my time is spent in Emacs (it's also were I'm doing my emails) and Firefox.
In addition to graphical file managers, I'm also wondering what it's like to use a mail client such as Thunderbird, Kmail, or Evolution.
I am not using mail clients anymore, only webmail (I have a thunderbird install at work that is used as some kind of back-up/dumpster). I don't spend a lot of time in email or calendars though.
[1]https://github.com/Gekkio/gnome-session-xmonad
[2]http://hackage.haskell.org/package/xmonad-contrib-0.15/docs/...
That said, it's not very attractive. My partner thinks it's looks bizarre and I don't think I could slide my laptop over to, like, anyone and have them be productive.
I use xfce, but most of my time is spend in a terminal with tmux running for the window configuration. Though, I do have some 'snaps' installed. (Discord, Spotify). So I'm not running entirely inside of the terminal.
For me, this balance is perfect, for any serious work I can just use the terminal/tmux/vim setup, and for relaxing I just have spotify, discord, youtube,.. open on a second monitor.
As for distro, I'm running Debian. I've tried a few others (openSUSE, Fedora, Ubuntu, #!) and by far #! was my favourite for some time, but when it discontinued I went for Debian. I should check out BunsenLabs :)
This is one of the first things i do on a new setup, to chane them to use "meld".
I switched from OpenBSD awhile ago to Linux because 1) OpenBSD is dog slow and 2) a lot of software doesn’t work right with it. However, it’s probably the nicest operating system I’ve ever used.
I used to dual boot my work laptop, which was made easier by Office 365 webapps becoming more usable, but still there were lots of gaps.
This summer I got a new work laptop, and just cloned the existing M.2 drive onto a bigger, faster one I purchased. Now I run the work laptop as a VM image through QEMU/KVM on top of my regular Debian desktop.
This works remarkably well, and has improved my workflow a lot as I now never have to dual boot. Windows even runs faster this way, due to the faster M.2 drive. I'm not sure how I'm going to explain it to the IT department if I ever have to get the laptop repaired though.
My current job force me to use a Windows computer. You know, it's the company policy. Well it's the last time I take a job witch doesn't let me control my computer and use GNU/Linux. It feel like I m using the wrong tool for my job. Like use a stone to put nail instead of a hammer.
Maybe I'm misunderstanding your setup, but could you not clone the Windows VM partitions to the old M.2 drive (I'm assuming you kept it), swap it back into the machine, make it bare metal bootable, and hand it to IT like that? That way your larger M.2 drive with your whole setup stays safe and secure, and IT is none the wiser.
- If the laptop is broken beyond use, I won't be able to write to the M.2 and I don't have an external M.2 enclosure (and the most likely fix here would be to switch out the drive to an equivalent laptop, then try and boot it up)
- I actually tried writing the image back to the M.2 at the weekend, and it it wouldn't boot, Windows had some error about a required device not being connected on one of those bootup BSODs
https://blogs.technet.microsoft.com/jonjor/2011/10/04/vm-doe...
Despite all the systemd's, PulseAudio's and whatnot's, the customisability is still far greater than it is on OS X and Windows, and we can sometimes fail to appreciate that.
I would say flip the question around: if I can automatically tile windows, why would I use gnome where I have to do it manually?
Let's say I start my server in my IDE and I use my browser to interact with it. Then the bottom right of the IDE (where the console output of the server is) will be visible even with the browser in focus, and so I can see what the log output is doing.
I have got keyboard shortcuts that move windows to predefined positions with predefined sizes. E.g. full height but only the right 85% of the screen. Or full width but only 90% of the height.
I tried Gnome recently, and although it's very polished, I switched back to i3 because it wasn't nearly as intuitive to drive with the keyboard.
Instead, something I really wanted was to be able to toggle the hiding and showing of all floating windows per workspace. It sometimes happens that I just want to work with floating windows for a while, and the number of windows explodes, and I end up with all these floating windows on top of my tiled windows. Using i3 with the default configuration, I had to manually move all floating windows out of the way to get to the tiling windows below, and then move them back when I wanted to work with them again. That was cumbersome, so I did this:
bindsym $mod+Tab exec "current_workspace=\\"$(i3-msg -t get_tree | jq -r 'recurse(.nodes[]) | select(.type == \\"workspace\\" and ([recurse((.nodes, .floating_nodes)[])] | any(.focused))) | .name')\\"; floating_workspace=\\"F${current_workspace%:*}\\"; if i3-msg -t get_tree | jq -e \\"recurse(.nodes[]) | select(.type == \\\\"workspace\\\\" and .name == \\\\"$current_workspace\\\\") | .floating_nodes | length > 0\\"; then i3 \\"[workspace=$current_workspace floating] move to workspace $floating_workspace\\"; else i3 \\"[workspace=$floating_workspace floating] move to workspace $current_workspace\\"; fi"
Now, I just press Super+Tab and all floating windows on workspace e.g. 6:some-topic get moved to new workspace F6, and when I press it again they're moved back to 6:some-topic, right where they were. This is workspace independent; the windows belong to a workspace. I can hide the floating windows of however many workspace I want and call them back and they won't get mixed.
I think it's pretty cool that i3's configuration and tooling allow for this kind of advanced configuration. It's like I added a whole new feature.
You need to create a keybinding that calls `scratchpad show` using a window class qualifier to target the app you want. That's the key to making the scratchpad useful.
Problem solved! Here is your quake terminal toggle.
It's something that doesn't seem useful until you've done it for a while, and then it's hard to go back.
1) You can control it from the shell (and hence scripts and hotkeys). For example, `i3 "move to workspace prev"` moves the window to the previous workspace.
2) You can obtain a lot of information of the window manager state (all windows, their sizes, their tree structure, the marks, etc) from i3-msg in JSON format.
1 and 2 mean that the WM is very highly programmable via the programming language of your choice.
3) Workspaces are not fixed. Empty workspaces don't exist unless you're currently in them. You can move a window to a workspace of any name and it will get created. Empty a workspace and when you move away from it, it will be destroyed. This makes it very convenient to work with temporary workspaces.
4) Windows are arranged in a tree structure. Normal windows are leaves. Containers are the branches that take you to those leaves. Containers can be in 4 modes: vertical, horizontal, stacked, or tabbed. That last one means you can tab any set of windows. Why do so many applications implement tabbing when it should be the window manager's job? Stacked is very cool in that it's like tabbing, but the window title doesn't shrink with each added window you have in them. Anyway, this point means that you get a lot of flexibility in how you organize your windows.
5) The configuration gives you a lot of control. These are many small things, so I won't list them all, but as an example, I can put a colored prefix on window and container titles to remind me what they're about without having to focus on them and see their content. I can also match new windows by some criteria and have them appear in a container I tagged without them gaining focus. This is very useful for when I'm doing something in the shell that will cause a window (or multiple) to repeatedly appear but I don't want to lose focus from the shell and I don't want the new window(s) to appear on top of it. As an example of this, I may be running selenium tests which could cause a browser window to appear to show how the tests run. I may also be doing some ad-hoc statistics in octave (cli) and have graph windows appear.
Further i3 has keybinding modes which are sets of keybindings that are activated together. These work like user definable vim modes. A given binding can do one or more operations, and optionally exit the mode.
A brief example.
Everything not in a mode is in the default mode.
A command mode wherein every key is either an action or a mode entered by tapping and releasing left shift.
A workspace switch mode entered by w in command wherein a key is bound to switch to switching to that letter ws. eg left-shift -> w -> a switch to workspace a
An open mode wherein keys are bound to individual applications eg t for terminal b for browser. left-shift -> o t open terminal
Another mode to move a given window to given letter workspace. Another to do the same and switch to it. Another to focus the same app defined in the open mode. Another to get the app from the letter ws.
A mode to control audio including hotkeys for navigating tracks, changing volume, switching all playing streams to different devices, toggling playback.
A mode to kill either the focused app, all in the current workspace or all in the screen. left-shift -> q -> q for current focused, q w for the workspace q e for all visible windows.
You can tab or stack(vertical tab) any app.
You can assign particular workspaces to monitors and particular apps to particular workspaces.
You can a built in tool to run commands based on window rules.
You can save and restore entire windows layouts.
This alone keeps me using i3.
If don't already know about `set -o vi` in `bash`, prepare to be delighted.
But when I started working, I switched to Debian, maintaining a Gentoo was a bit costly, and when I wanted to try out something, compiling everything was really slow (you frequently have to wait a few hours).
I still use a minimal setup (dwm with some customization and helper scripts: https://github.com/kakwa/dwm-desktop), and frankly, once it's done, you barely have to touch it, I've not touched my setup in years.
Setups such as in the article aren't the result of "nerd times" and spending hours configuring just for fashion. They grow slowly over the years out of necessity and annoyance with your current setup.
> it's an OS, a GUI, it's the basis for getting real work done.
The basis for "getting real work done" is workflow. There is no need to be 100% efficient to be productive, but some people, like probably the writer of the article, like to push it to the upper limits, because they might be extra sensitive to "mouse lag" or some other reason.
There is also the extra perk of consistency. Due to their nature, xfce, GNOME, KDE change and consequently break things. Setups like in the article hardly ever change, even after major upgrades.
P.S. Also, as the writer mentions, Thinkpad x200: one of the finest GNU laptops ever. Real keyboard, all Fn keys work. It at a point where if software is too heavy to run on it, it's simply not worth running at this time. Any potential software advantages do not outweigh the superior compatibility and haptic of the hardware.
After all nobody argues that buying a fishing pole and driving out to the lake is the fastest way to get dinner.
However, I did the same thing as you did and I still use a tiling WM and CLI programs without touching (95% same) configs in the last 5+ years. I am (anecdata I know) faster than anyone who has worked with me and uses a touchpad while editing. All that while being hardware/location independent because I can always replicate my setup easily.
As a related side-note, using a tool properly is a huge productivity booster. I've seen people go from editor1->editor2->editor3 spending significant time learning each tool and still repeating that writing a few config files is a "waste of time".
There are a very few things that I will drop into Gnome to do (I think it's Gnome at least), and I dread it every time. Too many menus everywhere, too much animation, tiny targets that I need to hit with the mouse, etc.
Here's a newer script that overall seems to work better: https://github.com/lingtjien/Grid-Tiling-Kwin
And the older script I used to use: https://github.com/faho/kwin-tiling
I still have my treasured xmonad config available as an xsession for when i'm just doing dev things, and use it most of the time on the laptop I do programming with, but in general plasma5 is such a step up from any older versions of KDE it just works really nicely for everything else.
I'll have a look at the KDE tiling plugins although I'll be surprised if it can replace my xmonad setup (would be nice though).
[0] https://store.kde.org/p/1112552/
Have been using mainstream (more or less) stock distros for years.
My customizations are so they're hardly worth noticing. Notably I spend more time fixing a default Windows (show file extensions for known file types etc) than on a typical KDE setup.
These days, I run an almost bone-stock KDE Neon (which is based on Ubuntu LTS), with a couple of PPAs added to get the latest versions of a couple of the applications I use the most, and that's about it. I keep the default desktop/panel layout and theme, the most customization I've done is turn off all notification sounds and switch to focus follows mouse with no auto-raise.
KDE gets out of my way and lets me do what I want perfectly fine in its default state.
It all seems to work for me. Am I too much of a Linux noob to appreciate these problems?
No you're not a noob. All the nonsense I used to go through was just that... nonsense.
These days it's quite rare I need to dip into that toolbox, but I'm regardless quite glad I learned everything Gentoo taught me. It's often made the difference between "oh that's unfortunate, let me fix it" and "shit, I need to re-install".
If you think that stuff seems interesting, go for it. I'd recommend you install Gentoo in a virtual machine for the fun of it, and to learn about things like init systems, filesystems, software dependencies, etc.
The correct way to use Linux is whatever way you're using it.
I don't run a complicated (to some, compared to this it's probably only half-complicated) setup because I want to, because I fiddled with it until it didn't get in the way anymore.
Linux did lag in performance, but features like virtual desktops, notifications, transparency, and other things were easily a decade ahead of OSX and Windows.
I remember in 2008 in class, playing World of Warcraft via Wine in a window, while also taking notes, tailing logs, streaming music, and writing code, on a pentium III with 2G of ram. If I wanted full attention for WoW, I could go fullscreen, while xchat would still display my IRC messages along the top of the screen.
This simply was not possible on a Windows machine.
I loved to see people's faces light up and have them say "How did you do that??". Oh, I'm using Linux. Sliding windows, multiple terminals bound to hotkeys, and graphics that were not bound by some UX gatekeepers that are afraid to overwhelm people's senses.
I think it is good to play to your strengths. Linux will never be Windows or OSX.
It's probably nostalgia talking, but I miss the gnarly desktops that used to be so common.
https://www.ghacks.net/wp-content/uploads/2008/12/e16_screen...
http://nova.polymtl.ca/~coyote/picturesd/linux/enlightenment...
https://joindiaspora.com/uploads/images/scaled_full_803a5625...
https://joindiaspora.s3.amazonaws.com/uploads/images/scaled_...
http://i.imgur.com/SIvEH.jpg
I remember when Hulu came out in 2009, the default reaction from the community was to release python scripts that auto-ripped it and piped the video into mplayer. Today, the reaction is to compromise our OS by supporting Widevine DRM or some other nonsense.
It probably did more to advocate for Linux when we weren't afraid to be different, or break the rules for the user.
Maybe it's egotistical, but this used to be the experience of using a Linux laptop ten years ago: https://xkcd.com/272/
Linux actually felt more capable than Windows in a lot of ways, except maybe some hardware support.
Today, it is: Oh, you're using Linux because you couldn't afford a Windows license, right? Linux is to Windows as OpenOffice is to Microsoft Office?
It's liberating to know I can burn everything down, reinstall, pull my dot files from git and get coding again.
I've never met a Linux user who failed to appreciate that.
More to the point though, doesn't a complain such as you stated imply that the complaining party is aware of high configuratibility as an expected standard?
1: https://hookrace.net/blog/cycling-to-work/
Reminds me of Gibraltar Airport: https://www.youtube.com/watch?v=58jaCJ5i9hU
A while back I moved to Arch with Xmonad, dmenu, tmux etc, but for about a year now, my workstation has been the same tools on top of Ubuntu Server. I have an Ansible playbook that I can apply to a fresh install and have almost my whole working environment ready to go - just a few things I haven't got around to including/automating.
The great thing about running this kind of setup is that you need a deeper understanding of Linux to do all the things that you would otherwise rely on a fully-fledged DE to do for you. For me, this has translated into greater fluency on servers, because my daily driver more closely resembles one.
Oh.. It looks exactly like running a high resolution VGA-mode console with tmux and no X. :P
(Probably very effective though!)
Not all eye-candy does that. Some years ago, because I missed having some eye-candy, I installed a compositor, made my windows translucent and got them to do opening and closing animations. I also put a screensaver as a moving background. It looked very cool and was just as information dense as it was originally. However, with so much eye-candy, it was hard to focus on the content and I felt my eyes strained. I ended up feeling much better when I turned it all off.
Right now, I don't even have a background, but I find information-dense tiling-wm setups have their own aesthetics. If you asked me what looked cooler / better / more usable, a "modern" GUI (like Windows, OSX, or Ubuntu's default) or a tiling-wm setup with mainly terminal windows, I'd have to say it's the latter.
My biggest question here for people with this kind of text setup would be: don't you surf the web? Do you use then lynx or another text web browser? What about services and platforms that are designed from scratch with images and video as a prominent part of that UI? (Twitter, Facebook, Amazon store for example)?
I guess you simply switch to a visual browser and some visual tool to play video (vlc, mplayer), but I'm curious and I wonder if that text/keyboard mode can be satisfying or convincing for users that are used on the traditional visual UI with windows, icons and the mouse paradigm.
I see the advantages here (OP mentions some of them), but I wonder if the trade offs for the normal user are to big to work in this kind of setup. Who would you recommend this to?
I used to use i3, and I used Firefox for browsing.
I used the keyboard to layout the windows where it was more convenient, but I clicked on buttons with a mouse when that was more convenient.
I now use the standard Ubuntu setup, not for any particular reason, just because it's the default. I often miss being able to conveniently layout terminal windows with just a few keystrokes. Trying to keep terminal windows neatly tiled with a non-tiling window manager is so annoying that I don't even bother.
You should be able to do that using the "Super key" + e.g. left or right
I tried i3 a year ago, and didn't find much value in it since my terminal is already tiling.
Just because they run urxvt per workspace doesn't mean they can't run another program in a specific workspace, though. It's not a terminal-only setup in the same way that the tty is a terminal-only setup.
For videos in particular, mplayer can be controlled purely by keyboard. There are GUIs for mplayer (I seem to recall anyway), but I've never used them.
Whether this is the right setup for anyone in particular depends on which apps they use often. Not everything maps nicely to the "everything is text" doctrine. But where it does, the wins are major: text is super easy to handle, index, search, generate. It's easier to record macros to handle text than to do GUI stuff. It's easier to write little tools to process and generate text than to do anything GUIish. Output of these tools again is text, so it composes in the same way that shell pipeline does. Version control works best with text. It's like tarpit of win, the more you dig in the more sense it makes :)
I mean it's kinda dumb to reach for the mouse to hit C-c C-p enter then reach for it again to focus your editor.
When you look at my monitor you see just a clean, normal desktop with a few Firefox windows (1-3) and maybe a dolphin in the taskbar, not realizing there are a bunch of shell sessions hidden behind a hotkey ;-)
Access your data for all websites Read and modify bookmarks Get data from the clipboard Input data to the clipboard Access browsing history Display notifications to you Access recently closed tabs Access browser tabs Access browser activity during navigation
... this seems excessive - especially clipboard and historical items.
For example, to open a bookmark from the command line requires read access to your bookmarks in order for the plugin to present you with the list of bookmarks and eventually allow you to search or navigate it somehow. The same applies to opening something from your browsing history or resurrecting a closed tab. Tab switching requires access to the tabs. Clipboard access is for things like copying URLs or the selection in visual mode to the clipboard.
Vimium itself is open source on GitHub and you can see for yourself what it's doing with your data. The Firefox port is by one of the most active project contributors.
Linus Torvalds avoids Linux distributions like Gentoo or Arch because he believes the whole point of a distribution is to make it easy for the end user to install and use useful apps on top of it.
He also doesn't care about trivialities like bash vs zsh. It doesn't (and shouldn't) matter to 99% of people.
Ubuntu is hard (not impossible, just harder than Arch) to setup the way I want my computer to be.
It's not hard to install useful apps on top of Archlinux (can't speak about Gentoo, never tried it), it's maybe not intuitive at first.
Maybe we can recognize different users have different needs, and what's right for some isn't for others.
> trivialities like bash vs zsh
Yeah, when you spend your life in a shell, the choice shouldn't matter, right ? Just like carpenters shouldn't care about saws...
Exactly, and that's supposed to be the whole reason we have different distributions in the first place, so that they can cater to people who have different preferences.
>Yeah, when you spend your life in a shell, the choice shouldn't matter, right ? Just like carpenters shouldn't care about saws...
To be fair, I think that on just about any distro it should be pretty easy to set a different shell like zsh for your preference. It's not quite the same as wanting to run i3 on Ubuntu.
For all other web needs I just hit super+shift+w and it makes a new chromium window in a new workspace.
Writing custom keybinds for launching weirdly specific applications is my favorite part of i3. My least favorite part of i3 is dealing with parts of the UI that I am very used to being graphical, like sound management. I end up installing gnome applets but I would love an alternative to widgets in i3bar.