I sure wish they'd make it run as a first class citizen on Mac, currently it uses XQuartz and I'm constantly having it open a file but I can't get to the windows: they flash, then go to some hidden desktop and you have to jump through hoops to try to get them to actually display. Horrible user experience and I have given up on recommending this to other because they all run into the same thing and get frustrated and give up.
> there is always room for developers, too, especially those who can help with preparing the upcoming Inkscape 1.0 to be usable on MacOS. As few Inkscape volunteer developers use a Mac, the project needs someone who knows how to automatically package a .dmg file, to enable Mac users to test the alpha version, along with Mac equipment to run continuous integration jobs.
I work at a fab lab. We love Inkscape and I train many people to use it each week. Our workshops are exclusively Inkscape focused. Illustrator takes a back seat.
On Mac, xQuartz is a bad sticking point. The unusual ctrl/cmd key swap is difficult to remember. The XQuartz preferences are difficult to parse and must be changed upon install — even I refer to the instructions on the Mac download page every time. A first class Mac app would make it a much easier sell.
We still use v 0.91 as 0.92 moved from 90 dpi svg to 96 dpi svg, to conform to web svg. This can cause problems with our laser cutter software. More important, opening files authored in 0.92 in 0.91 can change the physical size of the drawings. I believe the sizes remain correct if defined in a physical measurement (ie anything but pixels), but some extensions generate svgs whose dimensions are nevertheless affected when opened in the older software. This issue, and the occasional crashing on windows when pasting an image copied from elsewhere, are the only problems I face with this excellent software. Bravo!
I often have that disappearing window issue when trying to use multiple monitors. My bizarre workaround is that the hidden window seems to flash while the main window is being minimized, so I hold shift when minimizing it to make it go in slow motion, giving me time to reposition the hidden window somewhere Inkscape can handle.
There's also a MacOS setting "displays have separate spaces", under mission control; disabling it can help Inkscape in some of those cases, but I ended up toggling it back since some other apps had issues with it off.
As for getting to a native version, does anyone know what that process is, and if there's a roadmap for doing it? Based on what I've read online, Gimp is based on GTK as well, and runs reasonably well on Mac, so I imagine it's doable.
I built based on the current 1.0 source linked from the post, and it still seems to use XQuartz, unless there's some special flag I have to enable when building.
Not sure if this might help anyone else but: I recently figured out a really big performance problem here that was causing crazy amounts of lag in Inkscape on multiple systems: "recently-used.xbel" in my home folder was about 300K and when referenced, the system seemed to lag while attempting to reconcile some network drives or unplugged USB drives (I wasn't sure which). I deleted it and the lag problem completely disappeared. So I put together a cron job that deletes the file every once in a while. I was surprised that what I thought was a graphics issue turned out to be a convenience-related one. :-)
Ended up having to use an old style file chooser widget (as described in the SO answer) to avoid the problem. I don't know if the issue still exists in GTK3 (which could mean it'll be resolved in inkscape with the port to GTK3), but I ported my app to Qt since so I don't have that issue any more. Made my app totally unusable.
That was a deceptively funny answer! Got quite the chuckle from me, thank you.
Could you explain a little bit more about what porting an app from GTK to QT is like? It makes sense now that you mention it but I'd never thought of doing that until now.
I don't remember super well, but I think GTK to Qt was pretty 1:1. The code ended up being longer, as reproducing some of the functionality that GTK had pre-made involved writing custom classes. But Qt allows much more digging into the internals than GTK does, so this was almost always possible. And the documentation is very good.
The threading model was a bit different, requiring message passing to do anything GUI related in the main thread rather than just updating widgets from any old thread with a lock held. But message passing is probably a better way to do this anyway!
Working out how to package up icons into Qt resource files was also a little trickier than just using files on disk.
It took me about two months full time to port about 6000 lines of Python from pyGTK to PyQt4. It's not the most complex application though, and I didn't refactor anything else, I just ported to Qt as 1:1 as possible. This sounds like a long time now that I think about it, but it seemed necessary at the time, I don't remember slacking off. Also I was starting from scratch with PyQt.
But Qt is much more stable than GTK and has better cross-platform support. We ported from Qt4 to Qt5 without much effort and I haven't regretted the switch at all. PyQt is an excellent way to do cross-platform GUIs. We adopted it long before electron was a thing, and I remain an electron sceptic because I don't see much in it that I am missing in Qt.
Inkscape uses SVG as a native format. I keep meaning to make time to level up my svg-fu.
Related tangent:
This "SVG Can Do That??" presentation[1] is "old" by internet standards but is still (to me, at least) somewhere between eye-opening and mind-blowing:
I'm equal parts awestruck and puzzled by these bordering-on-eternal beta stages some projects stick to. Inkscape has been in my toolbox for the last fifteen years or so, since around the time it forked from Sodipodi. I have thought of it as release, production ready software for years and years.
The length of the beta is likely a function of the number of features of the given app.
I would think that most apps wanting to compete in this space would be up against apps with insane amounts of features - think Adobe software - which would require a certain amount of time to test/fix per "feature". The same might be true of, for example, a Microsoft Office competitor. Lots of legacy functions tucked away in those apps.
Just speculating since I've only personally tried fumbling around in Inkscape <5 times in my life, but it might explain the phenomenon.
The original versioning was designed with SVG 1.1 compliance in mind. At some point the figured out they aren't ever going to support 100% of SVG, so they jumped from 0.48.x to 0.91 (it was originally intended to be 0.49), and now they are jumping from 0.92.x to 1.0 :)
The productivity part is that it binds single keys directly (without meta keys like control, alt etc) to actions, so working with it is extremely fluid, almost like typing. There is almost nothing I need menus or gui buttons for, so I never have to take my eyes off the work. I often work with one hand on the keyboard and the other on the mouse and I just get into a flow where I have completely forgotten the human / computer interface exists.
It's hard to describe, but certain tools are designed this way and I love them, other tools are designed great for beginners to learn them but you can never achieve the above.
I used to use it a lot for icons etc. but now I need to publish technical diagrams, which always need to be in PDF form and often include elements that are created programmatically as SVG. So Inkscape is ideal to work up the finished figure for publication.
Ah, awesome - Inkscape has got me out of more than a few holes in the past few years, but it's always been juust crashy enough that I haven't truly felt comfortable pushing it at work, so increased stability is definitely welcome! :-)
I design all of my vector graphics in PowerPoint. If I want to export my PowerPoint graphics to SVG or PNG I can simply export to PDF, import into Inkscape, and re-export as SVG or PNG.
Used it countless times to make T-shirt designs, logos, etc. Super convenient "free" alternative to Adobe Illustrator. (Most people have access to and know how to make vector graphics out of shapes in PowerPoint)
I use inkscape at work in part of a large-ish application.
We chose to use inkscape for part of an image generation toolkit because of the great command line options and the easy to modify source files.
As for the UI, ever since .91 they have fixed my biggest concern, and I'm really happy for the team. Rarely feel the pain and need to reach for illustrator on a windows machine!
We have recently been playing with a laser cutter for protyping, and have been using different applications to get SVGs to the cutter. Illustrator has actually been a pain for this. Illustrator's SVG format does not retain the dimensions correctly. After trial and error, it turns out that the Illustrator SVG must be scaled 133%. SVGs coming out of Inkscape do not suffer from this problem.
At this point, I have not used Inkscape as someone else has been using it (not a power user). However, hearing about its command line options makes me want to investigate that immediately. I have been suggesting a CLI approach would be much better for us with all of the automation we are looking to implement. Thanks!
I was just told that Illustrator assumes 96 dpi and Glowforge assumes 76 dpi. If you change the Illustrator doc settings to the lower dpi, dimensions will work right. Same problem with Sketch. I haven’t tried the solution out yet to confirm.
Just as a counterpoint, I had the exact opposite problem on my laser cutter. Inkscape SVGs were always the wrong size, while Illustrator ones were perfect. It ended up being a difference in the assumed resolution of SVGs in the control board firmware. Also, if you forget to save from Inkscape as a vanilla SVG, you end up with inkscape-specific tags that cause laser software to freak out.
It has a command line interface that can be used to do operations on SVG images - mostly rasterization in build pipelines, but it can do other stuff too: https://inkscape.org/doc/inkscape-man.html
I never really got into Xara but I absolutely loved ArtWorks back in the day. That was probably my all time favourite graphic app.
For those that don't know ArtWorks was a vector graphic package RiscOS and predecessor of Xara. It had fast anti-aliasing and was optimised for the integer maths on the floating pointless Arm 2 and 3 chips in Acorn Archimedes and Acorn RiscPCs.
When the parent company stopped development it convinced me to try to use FOSS packages like Inkscape in future. It can be always with you on every platform and it will only get better with time.
I love using Inkscape, but to be honest, my eyes bleed when I switch from Krita over to it. The UI, while functional, is probably the most dated looking app on my Linux desktop. Of course, if I was REALLY bothered by it, I could just open a PR. heh
I actually saw the update earlier and thought "I should see how to go back to the former icons", I found them much clearer. Particularly the page zoom icons, and the [document|] settings icons; I have to rely on the tooltips to get the right icon now, whilst previously they were really clear to me.
great work! I used Illustrator for so long that the transition has been a little rough for me (I don't do graphic work too often). But with the ridiculous CC prices, I am so thankful for a solid, free alternative to Illustrator. Thanks again!
Although the numbers are 0.92.4 and 1.0 alpha, Inkscape has been good for a long time. The release notes for the 1.0 alpha release (https://inkscape.org/release/inkscape-1.0alpha0/) look very much like what I would expect for say a 6.0 or 8.0 version.