Skip to content

Fix non-functional File Creation Mask in Preferences Expert module#542

Open
armm77 wants to merge 1 commit into
trunkmaster:masterfrom
armm77:expert
Open

Fix non-functional File Creation Mask in Preferences Expert module#542
armm77 wants to merge 1 commit into
trunkmaster:masterfrom
armm77:expert

Conversation

@armm77

@armm77 armm77 commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator

The File Creation Mask grid rendered empty and did nothing because the WMPermissions custom view composites its PermYes/PermNo/PermNoChange TIFF glyphs from the module bundle, but those resources existed only in the Workspace Inspectors and were never bundled into Expert.preferences, so pathForResource: returned nil. The controller also never finished wiring the view: displaysExecute was left NO (hiding the Execute row), the matrix was never seeded, and changes were neither captured nor persisted.

Make Preferences File Creation Mask take effect immediately

  • Expert.m: post the distributed notification after persisting the mask.
  • Controller.m: apply the saved umask on startup, observe the notification, and re-apply on change.
  • Bundle PermYes/PermNo/PermNoChange.tiff with the Expert module.
  • Locate the WMPermissions view in awakeFromNib, enable the Execute row, seed it from the saved umask (falling back to the process umask), and set target/action.
  • Persist the chosen mask to OSEDefaults (NXFileCreationMask) as a POSIX umask on change.

The File Creation Mask grid rendered empty and did nothing because the
WMPermissions custom view composites its PermYes/PermNo/PermNoChange TIFF
glyphs from the module bundle, but those resources existed only in the
Workspace Inspectors and were never bundled into Expert.preferences, so
pathForResource: returned nil. The controller also never finished wiring
the view: displaysExecute was left NO (hiding the Execute row), the matrix
was never seeded, and changes were neither captured nor persisted.

Make Preferences File Creation Mask take effect immediately

- Expert.m: post the distributed notification after persisting the mask.
- Controller.m: apply the saved umask on startup, observe the notification,
  and re-apply on change.
- Bundle PermYes/PermNo/PermNoChange.tiff with the Expert module.
- Locate the WMPermissions view in awakeFromNib, enable the Execute row,
  seed it from the saved umask (falling back to the process umask), and
  set target/action.
- Persist the chosen mask to OSEDefaults (NXFileCreationMask) as a POSIX
  umask on change.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant