Live data from Hacker News

Linux Desktop Setup

hookrace.net

161–170 of 232 posts

Re: Linux Desktop Setup

#161

Earlier quoted context omitted.

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…

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".

Re: Linux Desktop Setup

#162
post #13

In similar vein but vastly different: Firefox + Tridactyl i3 + i3bar + dmenu + rofi dunst Powershell instead of zsh No desktop manager

I have PowerShell installed on Linux, but I don't ever use it. Is that your main shell? How does that work out for you on Linux?

Re: Linux Desktop Setup

#163

Earlier quoted context omitted.

On Gnome I can use "Super key" + left key if I need multiple aligned windows on my screen. Can you still convince me to try i3 :) ?

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 intu…

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:

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.

Re: Linux Desktop Setup

#164
post #35
post #29

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 cus…

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 Xmona…

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.

Re: Linux Desktop Setup

#165
> rem -m -b1 -q -cuc12 -w$(($(tput cols)+1)) | sed -e "s/\f//g" | less

Regarding composability:

Suppose I want to add the following to that calendar:

1. two little emojis (or ASCII art) at the top to scroll among months. Bound to left/right arrow keys, and also clickable with mouse. This is a common feature of the calendar widgets I've seen.

2. clickable mutable daily content. So if I peruse my calendar and spot an error I can click to select, fix it, then click off it to update it.

Can this be achieved only using shell scripting?

Re: Linux Desktop Setup

#166
post #35
post #29

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 cus…

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 Xmona…

That's needlessly dismissive.

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.

Re: Linux Desktop Setup

#167
post #46

Earlier quoted context omitted.

Until you switch to sway, which is basically i3, but for Wayland. Good bye X11!

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…

Sway is very close to a 1.0 release, 1.0-rc4 was just released: https://github.com/swaywm/sway/issues/1735

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.

Re: Linux Desktop Setup

#168
post #47

Earlier quoted context omitted.

This is why most of people love i3 as tiling wm. Just put it in top of gnome/xfce/whatever, run the first installation wizard and you are done.

On Gnome I can use "Super key" + left key if I need multiple aligned windows on my screen. Can you still convince me to try i3 :) ?

What I like most about i3 is:

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.

Re: Linux Desktop Setup

#170
post #29

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 cus…

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.

Post reply on HN