I spent a few days looking with much envy at the images that are online which were produced by GIMP and Mathmap. It took me more than one day to find the script to make Mathmap work for those Escher like images and then it took me a little more time to get Mathmap working here.
One morning I awoke and knew that the image I should use for this effect was a browser image. I read the documentation for how to build firefox from the developers code repository and thought that it would be really cool to get a screenshot of this (I think that x86-64 Minefields are still somewhat rare on the internet) and mathmap it with my from the developers code repository GIMP.
Making the browser window to be the right size was such a challenge that by the time I finally had this image here, I thought (very unrealistically) that it was quite beautiful.
Perhaps there is software that helps this process. Maybe I did something wrong and that is the reason that I was unable to start the browser with the specified dimensions. For whatever it is worth to you, here is how I finally did it.
The first thing I did was try firefox --help
carol@bread:~$ firefox --help
Usage: /usr/local/lib/firefox-3.0a6pre/firefox-bin [ options ... ] [URL]
where options include:
X11 options
--display=DISPLAY X display to use
--sync Make X calls synchronous
--no-xshm Don't use X shared memory extension
--xim-preedit=STYLE
--xim-status=STYLE
--g-fatal-warnings Make all warnings fatal
Mozilla options
-height <value> Set height of startup window to <value>.
-h or -help Print this message.
-width <value> Set width of startup window to <value>.
-v or -version Print Firefox version.
-P <profile> Start with <profile>.
-ProfileManager Start with ProfileManager.
-no-remote Open new instance, not a new window in running instance.
-UILocale <locale> Start with <locale> resources as UI Locale.
-safe-mode Disables extensions and themes for this session.
-jsconsole Open the Error console.
-browser Open a browser window.
-inspector <url> Open the DOM inspector.
-reftest <file> Run layout acceptance tests on given manifest.
Usage: firefox [-flags] [<url>]
carol@bread:~$
It seemed like it should be fairly easy from what I read here. I tried firefox -height 900 -width 900.
That failed so I tried several things: starting it with -no-remote only caused it to complain, then I shut down all running instances of it and restarted only to see the width and the length 'suggestions' be ignored. Perhaps I could have started it with the ProfileManager and create a new profile just for stuff like this -- but I didn't. I also did not look through any information about what I could do by editing the configuration manually.
When me and all that failed, I looked at my display software options. I found xwininfo and looked at what xwininfo --help had to say. It said that I could get information about windows if the name of the window was supplied. So, I started firefox again with no page displayed and gave the 'name' of this window to xwininfo:
carol@bread:~$ xwininfo -name Minefield xwininfo: Window id: 0x48e030c "Minefield" Absolute upper-left X: 789 Absolute upper-left Y: 56 Relative upper-left X: 5 Relative upper-left Y: 24 Width: 878 Height: 939 Depth: 24 Visual Class: TrueColor Border width: 0 Class: InputOutput Colormap: 0x20 (installed) Bit Gravity State: NorthWestGravity Window Gravity State: NorthWestGravity Backing Store State: NotUseful Save Under State: no Map State: IsViewable Override Redirect State: no Corners: +789+56 -13+56 -13-55 +789-55 -geometry 878x939-7+32 carol@bread:~$
This information is good, except it is about the face of the application -- everything that is not put there by the window manager (like the themed window borders and the window manager buttons in the corners and the title there and the way it is displayed). I wanted either the whole window to be square (so the whole thing could be mapped within itself) or just the parts of the browser window where the web page is displayed. xwininfo tells me information about the space that the browser buttons is occupying on my desktop as well. So, even if I adjust the numbers that wininfo gives me to compensate for the browser buttons, it still means pixel by pixel adjustments to the window, and then the rerunning of xwininfo.
And that is just for a browser window which is not displaying an image like the Flickr pages do. That was a whole different set of problems because I wanted (or perhaps needed -- I can't remember at this point) to use the image area within a page layout so I had to make a square browser window displaying that page with the scaled screenshot of the browser image (any square image would have worked) exactly in the center. I made dozens of screenshots after nudging the width of the history sidebar and checked each of the resulting screenshots with fuzzy selection and layer making.
I had the great idea to cease searching for software options (and they are there, or still there as the case might be) for this task and to use GIMP's Filters/Render/Pattern/Grid plug-in and make a desktop image instead. And it did help some, especially when stretching the browser to fit within 10 or 20 pixels of my goal.
Eventually, I resorted to using screenshots and the information in GIMP's image windows. Dozens of them. Getting the square window was easier than getting the window which had a square area for displaying the web page. The square web page window needed fuzzy selection and layer making to determine when the size was right.
A steady hand and a mostly clean mouse helped.
I probably took at the very least one hundred screenshots. Then, I was so worried that I did not have the screenshot that I needed, I spent a lot of time using the browser with this awkward size because I did not want to go through the process again of getting a browser window which is the perfect size.
I did go through that process again. It did nothing to help the headache that I had before I started to redo it, either.
It was worth it though, I think these Drosted screenshots are cool and what I think is all that matters for this kind of thing.
Your window manager might have tools that would make this task easier -- I remember these things being much easier long ago when I was using fvwm2 where I think that there was an option to have the window manager display the window size (like a tooltip) while windows were being resized, for example. It really looked to me as if it would take a lot of time no matter what I decided, time spent either nudging application window corners & checking with a screenshot or time spent finding & installing the software (it seems that most of the tools from xorg use a different toolkit, for example).
The image to the left is a (scaled) square browser window and the image on the right is a (scaled) browser window whose web page display area is square. The full-sized screenshots are not available, although they could probably easily be extracted from the images I made with them. It is better to get your own perfectly sized screenshots that have your theme, icons and your configuration options on them.
I have not too much to confess about these bad girls.
One day, I might take the software approach to getting these windows to be the right size. Like figure out the reason that firefox ignores my suggestions and perhaps download and build the tools that freedesktop provides (or points at) for this. It might be interesting to compare time spent and headaches....
The original task was not in making my desktop work a certain (and special for this moment) way; the task is to GIMP an image that I had in my mind.
After all the nudging of corners, screenshot getting, selection and layer making for checking, sidebar nudging and more -- I got a screenshot with the Flickr page I wanted in the place where web pages get drawn in my browser and the image I put there in the center of this web browser that I built and launched and sized for this purpose.
I have the Wikipedia search thingie ready in the corner (most of the images I made with the mathmap plug-in and that script came from the Wikicommons collection. I also was happy to see that it was really easy to fill the history sidebar with a subtle note that the author of Mathmap has a Flickr page as well.
I am actually somewhat disheartened that the advertisement for nikon has disappeared from the display of my Flickr uploaded images. That is my free and not taken that serious space to "play" photograph taker and image maker on; like the big boys and girls do.
As is obvious from the Layers Dialog here, I haven't changed my GIMP habits much since I first followed this tutorial back in 1998. The more difficult task is to keep doing the same thing and make it look interesting on a web page. Note the special "transparency" background in this scaled to not make it too easy xcf.
Once you have an image with a porportional transparent area in the center of it, you can use the Droste Script on it until you are happy with the results.
So, since I am certain that the radius of the transparent area of my image is 500x500 pixels, I can use the Droste Effect script and Mathmap until I run out of strands:
GTK+ is used in everything here (except the minimized xterm).
I noticed that the print widget behaves differently than the other widgets. It maintains focus and does not have the minimizer button and when it is open, the main application window also cannot be minimized.
It was all so different before everything changed. carol@bread:~$ pkg-config --modversion gtk+-2.0 2.11.7
That is a lot of widgets to go inside of this one 'must have focus widget' -- and this (some assembly required) screenshot is not even all of them!