GithubHelp home page GithubHelp logo

Comments (6)

FelixKratz avatar FelixKratz commented on June 8, 2024 3

Interestingly apple does not implement the required accessibility features for their mail compose window because it
is a HTML content editable field, even when selecting plain text as a format.
I believe this is an oversight on their part, as I can happily use svim in my webmail plain text client.

from sketchyvim.

bestdax avatar bestdax commented on June 8, 2024

It's so bad that there is no access to Mail compose window. I do most my writing in Mail:(

from sketchyvim.

FelixKratz avatar FelixKratz commented on June 8, 2024

Thats why I have moved to Mailspring. In mailspring the "rich text and advanced editor features" can be switched off, this will give a monospaced plain text view for mail composing. Since mailspring is an electron app, svim needs to be compiled with -DMANUAL_AX to work with this app.

from sketchyvim.

bestdax avatar bestdax commented on June 8, 2024

Hi, FelixKratz

Many thanks for the info about Mailspring. I would like to try it.

I don't know so much about programming, so I didn't figure out how to do it. Here is what I tried.

  1. git clone svim repository to my mac;
  2. uncommented -DMANUAL_AX in the makefile
  3. make
  4. Since svim is already installed with brew, I copied the svim binary to where brew placed it
  5. brew services restart svim

the above didn't work. and the compiled binary size is only half of brew installed binary.

Would you please help me out?

from sketchyvim.

FelixKratz avatar FelixKratz commented on June 8, 2024

Hi, FelixKratz

Many thanks for the info about Mailspring. I would like to try it.

I don't know so much about programming, so I didn't figure out how to do it. Here is what I tried.

  1. git clone svim repository to my mac;
  2. uncommented -DMANUAL_AX in the makefile
  3. make
  4. Since svim is already installed with brew, I copied the svim binary to where brew placed it
  5. brew services restart svim

the above didn't work. and the compiled binary size is only half of brew installed binary.

Would you please help me out?

You steps are perfectly fine, except one critical detail that revolves around code signature and the macOS gatekeeper:

You can create the full bundle I use for the releases by running:

make bundle

it properly signs the binary for gatekeeper if you have a certificate called 'svim-cert' here:

SketchyVim/makefile

Lines 39 to 41 in 010426a

sign:
$(MAKE) universal
codesign -fs 'svim-cert' $(ODIR)/svim

If you don't want to bother with creating this certificate you can simply swap out the signature command with an ad-hoc certificate:

codesign --force -s - $(ODIR)/svim

If you now run make bundle it should create a bundle_$(VERSION).tgz file in the folder where the full binary with proper code signature can be found. If you swap this with the homebrew binary it should work fine. You might need to focus Mailspring twice initially such that it sets the manual ax flag and then is recognized as supported.

Alternatively it should also be enough to run:

make
codesign --force -s - bin/svim

this binary only contains one instruction set, i.e. x86 or arm64 depending on the system you compile it on, thats why it is half the size of the release binary, which contains both.

from sketchyvim.

bestdax avatar bestdax commented on June 8, 2024

Many thanks for your very detailed instructions and explanation.

But after more than years working with Mail, I am afraid the pain of changing.

BTW, svim doesn't support multi-key mapping. So we can't map jk to escape insert mode. There is a workaround by using Karabinar.

2022-12-17.13.14.08.mov

from sketchyvim.

Related Issues (19)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.