That mode works OK on touchscreens, in the sense that any app with tiny buttons to click does. I have tried using a tablet with a pen but it is a heavily modal UI so it feels a little bit like old fashioned light pen territory, as much CAD does. Not like an iPad app; they need designing differently.
Quite a lot of progress on macOS FreeCAD crashes because they changed an exception handling strategy for exceptions outside the Qt loop, if I remember right. Some crashing in 1.1RC that is being fixed. In general it crashes a whole lot less than it did in 0.20, say. But if you can reproduce them, definitely report them.
I also like (and was lucky enough, as a young man, to find a physical copy of) Asimov's "An Easy Introduction to the Slide Rule." It's my favorite introductory text. PDF copies can be found on the web.
Faber-Castell had new-old stock in the mid 20-teens, but they ran out (of stock or patience) around 2016–2018. Picked up a 2/83N for under $100, and I wish I'd gotten more. I'd suggest some of those are on eBay now.
Most of my like-new rules came from antique malls, though I've also purchased one from Etsy. Estate sales are occasionally fruitful. As long as they were stored properly (e.g., in a desk drawer, like it seems they mostly were after the electronic calculator took over), they don't degrade. Occasionally you see minor yellowing that is cured by some time in the sun. Carrying cases (often leather) are typically more affected by time. I soak new (to me) leather cases in neatsfoot oil and give them at least a week before putting the rule back.
You could make your own with prints from the Slide Rule Museum [0]. 3D printing would make quick work of it, but I'm sure wood or metal units could be accomplished. The cursor benefits from spring loading,
They also have some pretty nice simulators [1], if that's your thing.
In the same boat with you. Not quite the same configuration (some version change issues, lost it once in an 'rm' accident that followed a symlink to / [I learned that day...] and had to start from scratch, rewrote for fun once), but my sole desktop from '09 to '23 when I switched to Niri. My reasoning here: https://news.ycombinator.com/item?id=45462034
This was on my Bonobo WS (PopOS) w/ 2x NVidia GTX 1080s, multiple screens (2 1080p, 1 4k at 2x scaling), etc. No issues other than app support.
Highly recommend trying it. Very low barrier to entry.
Niri convinced me to give up xmonad. I ran xmonad exclusively for 14 years.
Being able to have an unlimited number of windows on a desktop (without continually switching the tiling structure) makes them collections of topics rather than having multiple desktops bounded by what fits comfortably. What used to be a switch from the "editor and terminals" desktop to the "browser" desktop is now horizontal movement on the current desktop to the related browser window (general browsing is on a different desktop).
Really low barrier to entry, works great out of the box. There were some wayland teething issues (application support, e.g., no Zoom), but nothing that couldn't be overcome (occasionally by falling back to X). Most of those have been resolved with time.
I'm running a 1-2 year old build of niri (because it isn't broken), so I've not experienced some of the fancier animations & etc. others dislike.
I consider cloning and building from source to be low barrier to entry if it doesn't involve major setup effort (it doesn't/didn't), so I may be biased. Caveat emptor.
I'm still running an older version (ain't broke, won't fix), but I keep getting recommended the newer versions for features. I'll check them out eventually.
We're using xwayland-satellite rather than Xwayland directly because X11 is very cursed. xwayland-satellite takes on the bulk of the work dealing with the X11 peculiarities from us, giving niri normal Wayland windows to manage.
xwayland-satellite works well with most applications: Steam, games, Discord, even more exotic things like Ardour with wine Windows VST plugins. However, X11 apps that want to position windows or bars at specific screen coordinates won't behave correctly and will need a nested compositor to run. See sections below for how to do that.
For me, the appeal of i3/sway's model is that by having a desktop per topic (eg, one for browser, one for code, one for slack, etc) I can instantly jump to the topic I need with a single key press. The desktops I assign never change, so it's always Super+1 for my browser and Super+4 for Slack. It's all muscle memory, and I could do it in my sleep. When I jump to that desktop, everything is open and tiled. This was a revelation to me coming from MacOS, where I was constantly hunting for windows with Cmd+Tab or squinting at thumbnails in Mission Control. So I'm surprised to hear that you prefer Niri's scroll model, which to me sounds like hunting for windows all over again.
I don't think of the things you listed as "topics". Browser, code, slack, etc.. seem more like tasks or activities to me.
I used to use i3 on a 49" super ultrawide monitor (32:9) and when I did each desktop was truly a topic, with a deep arrangement of windows on it and tabs to switch different areas over to different tasks.
My primary interest in tiling window management is being able to see all of the things that I need to see at once, at once. For me, it's all about context-- placing related windows next to one another. It seems like for others it's about being able to switch between a limited set of fullscreen windows quickly.
I like that Niri gives me a flexible way to divide my workspaces by topic without the windows stealing screen-space from each other. It doesn't feel much like hunting for windows, it feels like... a materialized view of alt+tab. Maybe I have a browser to the right of my editor and a terminal to the left. I can quickly shuffle back and forth between being able to edit while also seeing one or the other.
I even have this binding to cycle the columns to the right of the active window:
Mod+Tab hotkey-overlay-title="Cycle windows to the right" {
spawn "fish" "-c" "niri msg action focus-column-right; niri msg action move-column-to-last; niri msg action focus-window-previous";
}
Not OP, but I typically only have 1–2 windows per workspace. I use tabs in both browser and terminal (eg via tmux). So it seems like niri's scrolling capabilities wouldn't bring much to my use case.
Yes same here but with i3, I ran it for over 10 years but niri was just an instant 'aha' moment for me.
I will say, recent builds have a 'mini map' sort of zoom-out feature that I quite like - my one critique of niri was that I would sometimes get 'lost'.
I might give Niri a shot at some point, but yes, this is my thought too: this is more or less the same as having multiple tabbed panes, which enables the grouping GP refers to.
I was running i3 and sway foe years and tabbed tiles never really clicked for me the same way scrolling did. The first time I used a scrolling WM (I tried on of the plugins for sway or hyprland IIRC) it was an immediate revelation. However the sway/hyprland version were always a bit quirky, while niri "just works".
For those on older niri versions I have to say the "zoom out" overview feature is definitely worth the upgrade. As another poster said it really fixes the one issue on scrolling/ tiling wms, which is getting lost.
Newly started applications receive focus, so they're visible by default. They are inserted right of the current view, so recovering the previous active pane is consistent ("left pane" keybinding, or the appropriate gesture).
Things on other desktops are invisible in every WM.
The only difference with niri is the possibility for things to be left or right of the current window. Overview helps with that, but I know what I expect to be on a specific desktop (it's related to the topic) and seldom need it.
Like imagine editor is on ws2, you open a terminal to /tmp/ to check something quick, it scrolls to the right, then jump to ws3 for your file manager and other stuff and go back to your editor.
Now you want to access that terminal on /tmp/ again. Where was it?
In i3, I just spam-switch workspaces in this case, but at least I can find them. With scrollable wms, every ws can potentially hold that target app.
If you have (having had "Editor" focused, and just opened "TermT"):
Editor | (TermT) | Term | Browser
(FM) | Term | Browser | etc.
(where pipe delimits a pane and parens are the active pane), if you go "next desktop" from "TermT" (the terminal at /tmp), that moves you down the stack of desktops. Moving up the stack of desktops returns with focus on "TermT". You'd then go "left pane" from "TermT" to get back to the editor.
The answer (for me) is to think of desktops as topics. The terminal on /tmp is with the things that prompted its creation. If I needed to check some log output, for example, it's with the project that made that log output.
Edit: Note that there's nothing keeping you from stacking those terms if you like, i.e., the appropriate keybinding goes from the previous to
Editor | (TermT), Term | Browser
(FM) | Term | Browser | etc.
where the terms stack vertically in the ribbon of the desktop.
I think they aren't referring to "where does it go?" and more being forgetful.
If you have something that would be reasonable to open on any workspace because it's ephemeral (they used a tmp terminal as an example), and you open it, navigate away from it, and then switch workspaces a few time, and then get pulled into a meeting or go to lunch, and come back, switch workspaces a few more times...
"Where did I leave that terminal, I dont remember where I was when I opened it."
In i3wm/sway etc, you can cycle all your workspaces and eventually one of them will have it visible. On Niri, as you cycle through all your workspaces you may never see it because you don't see all the windows in a workspace, unless you scroll through the workspace panes as you cycle workspaces.
It's not a problem necessarily, but it is something to consider. It sounds like this doesn't affect your workflow, but it might affect others.
That's true, you do end up with some windows hidden or partially visible. Niri is still tiling, though, so with proper management you can avoid making too much use of the infinite strip (though that would defeat the purpose of niri).
This seems like a good place to note the "center window" keybinding for windows that don't fit well in the screen (e.g., 2/3 wide pane next to 2/3 wide pane, or 1/3 pane on the right end of the stack next to a full-screen pane).
Vastly preferable to having to look at the edge of the screen.
The only thing I feel like is missing from niri is a scratch layer. There are some apps that just don’t need to be tiled and it’s nice to have access to them immediately no matter “where” you are. Perfect example is matrix client. If the wife texts me I want to become able to pop that sucker up immediately and reply, not find the “matrix client workspace”. Plus it’s tiny and doesn’t need to be tiled. Same with media players.
Yeah, I have been wanting this. The way it works on Sway is "okay", but it would be nice to have a floating workspace that can be shown or hidden on top of whatever your active workspace is. The workaround most people are using seems to be a named workspace for scratch.
In my case I've found niri's workflow quite nice for these scratch windows, since every new window opens to the immediate left of the currently focused window, and doesn't affect the size or tiling of any other windows, they're just shifted to the right.
Many of those apps minimise when closed and reopen when calling, so often it is not really an issue (although it's sometimes annoying that you have to specifically tell the apps to exit when you do want to close).
I've been using i3 for 7 years now, and my immediate response to the scrolling thing was "why?" and after reading your comment, I'm still trying to understand. As one would expect for any tiling wm, the screenshots only show how pretty it can be, and don't really illustrate how it helps with productivity.
Would you mind going into more detail on what actually happens when you move horizontally? What happens when you have a fullscreen editor, then slide over to a half-screen browser? Do you only see half the editor, or does the editor get squished?
One thing I desperately want is a tiling wm that is also a browser. Like if surf ran a practical engine and was more deeply integrated into dmenu.
I was using i3/sway for years previously as well (and some awesome, qtile before that). The big difference is window size.
Generally I believe most people like to order their workspacesroughly by topic, e.g. all work related Windows on one, browser or on another, some also do all terminals on one...
Now with sway/i3 I often found myself in the situation where I was e.g. on the "browser" desktop and you read something you quickly want to try in, e.g. ipython, or you are working on a latex document and want to briefly open a PDF. In i3 that would reduce the size of your original window, so you end up switching to a workspace (or you manually switch to tabbed tiling) for me the mental overhead was significantly higher and I was ending up creating more and more workspaces just to hold temporary terminals.
This is actually related to why I switched to i3 in the first place, I just felt vertical tiling is the only tiling that makes sense in 95% of the cases and that just worked best in i3. But that comes at the cost that you are limited to only 3-4 tiles per workspace (depending on screensize) now in niri I have infinite theoretically. Which means I spend less mental overhead when I want to open another window (which is really thebgoal of tiling wms in my opinion, reduce thinking spend on window management)
Thank you for the explanation! Between your explanation and a Youtube video I found of someone using it, I think have a grip on the "why" now. Interestingly, it seems like I might use i3 a little differently than you did. A single working context for me can span many desktops, and I just work in a way that keeps my number of concurrent working contexts low. I only ever have 1-2 programs on any given desktop, and even 2 is unusual. I keep every window in tabbed mode. When I need a scratch "thing" (nautilus, terminal, localc, whatever) it opens as a new tab. If I need it side-by-side with that desktop's primary window, I pop it out using mod4+shift+left/right. This accomplishes a similar thing to that Niri is getting you, just with different ergonomics. It probably helps that I have good habits around closing unused tabs / programs.
Yes it seems like you're using i3 quite differently. I agree that if you good discipline about opening and closing windows in the right workspace/tile i3 can give you a more structured layout. I just found for myself even if I tried I could not keep the discipline up (I doesn't help that I often work on several things at the same time).
I think that's the beauty of tiling WMs (and I consider scrolling WMs a subset), you can really adjust them to suit your work flow even if work flows might be very different. In contrast stacking WMs seem to be more a lowest common denominator type thing. They work with every workflow, but suboptimal.
I think my i3 "style" came from using a 12-inch thinkpad for many years. The small screen size and low resolution force you to work in certain ways. And if I had left 100 Firefox tabs open on that machine's second-gen mobile i5, I think it would have melted straight through the desk.
Re. pane size, it's normal tiling behavior. Panes can be take the full screen or some percentage (I like 1/2, 2/3, and 1/3). If the widths add to 1, both panes fill the screen.
If the widths don't add to 1, there are two possible behaviors (configurable). Either the newly focused pane adheres to the size of the screen (e.g., scroll right from the full screen editor and the half-screen browser is on the right border with half the editor visible), or the newly focused pane centers on the screen. I prefer the first behavior, but I make significant use of the "center pane" keybinding.
The Video Demo section in the README gives a pretty good demonstration of this behavior in the first 10-15 seconds.
Edit: To add to this thought and address some comments elsewhere about losing windows, I use "struts", which show P pixels of the panes to the left and right (when they exist) of the current view as a visual aid/reminder of where I am in the ribbon. These reduce the size of the tiled section of the screen and the calculation of pane size accordingly.
The WM has no job being the browser, but yes we should be able to run firefox without tabs like it's surf (and stop doing part of the WM's job). But you cannot practically do that.
Zen browser (which is derived from Firefox) does a really good job of making this the default (at the expense of mainly supporting vertical tab lists, which I've come to love).
NixOS will get you there (or anywhere, to any version, of any thing, and/or back again) just by pinning any conceivable package (and it has more than any other Linux distro) to a particular nixpkgs hash.
I thought of this because it sounds like one of the reasons you're not upgrading it is fearing the risk of it fucking everything up and it being a pain to roll back (your "it ain't broke, so why fix it?" is a hallmark of that mentality). Well...
I will never use another Linux distro for this specific reason. NixOS is the complete freedom to dip in, dip out, roll back on problems, try new things out, etc. The freedom to experiment, try it, back out if there's any issue... but with seatbelts, thanks to the declarative nature of everything (as well as being able to pick previous "instances" on boot).
Afraid of Nix (the language)? LLM's make that trivial these days. For example, I just did something like this today: "Instead of using the one in nixpkgs, whose build has issues on my hardware, set up a derivation that uses its git repo and compiles that instead." A minute later, boom. Declarative working glory, forever.
I've been using Claude and Codex and both are excellent; I imagine Gemini would be too. Likely Grok as well. They're all smart enough to be helpful at this point.
I've been running Xmonad for about 16 years and, having read the description and watched the video think I will keep on doing so. It looks to me like the cognitive load of the horizontally scrolling strip is higher than that of the paged approach used by e.g. Xmonad just like it is a lot harder to locate a specific section in a vertically scrolling unpaged ream of text than in a paged book. Especially on pages with many windows - 10 terminals on page 1 is more or less standard, 2 large ones stacked in the middle flanked by 4 smaller ones on each side - I keep track of which terminal goes where based on (among others) location. This works because all 10 of them are visible at the same time, it would not work if the display only shows one or two of them at a time. Am I missing something or is this WM/compositor more suitable to smaller displays which can not show all that many windows at the same time?
Of course I also use X11 so this thing would not work for me anyway.
> Am I missing something or is this WM/compositor more suitable to smaller displays which can not show all that many windows at the same time?
IMO smaller screens are where it shines, but you can also vertically stack within a column in Niri for similar density compared to tiling if you want.
> I keep track of which terminal goes where based on (among others) location.
I think this is a pretty nice benefit of Niri actually, having a second dimension to work with makes it much easier for me to keep track of windows because I can reduce the total number of workspaces and instead rely in part of relative location to other windows without being forced to fit all of them completely on screen. When I don't need my full screen real estate I often set up splits so that a little bit of the offscreen window is still visible and it makes it effortless to remember whats there.
Well it does look beautiful but I don't think I can go back to anything that's un-paged neither, after 17 years of dwm. Also, just watched a bit of an XMonad demo which reminded me how much I love the simplicity of dwm's tiling workflow based on having a master window per page (dwm's tag) because it completely removed the burden of window management for me with barely any configuration, I wonder how I'd do without it ... Probably going to try XMonad just to feel the difference, maybe I'll like it.
What do you mean by un-paged? I just looked at dwm and I don't see that it has anything that other tiling wms don't have. Xmonad, i3, sway... all have workspaces/tags.
Niri also has named workspaces, but when I switched to niri, I realised I only want named workspaces for very few things everything else is just temporary.
Depends. For the Founders of the US, it was a base assumption that the state was a bad actor. It's usually a good bet (i.e., it pays off more times than not), IMHO.
And fair enough. Nevertheless, it's not an ad hominem to attribute to the state a characteristic which has been observed in every form of government. Barring the newest (though COVID response ["lockdown" and similar] provided an example for most), no state has ever avoided tyranny in the long-term. It must necessarily be so, if only because man is fallible and power corrupts.
The founders of the USA believed the counter to tyranny was to keep government weak, so that when even the slightest hint of restriction on life, liberty, or property crept in it could be stomped out by the people. The Founding Fathers too were fallible and built a form of government which could not long guarantee those desirable characteristics. I argue the USA is a bad actor in many regards, and I trust it not. That said, it's the best of a bad lot, IMO.
> It's usually a good bet (i.e., it pays off more times than not), IMHO.
If that was actually true, why do you put up with The State? Why do you not overthrow it? Seriously: if the state/government is bad why do you even have it?
Is the (municipal) State being a bad actor when it paves roads and runs water-sewage? Is the (state/provincial) State a bad actor when it runs schools? Is the (federal) State being a bad actor when it protects waters with Coast Guard and Navy and enviornmental regulation, when it inspects food, funds science and medicine?
It seems to me you get what you expect: the (e.g.) Nordics expect government to be a good actor and try to live up to those expectations; (some?) Americans expect government to be a bad actor and try to dismantle it… creating a self-fulfilling prophecy. Perhaps if more Americans expected and fought for / 'demanded' better government they would get it.
Governments are overthrown regularly (I count 13 such cases just in the 2010s). Mine hasn't yet made it to the point where such actions are needed --- if and when it does, you may judge me by my actions.
As for why we have government: the alternatives are unstable and devolve into government, or are weak easily brought to the submission of other states (those powers having a natural incentive in land, people [historically: slaves], and other natural resources to invade weak or disorganized neighbors).
Re. your other points, if we can have those discussions we're likely not in the grips of tyranny. Tyranny has a way of making you accept the potholes and the fact you don't have water 5/7 days (beats dying in a labor camp, and you probably don't have fuel for your car anyway).
Since you asked, though: Paving and water/sewage are not inherently tyrannical. Acquiring the right of way may be. Schools are not inherently tyrannical, but may be used subversively to produce a populace willing to be governed under tyranny. Protecting territorial waters it not inherently tyrannical, but military might can certainly be used in a tyrannical manner. Inspection of food and funding of science and medicine are not inherently tyrannical, but the taxation required for that funding may be, as could be e.g., requiring the use of the output of that funded medicinal research.
In summary, I'm saying that every government must be watched carefully by its citizens lest it devolve into tyranny. By assuming this trend (demonstrated time and again through history) to be indicative of future risk, I am prepared for that eventuality. By continued vigilance, I implicitly fight for the opposite. By continued discourse, I demand the same of my peers (and they of me, mitigating my own tyrannical traits).
Personally, I wouldn't trade my government (imperfect though it may be) for a 50% nominal tax rate and sub-arctic climate. That said, it's no surprise to me that the Kingdom of Norway, a parliamentary monarchy with 4% the land area and less than half the population density vs. USA, populated by 80% ethnic Norwegians, would have a very different form of and perspective on government than the third largest country (by land mass), de-facto world hegemon, a federated republic populated by 360 million children of colonists and immigrants. Horses for courses.
The short answer is that disinterested means unbiased, having no conflicts of interest, impartial. So a judge in a court should be disinterested, but not uninterested.
Using "disinterested" to mean "uninterested" has become more common over the past few decades, rather than using it in the older sense of "having no stake in the outcome, having no bias or partiality with respect to a conflict."
An example would be saying that someone was "disinterested" in what was happening on TV, or in music that was playing.
Now, if the random crashing were fixed, that would make a real difference for me...