Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!agate!shelby!labrea!daemon From: lane@sumex-aim.stanford.edu (Christopher Lane) Newsgroups: comp.sys.next Subject: fsectbyname Message-ID: <23955@labrea.Stanford.EDU> Date: 16 Jun 89 17:17:55 GMT Sender: daemon@labrea.Stanford.EDU Lines: 58 In article <9782@polya.Stanford.EDU> Ali T. Ozer writes: >In article <23940@labrea.Stanford.EDU> Christopher Lane writes: >>Since the point of IB generated applications is that the end users can >>customize the interface(s) to their needs/tastes without sources or >>recompilation, can someone explain to me how to do the following: > >When the .nib file is included in the executable as a part of the __NIB >MachO segment, it cannot be edited. (At least not in 0.9 and 1.0.) >If a developer wants the users to change the interface to >his/her application, then the .nib file should be included separately. >Preferences and Workspace include their interfaces as a part of the >executable, so you cannot change their interfaces... Not being one to take 'cannot' as an answer, I've written the command 'fsectbyname' which is similar to (but does not use) the system call 'getsectbyname' but operates externally on files and also has the functionality of the non-existent function 'putsectbyname'. For example: fsectbyname r /NextApps/Preferences __NIB Preferences >Preferences.nib can be used to extract the Preferences 'nib' file for the main panel in a form that Interface builder will accept. You can also edit the 'nib' (or 'tiff' or whatever you extracted) and put it back via: fsectbyname w /NextApps/Preferences __NIB Preferences