• 0 Posts
  • 28 Comments
Joined 2 years ago
cake
Cake day: June 12th, 2023

help-circle


  • Gnome-flashback by default is an old-school Gnome DE (Desktop Environment) that comes with a simple, conventional WM but allows you to swap in any WM you like while it operates in the background. Mainstream Gnome Shell DE is inextricably tied to its WM so you can’t swap into that. So with Gnome-flashback you can swap in i3 and get a curated Gnome DE with your own (i3) WM.

    It means you don’t have to reinvent everything that makes a DE just to use i3 WM. You get things like the Gnome settings GUI including monitor configuration and restoration on hotplug; clipboard manager; theming; audio/brightness hotkeys just work; USB drives automount, and more. Lots of convenience and utility you want and need but otherwise have to identify, install, configure and set up manually. Without using an already curated DE you have to reinvent one, or at least reinvent the parts of one you can’t live without.

    Gnome-flashback is not the only DE that allows swapping in a different WM. My own experience has found it a bit of a PITA every time I try to use it on an OS with an updated Gnome version, requiring poking around, searching and debugging. Sadly, there seem to be limited options for low effort, well polished, curated i3/sway DE.


  • I like to use i3 in a desktop environment so I don’t have to reinvent the wheel of sundry support details like hotkeys and monitor behavior, automounting USB drives.

    I’ve used gnome flashback with i3, just like regolith, and decided to try using regolith to get the full curated environment but I found their obfuscation of what’s going on impossible to deal with. Just working out how to change configuration was a huge pain in the ass and had to be done the regolith way.

    But every new OS release with a new version of flashback etc. doesn’t seem to work right, so I am contemplating giving up and just going direct window manager and accumulating all those sundry details of a DE manually.



  • Hilarious to have to look this low for it, but who want to stand up and declare themselves mainstream.

    Polished, reliable, and solid, and snaps are not a big deal or an insidious evil, and neither is Canonical. They make missteps for sure. But with containers etc stability is more important than immediate updates and it’s excellent about kernel updates for new hardware. It’s slick Debian, and if the fuckery ever gets real switching to Debian is easy.


  • I’m still on i3 as it’s been convenient, but this:

    this has all become very specialized over the past decade

    resonates. I keep incrementally adding personal tweaks and hotkeys to my setup, and I have all my dotfiles in a repo so it’s persistent across installations.

    One example was I made my headphone button pause/play videos with i3’s config:

    bindsym XF86AudioPlay exec playerctl play-pause
    

    But then I adopted a script to toggle mic mute on work Zoom meetings, so I combined it with the above - if I’m in a meeting it toggles mute, otherwise it play-pauses any current video. The script, for now:

    #!/bin/bash
    #
    # Handler script for hitting mute on the headphone.
    #
    
    CURRENT_WINDOW=$(xdotool getwindowfocus)
    
    # convoluted command to find the intersection of two searches
    ZOOM_WINDOW=$(comm -12 \
      <(xdotool search --name  'Meeting' | sort) \
      <(xdotool search --class 'zoom'    | sort))
    
    if [[ -n "$ZOOM_WINDOW" ]]; then
        # if zoom is active, toggle mic mute
        xdotool windowactivate --sync ${ZOOM_WINDOW}
        xdotool key --clearmodifiers "alt+a"
        xdotool windowactivate --sync ${CURRENT_WINDOW}
    else
        # otherwise do play/pause
        playerctl play-pause # will fail if no player found
    fi
    

    and of course I altered the i3 config to launch that script rather than playerctl directly.

    [EDIT: Updated script as Zoom updated its window identities]



  • sping@lemmy.sdf.orgtoGNU+Linux Humor@lemmy.mlDurga, goddess of Emacs
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    1 month ago

    I’m not surprised Emacs users would be seeking them out

    They aren’t. Someone did it, probably more than one person, but if you look hard enough you can find people who do all sorts of weird stuff. It’s not an “Emacs thing” at all.

    This and the joke itself really make me wonder about bizarre Emacs (and Emacs users) that exists in people’s heads.

    I see you use capital letters in your post, so you presumably used a modifier key (shift) - unless you do modal caps with CapsLock all the time. I don’t know why people find that normal and easy, but as soon as it’s Ctrl or Alt they get in a tizzy and start talking about RSI.

    Funny how over the decades I’ve known many Emacs users, and many RSI sufferers, but the overlap in my Venn diagram of that is exactly one person.







  • Although I came from vi (pre-vim and pre-evil) and still have the muscle memory, I don’t and haven’t used it myself.

    I hear it described as a “nearly complete” and “very comprehensive”. There is definitely a solid community of people using and enjoying it, but on the other hand there are always some reports of getting tired of having to work through, and sometimes extend, an additional interface layer, so in the long run being happier to just adopt the default bindings.

    I know there are a few areas where trying to follow common vim workflows doesn’t work as well. Historically the performance of line number display been weak in Emacs, though I believe it’s recently much improved. A lot of people seem to make heavy and constant use of it in vim but conversely for me (and I think it’s more common in Emacs) it’s only an occasional, transient need when some external log or error quotes a line number, so I have them only displayed when I hit the go-to-line binding.

    Overall, I think the most frustrating issues people have trying to adopt Emacs from vim are due to trying to impose their specific familiar vim workflows. The most obvious example is people concerned with startup time, but for more typical Emacs workflows it’s a non-issue. Users typically stay in Emacs rather than jumping in and out of it from a terminal (and if you really want that workflow, you run one instance as a daemon and pop up a new client to it instantly). My Emacs instance’s uptime usually matches my computer’s uptime.

    The draw of Emacs is not about it only being an editor so much as a comprehensive and programmable text environment. It is a lisp-based text-processing engine that can run numerous applications, the primary being an editor (the default, or evil, or others…) but also countless other applications like file managers, VC clients, subprocess management and many others. It 95% replaces the terminal for me, and many other tools. So it’s the environment through which you view and manipulate all things text that is very accessible to modify and extend to fit your needs. Hence the joke about it being an OS is pretty apt, though to believe it needs a good editor implies vim isn’t a good editor ;).


  • Which Emacs community? I’ve been following it for ages in a few places (Reddit is the most common) and I literally do not encounter any of that. Calling it evil was humor - as if people who went to all the bother making it would be trying to push people away…

    Using the evil package is very popular and often recommended, which means literally using it like vim, but with all the Emacs ability on top. I don’t know what on earth you’re talking about.



  • I have a similar approach but primarily in Emacs rather than a terminal. Tiling WMs — i3/Sway specifically — have definitely become home.

    I’ve been through a bunch of tiling WMs after Ubuntu dropped Unity (where I had enjoyed some light pseudo-tiling but wanted more). I started with i3 but couldn’t shake the feeling it was kind of impure and slightly inelegant. But every other one I tried had more annoyances and weirdness and I came back to i3. To me, i3 it is to tiling WMs as Python is to programming languages - nagging feelings of impurity, limitations, and grubby corners, but in the end it is very practical and gets the job done well and has been refined over the years to round off its rough edges.

    Recently with things like PaperWM I thought perhaps I could get the benefits of being closer to mainstream, but after trying to get comfortable I just could not and am back on i3 and will switch to Sway eventually.

    I3’s model of workspaces per monitor, and semi-automatic tiling, semi-manual, and i3-msg, sometimes feels inelegant but is actually highly practical. You can add plugins like autotiling to automate more, and powerful scripting behavior attainable through i3-msg and Python bindings (I recommend if you start piping i3-msg output through jq to get info, just make the full jump to scripting in Python, it’s easier in the long run).


  • This really appealed to me too but I also want fixed workspace numbers and workspaces per monitor and paperwm shat itself on the former (Ubuntu, 22.04 and 24.04) and didn’t appear to offer the latter as far as I could tell, or anything I could manage to work reasonably with multiple monitors.

    Perhaps I really just didn’t understand the intended workflow with workspaces and monitors but I couldn’t find anything coherent. It seemed like the only option was either only workspaces on one of the monitors, or move workspaces in lockstep across all monitors (more a Gnome failing than a PaperWM failing). Neither of which made sense to me. So I scuttled back to i3 again in the end.


  • I would ascribe the same virtues to org mode, but to give one answer to my own question, markdown is entirely editor independent which is generally a plus, though least so for personal notes where org can export to many formats (including markdown).

    With org and Emacs there are other benefits like integrated personal to-do and agenda management which is why I have favored it over markdown. But even though I’m a committed Emacs user, being primarily an Emacs format is a philosophical negative if not a practical one for me in this case.