Difference between revisions of "Mac OS X"
(Demonstrating my solution to the OS X command line problem: an alias) |
|||
(6 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
This page is added as mini-TOC of Mac information on this Wiki, and a scratch pad for Mac stuff awaiting a home of its own. | This page is added as mini-TOC of Mac information on this Wiki, and a scratch pad for Mac stuff awaiting a home of its own. | ||
== Installing Inkscape == | == Ventura Information for 1.3 == | ||
Inkscape 1.3 should be fine on macOS Ventura. | |||
== Ventura Information for 1.2.x == | |||
If you’ve already updated to Ventura, try updating to Ventura 13.4 and see if mouse clicks work as intended. | |||
--- | |||
Do not update to macOS Ventura if you rely on Inkscape! There is an unresolved issue that currently affects all GTK3 based apps on macOS Ventura, making the app unresponsive to certain mouse events. (GTK is used by many different programs, and builds those programs' user interfaces for you to interact with.) | |||
Sample bugs: | |||
* https://gitlab.com/inkscape/inbox/-/issues/7798 Swatches (and other) menus not working in separate windows on MacOS Ventura | |||
* https://gitlab.com/inkscape/inbox/-/issues/7827 Font dropdown menu issues on MacOS Ventura | |||
* https://gitlab.com/inkscape/inbox/-/issues/7929 OSX Layers and Objects right mouse click is not triggered with CTRL + click | |||
Upstream bug: | |||
* https://gitlab.gnome.org/GNOME/gtk/-/issues/5305 widgets not reacting to mouse hover/click on macOS Ventura | |||
== Legacy Information == | |||
=== Installing Inkscape === | |||
Inkscape for Mac OS X is an X client: it runs under the [http://en.wikipedia.org/wiki/X_Window_System X Windows System]. You will need an X Windows Server installed for it to work. For 10.4.x users, X11 can be installed from your installation DVD. For 10.3.x users, you can get [http://www.apple.com/downloads/macosx/apple/x11formacosx.html Apple's X Server], or use [http://www.xdarwin.org/ XDarwin]. | Inkscape for Mac OS X is an X client: it runs under the [http://en.wikipedia.org/wiki/X_Window_System X Windows System]. You will need an X Windows Server installed for it to work. For 10.4.x users, X11 can be installed from your installation DVD. For 10.3.x users, you can get [http://www.apple.com/downloads/macosx/apple/x11formacosx.html Apple's X Server], or use [http://www.xdarwin.org/ XDarwin]. | ||
Line 39: | Line 61: | ||
You must reload your profile to see the changes: | You must reload your profile to see the changes: | ||
$ source ~/.profile | $ source ~/.profile | ||
=== LaTex Specific Solution === | |||
For the specific case of updating the pdf and pdf_tex files from LaTex by invoking Inkscape from command line (see [http://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/ctan/info/svg-inkscape/InkscapePDFLaTeX.pdf InkscapePDFLaTeX.pdf]), the easiest solution might be to alter the necessary LaTex preamble commands from: | |||
\newcommand{\executeiffilenewer}[3]{% | |||
\ifnum\pdfstrcmp{\pdffilemoddate{#1}}% | |||
{\pdffilemoddate{#2}}>0% | |||
{\immediate\write18{#3}}\fi% | |||
} | |||
\newcommand{\includesvg}[1]{% | |||
\executeiffilenewer{#1.svg}{#1.pdf}% | |||
{inkscape -z -D --file=#1.svg % | |||
--export-pdf=#1.pdf}% | |||
\input{#1.pdf_tex}% | |||
} | |||
to use the full Inkscape path. This is necessary when compiling LaTex through editors that don't see the aliases defined in `~/.profile`. The necessary preamble commands are then: | |||
\newcommand{\executeiffilenewer}[3]{% | |||
\ifnum\pdfstrcmp{\pdffilemoddate{#1}}% | |||
{\pdffilemoddate{#2}}>0% | |||
{\immediate\write18{#3}}\fi% | |||
} | |||
\newcommand{\includesvg}[1]{% | |||
\executeiffilenewer{#1.svg}{#1.pdf}% | |||
{/Applications/Inkscape.app/Contents/Resources/bin/inkscape -z -D --file=#1.svg % | |||
--export-pdf=#1.pdf}% | |||
\input{#1.pdf_tex}% | |||
} | |||
== See == | == See == |
Latest revision as of 03:47, 24 July 2023
This page is added as mini-TOC of Mac information on this Wiki, and a scratch pad for Mac stuff awaiting a home of its own.
Ventura Information for 1.3
Inkscape 1.3 should be fine on macOS Ventura.
Ventura Information for 1.2.x
If you’ve already updated to Ventura, try updating to Ventura 13.4 and see if mouse clicks work as intended.
---
Do not update to macOS Ventura if you rely on Inkscape! There is an unresolved issue that currently affects all GTK3 based apps on macOS Ventura, making the app unresponsive to certain mouse events. (GTK is used by many different programs, and builds those programs' user interfaces for you to interact with.)
Sample bugs:
- https://gitlab.com/inkscape/inbox/-/issues/7798 Swatches (and other) menus not working in separate windows on MacOS Ventura
- https://gitlab.com/inkscape/inbox/-/issues/7827 Font dropdown menu issues on MacOS Ventura
- https://gitlab.com/inkscape/inbox/-/issues/7929 OSX Layers and Objects right mouse click is not triggered with CTRL + click
Upstream bug:
- https://gitlab.gnome.org/GNOME/gtk/-/issues/5305 widgets not reacting to mouse hover/click on macOS Ventura
Legacy Information
Installing Inkscape
Inkscape for Mac OS X is an X client: it runs under the X Windows System. You will need an X Windows Server installed for it to work. For 10.4.x users, X11 can be installed from your installation DVD. For 10.3.x users, you can get Apple's X Server, or use XDarwin.
Since version 0.43, the Inkscape deliverable has been a disk image with a properly packaged Mac OS X Bundle -- Inkscape.app
. You can simply drag the Inkscape icon to where is most convenient for you, usually your Applications folder or possibly your Desktop. This hardly warrants the grandiose title or style of "installing", but it does mean that un-installing is simple and complete -- just drag the icon to the Trash when you are finished with Inkscape and no longer want it.
From version 0.44, the disk image will have an alias to your system-wide Applications folder, allowing you to very easily drop the Inkscape icon into the most useful place for it, and open that folder so that you can start Inkscape.
Otherwise start Inkscape by double clicking one of its documents and it will thereafter be available to you in the Dock and from the "Recent Items" menu-item.
Inkscape command line
For many purposes you may need to execute Inkscape from the command line. For example within a LaTeX document you can update the pdf and pdf_tex files with your maths with the following command (see InkscapePDFLaTeX.pdf):
inkscape -z -D --file=image.svg --export-pdf=image.pdf --export-latex
The Inkscape script is supposed to change to Inkscape's Resources directory
cd /Applications/Inkscape.app/Contents/Resources/bin
in order to get the correct environments for Inkscape as well as for native (Apple) Python.
But if you simply made a symbolic link to /usr/local/bin (which is in your PATH) with:
sudo ln -s /Applications/Inkscape.app/Contents/Resources/bin/inkscape /usr/local/bin
the command invoked by the default Inkscape script (0.48.1):
$ dirname $0
might not move to Inkscape's Resources directory but to /usr/local/bin.
From a terminal, even if
$ which inkscape
refers to /usr/local/bin/inkscape, a command like:
$ inkscape -z -D --file=image.svg --export-pdf=image.pdf --export-latex
may work while:
$ /usr/local/bin/inkscape -z -D --file=image.svg --export-pdf=image.pdf --export-latex
may not work because of a different interpretation of $0 and dirname. Tricky and unsolved in the general case...
Alias Solution
The following can be added to your `~/.profile` file to create an alias that is expanded into the full Inkscape path:
alias inkscape="/Applications/Inkscape.app/Contents/Resources/bin/inkscape"
You must reload your profile to see the changes:
$ source ~/.profile
LaTex Specific Solution
For the specific case of updating the pdf and pdf_tex files from LaTex by invoking Inkscape from command line (see InkscapePDFLaTeX.pdf), the easiest solution might be to alter the necessary LaTex preamble commands from:
\newcommand{\executeiffilenewer}[3]{% \ifnum\pdfstrcmp{\pdffilemoddate{#1}}% {\pdffilemoddate{#2}}>0% {\immediate\write18{#3}}\fi% } \newcommand{\includesvg}[1]{% \executeiffilenewer{#1.svg}{#1.pdf}% {inkscape -z -D --file=#1.svg % --export-pdf=#1.pdf}% \input{#1.pdf_tex}% }
to use the full Inkscape path. This is necessary when compiling LaTex through editors that don't see the aliases defined in `~/.profile`. The necessary preamble commands are then:
\newcommand{\executeiffilenewer}[3]{% \ifnum\pdfstrcmp{\pdffilemoddate{#1}}% {\pdffilemoddate{#2}}>0% {\immediate\write18{#3}}\fi% } \newcommand{\includesvg}[1]{% \executeiffilenewer{#1.svg}{#1.pdf}% {/Applications/Inkscape.app/Contents/Resources/bin/inkscape -z -D --file=#1.svg % --export-pdf=#1.pdf}% \input{#1.pdf_tex}% }
See
- Compiling Mac Os X How to build and package Inkscape on Mac OS X
- Native UI Mac Os X Mark progress towards a native User Interface (UI) for Mac OS X
Links
- Inkscape on Apple's Downloads page
- fink A project to make Open Source Unix software available for MacOS X
- Apple Human Interface Guide These guidelines are designed to assist you in developing products that provide Mac OS X users with a consistent visual and behavioral experience across applications and the operating system.
- Inkscape on Version Tracker