nib2cib ignored the text view's Uses Ruler setting, and CPTextView, CPRulerView and CPRulerMarker archived none of their ruler state, so a ruler could not be configured in Interface Builder or survive archiving.
* CPScrollView.j: Set itself as the scroll view of decoded rulers.
* CPTextView/CPRulerMarker.j: Archive the marker's ruler, location, image and image origin, movability, removability and represented object.
* CPTextView/CPRulerView.j: Archive the ruler's orientation, client view, accessory view, markers, thicknesses, origin offset and measurement units.
* CPTextView/CPTextView.j: Archive usesRuler.
* Tools/nib2cib/NSTextView.j, Tools/nib2cib/NSTextViewSharedData.j: Read the Uses Ruler flag.
* Tests/AppKit/CPRulerViewTest.j: Add tests for ruler layout, measurement units, archiving and the Uses Ruler setting.
* Tests/Manual/TextEditor/Resources/MainMenu.xib, Resources/MainMenu.cib: Add the standard Format menu, whose Text submenu shows and hides the ruler.
* Tests/Manual/TextEditor/Resources/DocumentWindow.xib, Resources/DocumentWindow.cib: Rebuild the cib with the ruler setting, and adjust the window's initial position.
- the variable was omitted from the method's var declaration list
when xib deployment-target handling was added (2024); its
assignment created an implicit global, flagged by the compiler as
"creating global variable inside function or method"
- no functional change; the variable is used only within the method
Allows macOS to automatically manage blending mode and color of menubar icon.
Modern macOS renders the menubar with translucency, making icons with some fixed colors difficult to see with some wallpapers.
This was particularly pronounced with ‘status-icon-inactive’.
Changing render mode to ‘Template Image’ allows the OS to adjust icon color and blending mode dynamically — to suit current combination of Light/Dark mode and wallpaper color.
Requires Python 2, but this is true for XcodeCapp also.
Installs to /usr/bin/local, but must be manually installed using install script in source directory.
Manually remove DSTROOT occurrences from project.pbxproj.
Their presence causes Xcode build process to believe a reference cycle exists - preventing compilation.
Update minimum installation target to macOS 10.15
Earlier targets require presence of 'libarclite' - no longer included with Xcode 15.
Add commented-out code to capp gen NibApplication template.
The technique itself is easy to forget and not obvious to newcomers.
It is included in the standard capp gen application template
and added here for completeness.