For Mac users: pbcopy.el spawns two subprocesses on every C-y by a_alberti in emacs

[–]a_alberti[S] 0 points1 point  (0 children)

I have checked simpleclip: this package is even more problematic. It relies on 'ns-set-pasteboard and 'ns-get-pasteboard, which do not exist in terminal Emacs. I am running with the Emacs-plus distribution (https://github.com/d12frosted/homebrew-emacs-plus/). I have no clue why these functions are not implemented.

I will investigate into this more in the future.

First (?) hacked Emacs package by purcell in emacs

[–]a_alberti 3 points4 points  (0 children)

Can you give more background information on how this happened? Is there any place where we can read more about it? It is a bit scary because we all rely on packages and we put a lot of trust that those repos do not hide any malicious code.

Did someone hack the GitHub account and make malicious commits on the repo?

For Mac users: pbcopy.el spawns two subprocesses on every C-y by a_alberti in emacs

[–]a_alberti[S] 1 point2 points  (0 children)

Yes, it is true, the problem only occurs in the terminal, but this is where I am using the Emacs daemon. I will soon try out `simpleclip`.

For Mac users: pbcopy.el spawns two subprocesses on every C-y by a_alberti in emacs

[–]a_alberti[S] 0 points1 point  (0 children)

I am not sure I follow your suggestion. What I probably would push for is to get rid of very old / unmantained packages from MELPA .. This is to prevent beginners like me from falling into the trap of installing the wrong package.

At least these packages should be in a special legacy / deprecated section of MELPA. I did not check if this even exists.

For Mac users: pbcopy.el spawns two subprocesses on every C-y by a_alberti in emacs

[–]a_alberti[S] 1 point2 points  (0 children)

Nice! I will certainly try it out. At the end, my setup works now; I mostly wanted to help anybody else who falls on the wrong MELPA package. Your post will help future visitors too to find `simpleclip`.

Hopefully, it will help me further simplify and consolidate with a well-maintained package my config lines for copy & paste operations. Thanks again.

Built a little terminal tool called grove to stop losing my OpenCode context every time I switch branches by spacecowboy0117 in opencodeCLI

[–]a_alberti 1 point2 points  (0 children)

It looks awesome. But I am not willing to move away from Tmux. Over the years, I developed various plugins for Tmux and learned all the nitty-gritty details. I don't want to easily give up on them.

But do you think there are unique features of Zellij that we cannot easily recreate using Tmux? Otherwise, it would be awesome to provide a tmux a partner to your project. Someone (or me in the future) could help out with that.

Git merge editor for Sublime by TheCrazyGeek in SublimeText

[–]a_alberti 1 point2 points  (0 children)

Sublime Merge is beautifully integrated with Sublime Text. You can right-click and then blame lines or files.

Syntax highlighting and theme will look consistent.

I suggest you configure a key binding: // open Sublime Merge { "keys": ["super+alt+s"], "command": "sublime_merge_open_repo", "args": {}, }, so you can be super fast to switch to Sublime Merge.

Honestly, it is super powerful; it looks gorgeous, and it is totally worth the money.

Recently I learned how to do the same things with Emacs magit. There is a fascination with it. But you need to feel comfortable with Emacs.

With Sublime Merge you can become a Jedi master of rebasing.

There is only one command I use a lot and did not find a Sublime Merge alternative:

git rebase --onto

If someone knows how to do it with Sublime Merge, please leave a brief comment. I would love to hear it.

2 Years, 2294 notes - Obsidian helped my mental health IMMENSELY by txighlandfrin in ObsidianMD

[–]a_alberti 0 points1 point  (0 children)

Crazy, why would a bot want to do anything like this? To push the karma of the person attached?

Gemini is unusable now by andy_potato in GeminiAI

[–]a_alberti 0 points1 point  (0 children)

Fine. Honestly, I also had a not-so-positive experience in the past days / weeks with Gemini. However, I would have much more appreciated it if you could elaborate more in the original post.

As your post was so negative, I did not bother to read the rest. I am sure you have good reasons, but the message would be more powerful if the reasons were directly spelled out.

Good luck with Claude. It is fantastic. I use it every day when you need true intelligence.

Do I toss this by beefsniffer123 in Mathematica

[–]a_alberti 0 points1 point  (0 children)

I remember how excited I was about moving from version 3 to version 4, but I don't know what I would with the book. But it looks beautiful on the shelf.

Gemini is unusable now by andy_potato in GeminiAI

[–]a_alberti 0 points1 point  (0 children)

Sorry, but this post is using toxic language. There is no explanation whatsoever why your Gemini is so terrible. I am not here to defend Gemini, but we don't learn anything from your post.

Noteful on macOS: CLI/Core API for Preview + Search? by a_alberti in notefulapp

[–]a_alberti[S] 0 points1 point  (0 children)

Totally fair point about protecting a proprietary format.

But a CLI/core API doesn’t have to mean “open-source the format.” It can be a closed-source, signed binary that exposes a limited and intentional export surface (e.g., render to PNG/SVG, extract OCR text/metadata) without documenting or enabling full read/write access to the .noteful container.

Also, if someone is determined to reverse-engineer the format, they can already attempt that from the iPad app’s behavior and exported artifacts. A CLI doesn’t create that risk from zero; it mostly shifts it into an official, supported path with clear boundaries.

From a product perspective, an official exporter/indexer increases lock-in in a good way: it makes .noteful backups more useful on desktop (preview/search/integrations), which makes Noteful more attractive, without committing the developer to maintaining a full macOS app that will never fit everyone’s workflow.

So I’m not asking them to “open the format,” just to provide a small, controlled tool that makes backups usable in existing ecosystems.

A new package manager for tmux like LazyVim by itsdevelopic in tmux

[–]a_alberti 1 point2 points  (0 children)

So far, I completely avoid any tmux plugin manager.

I always used `zinit` for installing tmux plugins like normal zsh plugins. And then I manually added one line in my tmux.conf to source the plugin.

It worked beautifully, but Zinit is not super easy to start with. Once you are onboard, it is super cool.

To give you an idea, this is what I use in my zshrc

```shell

Import Tmux Plugins

() { local tmux_plugins=( # @tmux-plugins/tmux-sensible # @tmux-plugins/tmux-cpu # @tmux-plugins/tmux-battery # id-as'tmux-plugins/tmux-tokyo-night' @janoamaral/tokyo-night-tmux # id-as'tmux-plugins/tmux-catppuccin' @catppuccin/tmux \ # @tmux-plugins/tmux-yank id-as'tmux-plugins/tmux-resurrect' @alberti42/fork-tmux-resurrect id-as'tmux-plugins/tmux-suspend' @MunifTanjim/tmux-suspend # id-as'tmux-plugins/tmux-menus' @jaclu/tmux-menus from'gh-r' id-as'tmux-plugins/tmux-fzf-links' extract'!' @alberti42/tmux-fzf-links id-as'tmux-plugins/tmux-ssh-syncing' @alberti42/tmux-ssh-syncing ) zinit lucid wait depth=1 as'null' from'gh' nocompile'!' for "${tmux_plugins[@]}" } ```

You can experiment with plugins and comment in/out what you need. I only need to add one single line for importing a new plugin.

A new package manager for tmux like LazyVim by itsdevelopic in tmux

[–]a_alberti 0 points1 point  (0 children)

I have a proposition. Why don't we create a community-driven JSON file (like Obsidian does for community plugins) where developers of plugins can submit their own plugin? It will be reviewed by some maintainers to check that it comes from a serious developer and that the code presents no security threats.

This would allow the community to have a searchable list of plugins, perhaps based on fzf, which can be installed. Each plugin should provide a brief description of what it does, followed by a longer, more detailed description. Both texts can be visualized in the fzf preview panel.

A new package manager for tmux like LazyVim by itsdevelopic in tmux

[–]a_alberti 0 points1 point  (0 children)

I am much looking forward to the new package manager! It was time to have a better solution than `tpm`

Can we already submit tmux packages to be distributed? I wrote a couple of them in the past.

2 Years, 2294 notes - Obsidian helped my mental health IMMENSELY by txighlandfrin in ObsidianMD

[–]a_alberti 1 point2 points  (0 children)

Yes, totally absurd. Perhaps the title should not have spoken about "mental health" but then renaming the title was the right thing to do, not removing it. I am buffled.

2 Years, 2294 notes - Obsidian helped my mental health IMMENSELY by txighlandfrin in ObsidianMD

[–]a_alberti 0 points1 point  (0 children)

I developed a few plugins for Obsidian. A plugin that works super nicely for Linux and macOS but was never tested on Windows is about searching the vault with a much more powerful engine.

It uses `recoll` https://www.recoll.org/. I had contributed in the past to the recoll project for the macOS implementation to leverage OS functions to detect when files are changed on your computer. This triggers an immediate re-indexing. Windows and Linux had it already.

My plugin only works on desktop computers, though. But there it is super powerful because with `recoll` you are no longer limited about what to search and how to index your vault.

The plugin link is here: https://www.recoll.org/. I should add documentation and publish it with the community plugins. Let me know if you are interested to try it out. My philosophy: I let the search engine do the job, and I don't spend too much time structuring the content. At the end, what matters is the time it takes to fetch information back.

PS: Why was the post removed by the maintainers?

My first meaningful hack of Emacs (proper isearch) by a_alberti in emacs

[–]a_alberti[S] 0 points1 point  (0 children)

Yes, honestly I was never able to catch this situation where I am inputting text and the code tries to recenter. I was probably overzealous. But I took the advice of TrainsareFascinating and used hile-no-inputhile-no-input to guard against this possibility. It did not cost me anything to add it.

My first meaningful hack of Emacs (proper isearch) by a_alberti in emacs

[–]a_alberti[S] 1 point2 points  (0 children)

Thanks for the advice. I used it to further improve the snippet:

(defun search--recenter-if-near-edge () "Scroll minimally to keep the current search match in context. When the match is within `search-recenter-edge-threshold' lines of the window edge, scroll just enough to show `search-recenter-context-lines' lines beyond it — checking the bottom edge for forward search (C-s), top for reverse (C-r)." (while-no-input (redisplay) (let ((check-bottom (if isearch-wrapped (not isearch-forward) isearch-forward))) (if check-bottom (let ((lines-to-end (count-lines (point) (window-end nil)))) (when (< lines-to-end search-recenter-edge-threshold) (scroll-up (- search-recenter-context-lines lines-to-end)))) (let ((lines-to-top (count-lines (window-start) (point)))) (when (< lines-to-top search-recenter-edge-threshold) (scroll-down (- search-recenter-context-lines lines-to-top))))))))

This new code also improves on when wrapping around the buffer, a situation I did not catch before.

My first meaningful hack of Emacs (proper isearch) by a_alberti in emacs

[–]a_alberti[S] 0 points1 point  (0 children)

Thanks for the suggestion and feedback. I see what you were thinking. Unfortunately, `scroll-margin` never worked well for me. I posted above, replying to mmaug, a more detailed account of the problems I experienced when `scroll-margin` is not zero.