ezequiel-garzon
ezequiel-garzon

Reputation: 3127

GUI wrapper for cygwin scripts?

I use some minor scripts at work under cygwin, and I would like to make them available to workmates with a familiar Windows icon. For instance, suppose I have the following:

cat *tsv | sort > combined_n_sorted.txt

Is there a simple way to make a corresponding icon, assuming cygwin is installed in my workmates' systems? These scripts may involve (cygwin's) python.

Thanks!

Upvotes: 2

Views: 877

Answers (1)

Andrew Schulman
Andrew Schulman

Reputation: 3544

It seems that your question has two parts:

  1. How to make scripts accessible on users' desktops.
  2. How to give the each script a particular icon.

For (1), you could create a shortcut on the users' desktops that runs the following command:

C:\cygwin\bin\bash.exe -c 'cat *tsv | sort > combined_n_sorted.txt'

or if the commands are stored in a script,

C:\cygwin\bin\bash.exe -c /path/to/script

If you want to hide the console window from appearing while the script runs, you could use the run command (in the run package), e.g.:

C:\cygwin\bin\run.exe /bin/bash -c 'cat *tsv | sort > combined_n_sorted.txt'
# or
C:\cygwin\bin\run.exe /path/to/script

But it might be better for users to see the console window, so they know the script is running.

For (2), you can change each shortcut's icon individually by right-clicking on it and choosing Properties, but AFAIK that's a one-host-at-a-time change. I don't know of any batch way to do it, although no doubt there's a registry key you can set. Or, if you change the icon of the shortcut on your host and then distribute that shortcut, it might keep the same icon on other users' desktops, if the icon is a standard one that exists on their hosts.

Upvotes: 4

Related Questions