4ffy

Using use-package the right way

1y 2mon ago in emacs@lemmy.ml from batsov.com

Personally, I flip :defer around by setting use-package-always-defer and :demanding packages that I want loaded at startup.

Emacs 30.1 released

1y 3mon ago in emacs@lemmy.ml from lists.gnu.org

Cool small features in Emacs 30 that I really like:

  • If you have ever tried to create a custom modeline, you may have discovered that right-aligning elements was a massive pain. Emacs 30 adds a new modeline element mode-line-format-right-align which makes all subsequent elements in mode-line-format right-aligned.
  • When Emacs prompts you about recovering an auto-save file, you can now press = to show a diff between the buffer and auto-save. No more guessing whether you had done anything important.
  • E in dired opens a file with the default program for that file type (via xdg-open or OS equivalent).

Emacs 30.1 RC1 is available

1y 3mon ago in emacs@lemmy.ml from lists.gnu.org

Emacs 30 is a more low-key release compared to heavy hitting features like native compilation in 28 and Tree-sitter in 29. Probably the headline change is replacing the libjansson based JSON parser with a homegrown one that is several times (~8x) faster, which will significantly benefit features like LSP. This will also mark the official release of the Android port, as well as the usual scattershot of improvements across the board. The NEWS file has the full changelog.

Experience with sdl2-compat?

1y 4mon ago in archlinux@lemmy.ml

I found that sound was completely broken in MAME, in the extremely loud kind of way. Not a fun experience. I'd like to look into it more so that I can file a bug report, but I don't yet know where the blame lies.

Every other program that I use seems to work fine so far.

Announcing Rust 1.82.0 | Rust Blog

1y 7mon ago in rust@programming.dev from blog.rust-lang.org

Combobulate: Bulk Editing Tree-Sitter Nodes with Multiple Cursors

1y 8mon ago in emacs@lemmy.ml from www.masteringemacs.org

What's in an (Alias) Name?

1y 8mon ago in golang@programming.dev from go.dev

Changes to impl Trait in Rust 2024

1y 9mon ago in rust@programming.dev from blog.rust-lang.org

Emacsair! Magit 4.0 released

1y 10mon ago in emacs@lemmy.ml from emacsair.me

Emacs: copy file to many directories

1y 10mon ago in emacs@lemmy.ml from protesilaos.com

Emacs: Denote version 3.0.0

1y 11mon ago in emacs@lemmy.ml from protesilaos.com

Linux and DOOM (1993)

2y 4d ago in linux@lemmy.ml

The reason that Doom is so portable goes beyond Linux and is an artefact of its development. id developed Doom on NeXTSTEP (i.e. Unix) machines and obviously targeted DOS. This is pretty unique among DOS games at the time and required id to write as much code as possible in a platform agnostic way. This means that the main engine does not care about where it is running and the usual DOS hacks are contained to DOS-specific files. In order to port Doom to a new platform, ideally one only needs to rewrite the system-specific implementation files for video, sound, filesystem access, etc., and this mostly holds true today. (These files are prefixed with i_ in the Doom source).

The Linux port is just one of many versions developed at the time. I don't believe that it was commercially released; it was more of a portability test. The reason that the Linux version was chosen for the source release over the DOS version was because it didn't rely on the proprietary DMX sound library that the DOS port used.

I don't think that's a good idea. Pretty much all interaction with Emacs is mediated through keybinds. There is no distinction between shortcuts and fundamental behavior. Even ordinary typing is done by having each character on your keyboard bound to self-insert-command. Perhaps there is some way to nuke the global keymap, but then you're left with literally nothing. Besides, this would not prevent various modes from adding their own keys anyway.

You should consider whether Emacs keybinds are actually in the way enough to be bothersome. You can also keymap-global-unset (or keymap-unset) individual bindings that you find problematic. I'd also consider delving into the Spacemacs code to see how they implement their "vi only mode."

TIL GNU/linux has 2 clipboards

2y 8mon ago in linux@lemmy.ml

Emacs's regular clipboard is the "kill ring" which also allows you to retrieve any previously cut/copied text. It also has "registers" where you can store and retrieve snippets of text, which can be considered clipboards when used for this purpose. Registers can be referenced by any character you can type on your keyboard, including control characters like ^D.

This totals... a lot of clipboards.

Bottles Next: A New Chapter ⋅ Bottles

2y 8mon ago in linux@lemmy.ml from usebottles.com

My heart sank upon reading the word "electron" and rose again on the very next paragraph. I'm looking forward to seeing it in action.

Did we kill Linux's killer feature?

2y 9mon ago in linux@lemmy.ml

I think that this is above all else the reason that I use Arch. Arch Linux makes creating packages trivial, basically just wrapping build instructions into a shell script template. Arch handles the rest. The build systems for deb or rpm packages don't come close, and good luck rolling your own flatpak.

This allows me to use pacman for everything outside of my home directory. Pacman is practically the central feature of my computer, and it's wonderful. I'm sure those Nix people can relate, though I guess my method is a bit less robust.

Vim Wayland users: how do you bind CAPSLOCK to Escape?

2y 9mon ago in linux@programming.dev

Xremap, despite the name, supports both X and Wayland, and can be used to move modifier keys around. Configuration is done with YAML but is otherwise pretty easy. I personally use it for full Emacs keybind emulation.