Is Custom Composition Mode Possible?

Loving the iOS app so far–huge congratulations for all those years of hard work!

My favorite thing about the desktop version is the composition mode–in particular the way I can customize the background colors and the text. For the past 7 years I’ve been composing on a black screen with green text, which puts me in a distraction-free creative zone (I’ve attached an example). Is a custom composition mode planned for the iOS app? I’ve read through the tutorial and I don’t see a way to do it right now.

Thanks!

Unfortunately, the features required to override the colours that I use in the Mac app are not available in the iOS text system. Please see my reply about the technical problems in creating a “dark mode” for a rich text app here:

https://forum.literatureandlatte.com/t/scrivener-for-ios-dark-mode/33940/1

I am going to look into it further, though. It might mean using a not-quite black background so that underlines and strikethroughs can still be seen even if I can’t override their text colour.

Thanks for the kind words!

All the best,
Keith

Thanks, Keith!

Hi, Keith. In one of the Apps That Must Not Be Named, I saw a workaround for this. In order to turn on its dark mode, it evidently
1. Turns the background to black, and then
2. Turns all the black text to white, while it
3. Leaves coloured text alone.
It then saves the document with black text and white background regardless of display mode.

I can see this being dangerous especially if white is a colour that can be selected for text… But there it is, one solution observed. If you think of a solution, though, I’m sure it will be less of a kludge… :wink:

That’s not really a workaround in the rich text system of the TextKit, because turning black text white really means turning it white internally. We need a solution that doesn’t touch the data at all, otherwise the data is at risk of having colours changed no matter how careful you try to be. It has to be a view-based solution, not a data-based solution. As I say, this is already possible for text, just not underlines or strikethroughs. Anyway, leave it with me, as I am aware that this is a popular request. The complexity of Scrivener means that any dark mode wouldn’t be able to propagated through every view, though - probably just the sidebar and editor, and maybe the inspector. Even then, it’s problematic that we offer customisable colours for editor backgrounds, and the corkboard adds more complexity…

Try this: activate Settings > General > Accessibility > Accessibility Shortcut > Invert Colors. Set all your text to be purple. Then when you’re typing in Scrivener, activate the shortcut by triple-pressing the Home button, and you will see green text on black. I don’t think you can change the background to anything other than black, but you could make the text whatever color you want, I would think; you just have to figure out what color iOS considers to be the inverse of the color you want. Also it seems to be kind of an “eyes only” change, so when I tried to take a screenshot of it, as soon as I uninverted colors the screenshot changed back to normal colors in my Camera Roll! I took a picture with my phone to show you that it does work, though.:
image.jpeg
Maybe since this works I won’t have to beg the developers for a Kaypro version (see other messages about the upcoming Apple Watch Scrivener app).

Edited to add that I should credit the person who wrote earlier about this accessibility shortcut, which I would otherwise have had no idea about. It was in another thread; I’ll link to it later if I can. [It was Amberv, here: https://forum.literatureandlatte.com/t/what-will-you-do-with-scrivener-for-ios-that-you-couldnt-do-before/33835/4

Sorry, I’m sure there is a more elegant way to link to another post but I’m sort of new at this.

Yeah, that’s about what I expected – it’s a kludge. The App That Must Not Be Named is all about implementing user-requested features fast and be d__mned to code cleanliness. I gave up on the firm long ago because they’d fix a bug, then add a feature in the same release that introduced two more…

I am working on a way around this. It’s not pretty. Essentially, as I say, only underlines and strikethroughs are the problem. The drawing methods for those can be overridden. So, if I want to change the colour, I have to draw the underlines and strikethroughs myself. That is not exactly trivial, but I don’t think it will matter too much if there are some slight visual differences between underlines and strikethroughs in dark mode and regular mode as long as they show up and are in roughly the right place. :slight_smile:

There are other issues, too, though. Scrivener’s colour icon set would not look great against a black background. We’d either need a completely different icon set for dark mode or use a light grey for the sidebar rather than making that completely dark.

All the best,
Keith