Mass Converting .svg to .png on macOS

When playing around with Royal TSX I needed to mass convert the VMware Clarity .svg files to .png files that I could use as icons in Royal TSX.

After trying a series of different approaches, I ended up with using rsvg-convert from libRSVG. In order to get rsvg-convert installed on my MacBook, I turned to HomeBrew.

HomeBrew, which calls itself The missing package manager for macOS is in my opinion essential for any macOS user. If you are missing a command or utility, chances are that HomeBrew has you covered.

Mass Converting:

Once you have HomeBrew installed, you’re pretty much ready to go by running the following command in Terminal:

brew install librsvg

This installs the libRSVG formulae, and all it’s dependencies, and makes rsvg-convert available.

Once libRSVG installed locally, you can mass-convert .svg files by running the following command in your terminal of choice.

for i in *; do rsvg-convert $i -o `echo $i | sed -e 's/svg$/png/'`; done

This loops through every .svg file in the current directory, and creates .png versions of them, for usage elsewhere.

How I use Todoist

As I’ve mentioned before, I use Todoist to keep track of my personal to-do list. This is the first to-do manager I’ve been able to stick with, and I’ve been using it daily for well over 2 years now. In that two year period I’ve reorganised it a bit, but for the most part I’ve been able to keep to the main structure I initially created when setting it up the first time.

Photo by Glenn Carstens-Peters

Projects

I try to keep my projects organised in main projects, with sub-projects as needed. All items I add should fall into one of these high-level projects.
I have the following main projects defined.

  • Work
  • Private
  • VMUG
  • vNinja

Most, of not all of these are self-explanatory. Anything Work related goes into Work, and anything Private naturally goes into Private. Most of these have sub-projects as well, like Work which has sub-projects for my employer, and sub-projects for each of my clients.

Labels

In addition to Projects, Todoist also features Labels than you can apply to a task, regardless of which project it is (thing of this as tags).

My current list of labels are:

  • @Waiting—Anything that I’m currently waiting for someone else to to something with before I can continue.
  • @Writing—Things I’m planning on writing.
  • @Someday—Something I plan on doing at some point, but haven’t set a deadline for.
  • @Read—Things I’m planning on reading.

Priorities

  • P1Important and urgent. Do these now.
  • P2Important but not urgent. Must have a due date. Move to P1 on or before due date.
  • P3Not important but urgent. Delegate to others, or change priority to P2 or P4.
  • P4Not important and not urgent. Only do if time permits. No due date.

This is based on the Eisenhower Method, and makes it easy to figure out which tasks I should prioritize at any given time. These tie in to the Todoist priorities as well, so I can use both filters

In addition this, I have the Todoist app on my phone, and run the Todoist extension in Chrome as well to capture web pages to my @Read list. This is also used in combination with Pocket. I have recurring tasks every day, with mobile notification, to make sure I check Todoist regularly. After all, I don’t want to lose my Todoist Karma!

So far I’ve completed 2850 tasks in Todoist, giving me the Karma level of Grandmaster!

For any GTD aficionados out there, you can clearly see that I don’t follow that structure. GTD in itself is probably awesome, if you’re able to stick with it. For me though, GTD takes to much of an effort in organising tasks and projects, so I’ve created a system that works for me.

How do you use your task manager to keep track of your todo items?

 

 

Making Royal TSX Even More Awesome

For those who don’t know, Royal TSX is an awesome Remote Management solution, which supports RDP, VNC, SSH, S/FTP and even ESXi and vCenter. I’ve been using it for years, not just because they offer free licenses for vExperts (and others), but simply because it works really well. Store it’s config file on a synchronized file area (like Dropbox), and boom, your config follows you around from machine to machine, including custom icons. What’s not to like?

Following Ryan Johnson’s tweet, where he showed off his VMware Clarity inspired Royal TSX setup, I decided to do something similar. Unlike Ryan, I decided to run with the standard Clarity icons, and not invert them. Since the Clarity icons are in .svg format, I had to convert them to .png to be able to use them as icons in Royal TSX, I’ll post a separate post on how I batch converted them later.

Currently, my setup looks like this

Royal TSX with Clarity icons

Changing the icons for entries is pretty straight forward. For existing entries in your config file, simply open the items properties and click on the small icon besides the Display Name. This brings up a dialog showing the built-in icons, but also reveals an option to browse your filesystem for a new icon to use.

Update: Felix from Royal Applications left a nice comment, explaining that you can also drag-and-drop icons directory from finder into Royal TSX as well as the manual process described above.

To change the default icons, find Default Settings in the Navigation Panel on the left, and follow the same procedure.

While the primary goal was to prettify my setup with snazzy new icons, I discovered that I could do quite a few things besides that as well.

As seen in the screenshot, there are a couple of web pages added, but perhaps more interesting are the “PowerCLI” and “Connect VPN” entries.

Running PowerCLI Core from Royal TSX

I run the PowerCLI Core Docker container on my Macbook from time to time, so why not have the option to run it directly from Royal TSX? Once you have it up and running, adding it as a Command Task is pretty easy!

Add a new Command Task, and put in the docker run command in the Command: field

Update: Since originally posting, I’ve discovered that there is an even better ways of doing this, and at the same time keep your PowerCLI running in a tab inside of Royal TSX. Instead of adding it as a Command Task, add a new Terminal connection, but use Custom Terminal as the connection type:

Then add the command you want to run under Custom Commands

In my case, I want to run the following command:

docker run --rm -it --entrypoint='/usr/bin/powershell' vmware/powerclicore

Now, under “Advanced”, find the Session option. Enable “Run inside login shell” to make sure your applications, like Docker, are found without having to specify the complete path to it, and that’s it. As long as Docker runs locally, PowerCLI core can now be launched directly from the navigation bar, and it opens a new tab inside of Royal TSX!

This can also be used to run other things of course, I’ve added a new Terminal option to my sidebar as well, which opens iTerm2 in a new tab.

Connecting Tunnelblick VPN Royal TSX

I run OpenVPN at home, and use Tunnelblick as my client of choice. In order to connect to my home network, I’ve created another Command Task, with the “Run in Terminal” option configured, that runs a simple AppleScript command instructing Tunnelblick to connect.

osascript -e "tell application \"Tunnelblick\"" -e "connect \"[your-connection-name]\"" -e "end tell"

I guess I really understated the percentage of awesomeness increase by doing this, it should at least have been 84% 92,7%.