Anyone have a good rule of thumb on what settings should be app global, and what should be window specific? This always trips me up and gives me a headache. For example a global setting means that when you change the setting it immediately applies to all open windows. On the other hand a window specific setting only applies to the current window.
Generally window specific setting are more flexible (since you can have different windows with different settings), but also more complicated and irritating because you can have all your windows in different states.
For example consider the follow menu commands:
StyleSheet
Dark Mode
Focus Mode
Mark Line
Text Wrap
Text Size
Any thoughts on what commands should be global and which should be window specific? Or assuming that global is better (since simpler is better), what commands would you really want to be window specific?
Have all of the commands configurable in a stylesheet-like document. I would allow the user to select these docs from a menu, or trigger them with a user defined keyboard shortcut.
This way, the user can set up their desired layout with specific settings as they desire. Changing any open document is as quick as selecting a menu item or typing a shortcut.
It gives the user power, and it minimizes headaches for you. Just my 2¢.
Text Wrap and Text Size seem like they should be global to me. Probably Dark mode too, since that’s less about the style of individual documents and more about night/day or global preference.
In general, I think WriteRoom’s ‘brand’ is simplicity, so I’d lean towards global preferences for edge cases.
I haven’t developed a Mac app, so I’m not sure if this would work, but and ideal solution, for me: by default, all of these settings are global, but advanced users can define stylesheets that override the global variables. So changing a global variable affects all documents except those that have a custom stylesheet applied to it.
I would say that all of the settings you mention should be global. A plain text editor should always treat text in a uniform manner. Putting questions of formatting to the side is the appeal of working with plain text. Which assumes, of course, that you’re thinking of WriteRoom as a plain text editor.