Scrim Support


Discussions & Issues

Get help from or share your thoughts with the collective on the discussion board for Scrim.

If you have found a bug or want to make a feature request, please submit an issue.


Rate & Review

Please rate and review your experience with Scrim on the Mac App Store. Your feedback is appreciated!


FAQ


Does Scrim need to be continuously running?

No. In fact, Scrim is designed to be run in the background whenever a URL request with scheme org-protocol::/ or scrim:// is made. Scrim should not be configured as a login item.

That said, for Scrim to work, it presumes that Emacs server is running. Note that Scrim will not automatically launch Emacs if it receives a URL request.


So, I’ve sent a link to Emacs. Where is it?

Org links sent from Scrim are stored in a “last in, first out” (LIFO) queue in Emacs. In an Org buffer, use the command org-insert-last-stored-link (binding C-c M-l) to paste the last link stored.

Alternately the command org-insert-link (binding C-c C-l) will let you select from the queue which link to paste into the Org buffer.


I tried to send an Org Protocol URL request and nothing happened.

First thing you should always check: Is Emacs server running? If not, then start it. Note that Scrim will not automatically launch Emacs if it receives a URL request.


Why can’t I have an app call emacsclient?

macOS apps are packaged so that they are by default not permitted to access other programs outside of their respective sandboxes. While an app can have its default security restrictions lifted, this makes it vulnerable to an attack which is not desirable.


Why setup TCP Server?

By default the Emacs server is configured to use a Unix domain socket which relies on the operating system kernel as the means of transport. Recent releases of macOS (as early as Ventura 13) have now banned this practice across different code-signed apps.

Current macOS practice is to use a TCP socket to enable IPC across different code-signed apps.


Why must the user select the shared secret file?

The Emacs server TCP socket communication design presumes that both the server and the client have access to the same file system. From this Emacs server generates a runtime shared secret file that the client must read to obtain an authentication key to transmit to the server via the TCP socket.

This shared secret file is however outside of the sandbox for the Scrim app. Files outside an app’s sandbox are by default not accessible to it. To get permission to access it, the user must manually select the shared secret file from the macOS file dialog. This is a “one-time” operation as the app can remember this shared secret file on subsequent runs of Scrim.

Note that resetting or deleting the Scrim app will lose this memory and the user will have to again select the shared secret file.


HomeSupportPrivacy

Powered by Pelican