diff --git a/icons/balloon.svg b/icons/balloon.svg new file mode 100644 index 0000000..8ab02ac --- /dev/null +++ b/icons/balloon.svg @@ -0,0 +1,1619 @@ + + Bert's Smalltalk Balloon + + + This is my rendering of the Smalltalk Balloon. It came into being almost, + but not entirely, unlike the other painted and drawn renditions. + + The special thing is this: The picture was created completely in Smalltalk! + Inspired by the famous BYTE cover I modelled the island and the balloon in 3D Studio. + This three dimensional model was rendered with the line drawing renderer I developed in my diploma thesis. + + The Smalltalk renderer analytically calculates visible parts of the polygons in the scene. + The resulting pieces are colored according to the light and written to a PostScript file. + On top of these faces a line drawing is created by smoothly drawing contours with splines. + Again, the line width is adjusted to reflect the lighting (kudos to Lars Schumann for the drawing library). + The whole process from loading the model to writing the file took about one minute on a Pentium 90 with VisualWorks 2.5. + + Bert Schoenwaelder, 1997-07-01 + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/install/gnome.md b/install/gnome.md new file mode 100644 index 0000000..59490f1 --- /dev/null +++ b/install/gnome.md @@ -0,0 +1,96 @@ +# Install squeak-app in Gnome + +This guide describes a user-local installation. + +## Binaries + +- Download a compatible Linux bundle from + +- Extract its contents to `~/.local/squeak//` + +- Copy `balloon.svg` to `~/.local/squeak/squeak.svg` + +- Create `~/.local/bin/squeak`: + + ```sh + #!/bin/sh + set -e + version=202502080249 + cd "$HOME/.local/squeak/$version/" + exec ./squeak "$@" + ``` + + - Make it executable (`chmod +x`) + +- Verify that in a terminal, `squeak myimage.image` works + +> [!NOTE] +> Not sure whether this aligns ideally with Ubuntu’s update-alternatives mechanism + +## Gnome Launcher + +- Create `nano ~/.local/share/applications/squeak.desktop`: + + ```ini + [Desktop Entry] + Type=Application + Name=Squeak + Exec=/home//.local/bin/squeak %F + Icon=/home//.local/squeak/squeak.svg + Terminal=false + Categories=Development; + MimeType=application/x-squeakimage; + ``` + + - Replace `` in the above with your local user name (`echo "$USER"`) + - Make it executable (`chmod +x`) + +- Optionally, validate: `desktop-file-validate ~/.local/share/applications/squeak.desktop` + +- `update-desktop-database ~/.local/share/applications` + +## Open With + +- `mkdir -p ~/.local/share/mime/packages/` + +- Create `~/.local/share/mime/packages/squeak.xml`: + + ```xml + + + + Squeak Image + + + + ``` + +- `update-mime-database ~/.local/share/mime` + +## File Icon + +> [!CAUTION] +> Currently not working, breaks other icons of local-user applications! +> +> ChatGPT said it should work like this, though… + +- `mkdir -p .local/share/icons/hicolor/128x128/mimetypes/ && convert .local/squeak/squeak.svg -resize 128x128 -gravity center -background none -extent 128x128 .local/share/icons/hicolor/128x128/mimetypes/application-x-squeakimage.png` + + - Same for other powers of two + - Requires ImageMagick (`sudo apt-get install imagemagick`) + +- Create `nano ~/.local/share/icons/hicolor/index.theme`: + + ```ini + [Icon Theme] + Name=Hicolor + Comment=User local hicolor icon theme + Directories=128x128/mimetypes + + [128x128/mimetypes] + Size=128 + Context=Mimetypes + Type=Fixed + ``` + +- `gtk-update-icon-cache -f ~/.local/share/icons/hicolor`