unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Cocoa port: document icon
@ 2008-07-22  3:32 Seiji Zenitani
  2008-07-22  5:06 ` Seiji Zenitani
  0 siblings, 1 reply; 5+ messages in thread
From: Seiji Zenitani @ 2008-07-22  3:32 UTC (permalink / raw)
  To: emacs-devel emacs-devel

Hi,

It would be nice if Cocoa Emacs uses Carbon's document icon.
The following files are related.
If other people are busy, I can work on merging Info.plist.

mac/Emacs.app/Contents/Resources/document.icns
mac/Emacs.app/Contents/Info.plist

Seiji





^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Cocoa port: document icon
  2008-07-22  3:32 Cocoa port: document icon Seiji Zenitani
@ 2008-07-22  5:06 ` Seiji Zenitani
  2008-07-22 13:42   ` Adrian Robert
  2008-07-23  3:40   ` Seiji Zenitani
  0 siblings, 2 replies; 5+ messages in thread
From: Seiji Zenitani @ 2008-07-22  5:06 UTC (permalink / raw)
  To: emacs-devel emacs-devel

[-- Attachment #1: Type: text/plain, Size: 103 bytes --]

Hi,

Here is a merged Info.plist file for Cocoa port.
(nextstep/Cocoa/Emacs.base/Contents/Info.plist)


[-- Attachment #2: Info.plist --]
[-- Type: application/octet-stream, Size: 14386 bytes --]

<!--
Copyright (C) 2008  Free Software Foundation, Inc.

This file is part of GNU Emacs.

GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
-->

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleDevelopmentRegion</key>
	<string>English</string>
	<key>CFBundleDocumentTypes</key>
	<array>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>text</string>
				<string>txt</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>Plain text document</string>
			<key>CFBundleTypeOSTypes</key>
			<array>
				<string>TEXT</string>
				<string>utxt</string>
			</array>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>html</string>
				<string>htm</string>
				<string>shtm</string>
				<string>shtml</string>
				<string>jsp</string>
				<string>asp</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>HTML document</string>
			<key>CFBundleTypeOSTypes</key>
			<array>
				<string>HTML</string>
			</array>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>css</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>CSS style sheet</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>xhtml</string>
				<string>xhtm</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>XHTML document</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>xml</string>
				<string>xsl</string>
				<string>xslt</string>
				<string>xbl</string>
				<string>xul</string>
				<string>rdf</string>
				<string>dtd</string>
				<string>xsd</string>
				<string>xsdl</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>XML document</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>sgml</string>
				<string>sgm</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>SGML document</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>yml</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>YAML document</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>js</string>
				<string>JS</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>JavaScript script</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>php</string>
				<string>php3</string>
				<string>php4</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>PHP script</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>tcl</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>Tcl script</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>rb</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>Ruby script</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>py</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>Python script</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>pl</string>
				<string>pm</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>Perl script</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>sh</string>
				<string>csh</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>Shell script</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>h</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>C Header Source File</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>c</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>C Source File</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>hh</string>
				<string>hp</string>
				<string>hpp</string>
				<string>hxx</string>
				<string>h++</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>C++ Header Source File</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>cc</string>
				<string>cp</string>
				<string>cpp</string>
				<string>cxx</string>
				<string>c++</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>C++ Source File</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>m</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>Objective-C Source File</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>s</string>
				<string>asm</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>Assembly Source File</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>java</string>
				<string>jav</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>Java Source File</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>f</string>
				<string>for</string>
				<string>f77</string>
				<string>f90</string>
				<string>f95</string>
				<string>f99</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>Fortran Source File</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>pas</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>Pascal Source file</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>ada</string>
				<string>adb</string>
				<string>ads</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>Ada Source File</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>el</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>Emacs Lisp Source File</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>hs</string>
				<string>lhs</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>Haskell Source File</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>lua</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>Lua Source File</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>pro</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>IDL Procedure File</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>gp</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>gnuplot file</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>bib</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>BibTeX document</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>tex</string>
				<string>ltx</string>
				<string>ctx</string>
				<string>latex</string>
				<string>texi</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>document.icns</string>
			<key>CFBundleTypeName</key>
			<string>TeX document</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>*</string>
			</array>
			<key>CFBundleTypeName</key>
			<string>All</string>
			<key>CFBundleTypeOSTypes</key>
			<array>
				<string>****</string>
			</array>
			<key>CFBundleTypeRole</key>
			<string>Viewer</string>
		</dict>
	</array>

	<key>NSServices</key>
	<array>
		<dict>
			<key>NSMenuItem</key>
			<dict>
				<key>default</key>
				<string>Emacs.app/New Buffer Containing Selection</string>
			</dict>
			<key>NSMessage</key>
			<string>requestService</string>
			<key>NSUserData</key>
			<string>open-selection</string>
			<key>NSPortName</key>
			<string>Emacs</string>
			<key>NSSendTypes</key>
			<array>
				<string>NSStringPboardType</string>
			</array>
		</dict>
		<dict>
			<key>NSMenuItem</key>
			<dict>
				<key>default</key>
				<string>Emacs.app/Open Selected File</string>
			</dict>
			<key>NSMessage</key>
			<string>requestService</string>
			<key>NSUserData</key>
			<string>open-file</string>
			<key>NSPortName</key>
			<string>Emacs</string>
			<key>NSSendTypes</key>
			<array>
				<string>NSStringPboardType</string>
			</array>
		</dict>
		<dict>
			<key>NSMenuItem</key>
			<dict>
				<key>default</key>
				<string>Emacs.app/Email Selection</string>
			</dict>
			<key>NSMessage</key>
			<string>requestService</string>
			<key>NSUserData</key>
			<string>mail-selection</string>
			<key>NSPortName</key>
			<string>Emacs</string>
			<key>NSSendTypes</key>
			<array>
				<string>NSStringPboardType</string>
			</array>
		</dict>
		<dict>
			<key>NSMenuItem</key>
			<dict>
				<key>default</key>
				<string>Emacs.app/Send Email to Selected Address</string>
			</dict>
			<key>NSMessage</key>
			<string>requestService</string>
			<key>NSUserData</key>
			<string>mail-to</string>
			<key>NSPortName</key>
			<string>Emacs</string>
			<key>NSSendTypes</key>
			<array>
				<string>NSStringPboardType</string>
			</array>
		</dict>
	</array>

	<key>CFBundleExecutable</key>
	<string>Emacs</string>
	<key>CFBundleGetInfoString</key>
	<string>Emacs 23.0.60 (C) Free Software Foundation</string>
	<key>CFBundleIconFile</key>
	<string>Emacs.icns</string>
	<key>CFBundleIdentifier</key>
	<string>org.gnu.Emacs</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>Emacs</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleShortVersionString</key>
	<string>Version 23.0.60</string>
	<key>CFBundleSignature</key>
<!--	<string>Emcs</string> -->
	<string>EMAx</string>
	<key>CFBundleVersion</key>
	<string>NS 9.0</string>
	<key>NSPrincipalClass</key>
	<string>EmacsApp</string>
	<key>CFBundleURLTypes</key>
	<array>
		<dict>
			<key>CFBundleURLName</key>
			<string>Email Address URL</string>
			<key>CFBundleURLSchemes</key>
			<array>
				<string>mailto</string>
			</array>
		</dict>
	</array>
</dict>
</plist>

[-- Attachment #3: Type: text/plain, Size: 741 bytes --]




#1
I changed CFBundleIdentifier from "Emacs" to "org.gnu.Emacs",
similar to the current Carbon port.

#2
I temporary changed the application signature (CFBundleSignature)
from "Emcs" (Emacs.app) to "EMAx" (Carbon Emacs).
Which signature will we use?
I prefer "EMAx", because Cocoa Emacs will be
a new version (23) of GNU Emacs,
whose current signature is "EMAx".
The file "PkgInfo" should be modified accordingly.

Seiji

On 2008/07/21, at 23:32, Seiji Zenitani wrote:

> Hi,
>
> It would be nice if Cocoa Emacs uses Carbon's document icon.
> The following files are related.
> If other people are busy, I can work on merging Info.plist.
>
> mac/Emacs.app/Contents/Resources/document.icns
> mac/Emacs.app/Contents/Info.plist
>
> Seiji
>


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Cocoa port: document icon
  2008-07-22  5:06 ` Seiji Zenitani
@ 2008-07-22 13:42   ` Adrian Robert
  2008-07-23  3:40   ` Seiji Zenitani
  1 sibling, 0 replies; 5+ messages in thread
From: Adrian Robert @ 2008-07-22 13:42 UTC (permalink / raw)
  To: emacs-devel

Seiji Zenitani <zenitani <at> mac.com> writes:

> Here is a merged Info.plist file for Cocoa port.
> (nextstep/Cocoa/Emacs.base/Contents/Info.plist)

OK, good.


> ...
> #1
> I changed CFBundleIdentifier from "Emacs" to "org.gnu.Emacs",
> similar to the current Carbon port.

Can you check this doesn't affect services handling or other places? 
(Search for "Emacs" (enclosed in double-quotes) in ns*.m).

Also, defaults storage (X resources, essentially) currently goes under
plain "Emacs".  This should also be changed to include org.gnu prefix.



> #2
> I temporary changed the application signature (CFBundleSignature)
> from "Emcs" (Emacs.app) to "EMAx" (Carbon Emacs).

As long as there is no conflict with, e.g., co-installed Carbon Emacs,
this seems fine to me.  (I imagine there will be a long period while
people have various 22-based Carbon emacsen co-installed with
Cocoa Emacs.app, and that may persist into the future if the Carbon
port ends up being maintained in emacs-23.








^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Cocoa port: document icon
  2008-07-22  5:06 ` Seiji Zenitani
  2008-07-22 13:42   ` Adrian Robert
@ 2008-07-23  3:40   ` Seiji Zenitani
  2008-07-23 17:07     ` Adrian Robert
  1 sibling, 1 reply; 5+ messages in thread
From: Seiji Zenitani @ 2008-07-23  3:40 UTC (permalink / raw)
  To: emacs-devel emacs-devel

Hi,

> > #1
> > I changed CFBundleIdentifier from "Emacs" to "org.gnu.Emacs",
> > similar to the current Carbon port.
>
> Can you check this doesn't affect services handling or other places?
> (Search for "Emacs" (enclosed in double-quotes) in ns*.m).
>
"Emacs" in nsfns.m, nsmenu.m and nsterm.m don't seem to be related
-- colorlist index, appMenu name, and default frame name etc.

> Also, defaults storage (X resources, essentially) currently goes under
> plain "Emacs".  This should also be changed to include org.gnu prefix.
>
I don't well understand this.
"TODO" in nsfns.m: x_get_string_resource?

> > #2
> > I temporary changed the application signature (CFBundleSignature)
> > from "Emcs" (Emacs.app) to "EMAx" (Carbon Emacs).
>
> As long as there is no conflict with, e.g., co-installed Carbon Emacs,
> this seems fine to me.  (I imagine there will be a long period while
> people have various 22-based Carbon emacsen co-installed with
> Cocoa Emacs.app, and that may persist into the future if the Carbon
> port ends up being maintained in emacs-23.


Again, Cocoa Emacs (23) is just an upgrade from Carbon Emacs (22).
It is usual that different versions share the same signature;
for example, Photoshop CS 3 and Photoshop CS use "8BIM",
and OmniGraffle 5 and OmniGraffle Pro 4 use "OGfl".
I've never experienced serious conflicts between these different  
versions.
Furthermore, these old Mac codes (the signature and the file type)
don't play an important role on recent OSX.


I've checked in my change in nextstep/.


Seiji





^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Cocoa port: document icon
  2008-07-23  3:40   ` Seiji Zenitani
@ 2008-07-23 17:07     ` Adrian Robert
  0 siblings, 0 replies; 5+ messages in thread
From: Adrian Robert @ 2008-07-23 17:07 UTC (permalink / raw)
  To: emacs-devel

Hi,

> "Emacs" in nsfns.m, nsmenu.m and nsterm.m don't seem to be related
> -- colorlist index, appMenu name, and default frame name etc.

OK, thanks.


> > Also, defaults storage (X resources, essentially) currently goes under
> > plain "Emacs".  This should also be changed to include org.gnu prefix.
> >
> I don't well understand this.
> "TODO" in nsfns.m: x_get_string_resource?

That TODO is just to try to get the name from Info.plist programmatically,
and use it.
I'll try to look into it soon.







^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-07-23 17:07 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-22  3:32 Cocoa port: document icon Seiji Zenitani
2008-07-22  5:06 ` Seiji Zenitani
2008-07-22 13:42   ` Adrian Robert
2008-07-23  3:40   ` Seiji Zenitani
2008-07-23 17:07     ` Adrian Robert

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).