Installation instructions for Ubuntu/Gnome
For the beginning, I just documented how to install the VM in an Ubuntu system so that you can run images more conveniently from the GUI:
Proper window icon in launcher/dock:
(For clarification, by default you cannot see nor add a Squeak binary to "Open With" in Gnome, and the app icon is just generic.)
Tested on Ubuntu 24.
Future work:
- I also tried to add an icon to the file in the Files app (nautilus) but that doesn't work right now.
- It would be nice if the starter script or the binary itself had an option to trigger a file chooser if no image file is specified, so that opening Squeak from the launcher works (currently it does nothing visible).
- Automate all of this, ideally also ship it as a deb package (or maybe research alternatives such as snap/flatpak).
Taking a very quick look I
- noticed an apparent typo on line 13 " Create
~/.ocal/bin/squeak:" Pretty sure that ought to be ~/.local - remembered a relevant linuxfoundation documentabout where to install stuff - https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s09.htm - that seems to tell us to use /usr/local subdirectories. Is that important? Dunno.
tim
tim Rowledge; @.***; http://www.rowledge.org/tim Design: The activity of preparing for a design review.
Thanks for the feedback, tim!
- noticed an apparent typo on line 13 " Create
~/.ocal/bin/squeak:" Pretty sure that ought to be ~/.local
fixed
- remembered a relevant linuxfoundation documentabout where to install stuff - https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s09.htm - that seems to tell us to use /usr/local subdirectories. Is that important? Dunno.
/usr/local is global on the machine, ~/.local is just for the current user. I'm not sure how established the latter is, but not only it feels cleaner to me, it also avoids sudo permissions for installing Squeak. However, going the global way would maybe make it easier to set up file icons. You can already update the paths accordingly, maybe we should document/support both.
On 2025-02-08, at 5:00 PM, Christoph Thiede via Squeak-dev @.***> wrote:
• remembered a relevant linuxfoundation documentabout where to install stuff - https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s09.htm - that seems to tell us to use /usr/local subdirectories. Is that important? Dunno. /usr/local is global on the machine, ~/.local is just for the current user. I'm not sure how established the latter is, but not only it feels cleaner to me, it also avoids sudo permissions for installing Squeak. However, going the global way would maybe make it easier to set up file icons. You can already update the paths accordingly, maybe we should document/support both.
This is a subject I really know nothing about other than having read what this purportedly authoritative source says. No idea if anyone pays any attention to it!
tim
tim Rowledge; @.; http://www.rowledge.org/tim "Box" said Pooh when Piglet kneed him in the groin.
If you're not seeing the icon, try adding this to your .desktop file:
StartupWMClass=squeak
An alternatative icon:
If you prefer to run Squeak full screen, you might appreciate the additional screen real-estate afforded by installing the Unite! Gnome extension. First, install the Gnome Shell Integration extension in Chrome from
https://extensions.gnome.org/
then install the "Unite!" extension. It unites the window title bar with the Gnome top bar.
@aSqueaker I have added StartupWMClass to my .desktop file and have updated the database but cannot see any difference. Does this actually work for you, and under which version of Gnome? :)
Regarding your other note, if I turn Squeak to fullscreen mode, the Goome top bar is hidden, so I don't see any advantage in merging the title bar with the Gnome top bar. Apart from that, I cannot find this extension in the Extension Store - perhaps it is not available in Ubuntu 24 any longer?
Hi Christoph,
I misspoke about StartupWMClass, it's not about the icon but actually addresses the issue of grouping all running instances of Squeak for purposes of the task switcher. So you can press [Windows key]+[number key] associated with Squeak to switch back to the last one, and once again to show all running instances, instead of each instance being given its own unique icon slot in the launcher sidebar.
I also forgot about Squeak's special "fullscreen" mode, when I was actually referring simply to running Squeak window maximized. Sorry about that confusion! But this is still a nice balance because it recovers screen real-estate by not covering up the Gnome top bar. Instead it "Unites" with it.
Weirdly, Gnome Shell Integration is a Chrome extension. I have no idea how a Chrome extension could or should be the appropriate place from which to customize Gnome, but it works and can be downloaded here:
https://chromewebstore.google.com/detail/gnome-shell-integration/gphhapmejobijbbhgpjhcjognlahblep
After installing that, the various Gnome shell integration extensions can be used:
https://extensions.gnome.org/
"Unite!" by hardpixel with over 700K downloads is the one I'm using. After selecting it, click the "switch" in the upper right to install and "turn it on". IIRC, the effect is immediate.
- Chris
On Sat, Feb 15, 2025 at 1:29 PM Christoph Thiede via Squeak-dev < @.***> wrote:
@aSqueaker https://github.com/aSqueaker I have added StartupWMClass to my .desktop file and have updated the database but cannot see any difference. Does this actually work for you, and under which version of Gnome? :)
Regarding your other note, if I turn Squeak to fullscreen mode, the Goome top bar is hidden, so I don't see any advantage in merging the title bar with the Gnome top bar. Apart from that, I cannot find this extension in the Extension Store - perhaps it is not available in Ubuntu 24 any longer?
— Reply to this email directly, view it on GitHub https://github.com/squeak-smalltalk/squeak-app/pull/39#issuecomment-2661057620, or unsubscribe https://github.com/notifications/unsubscribe-auth/BFYAK6P6DUKJCDP235NVI4L2P6IRPAVCNFSM6AAAAABWYBW67KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMNRRGA2TONRSGA . You are receiving this because you commented.Message ID: @.***> [image: LinqLover]LinqLover left a comment (squeak-smalltalk/squeak-app#39) https://github.com/squeak-smalltalk/squeak-app/pull/39#issuecomment-2661057620
@aSqueaker https://github.com/aSqueaker I have added StartupWMClass to my .desktop file and have updated the database but cannot see any difference. Does this actually work for you, and under which version of Gnome? :)
Regarding your other note, if I turn Squeak to fullscreen mode, the Goome top bar is hidden, so I don't see any advantage in merging the title bar with the Gnome top bar. Apart from that, I cannot find this extension in the Extension Store - perhaps it is not available in Ubuntu 24 any longer?
— Reply to this email directly, view it on GitHub https://github.com/squeak-smalltalk/squeak-app/pull/39#issuecomment-2661057620, or unsubscribe https://github.com/notifications/unsubscribe-auth/BFYAK6P6DUKJCDP235NVI4L2P6IRPAVCNFSM6AAAAABWYBW67KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMNRRGA2TONRSGA . You are receiving this because you commented.Message ID: @.> Squeak-dev mailing list -- @. To unsubscribe send an email to @.***
Here's the Unite extension.
https://extensions.gnome.org/extension/1287/unite/
On Sat, Feb 15, 2025 at 1:29 PM Christoph Thiede via Squeak-dev < @.***> wrote:
@aSqueaker https://github.com/aSqueaker I have added StartupWMClass to my .desktop file and have updated the database but cannot see any difference. Does this actually work for you, and under which version of Gnome? :)
Regarding your other note, if I turn Squeak to fullscreen mode, the Goome top bar is hidden, so I don't see any advantage in merging the title bar with the Gnome top bar. Apart from that, I cannot find this extension in the Extension Store - perhaps it is not available in Ubuntu 24 any longer?
— Reply to this email directly, view it on GitHub https://github.com/squeak-smalltalk/squeak-app/pull/39#issuecomment-2661057620, or unsubscribe https://github.com/notifications/unsubscribe-auth/BFYAK6P6DUKJCDP235NVI4L2P6IRPAVCNFSM6AAAAABWYBW67KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMNRRGA2TONRSGA . You are receiving this because you commented.Message ID: @.***> [image: LinqLover]LinqLover left a comment (squeak-smalltalk/squeak-app#39) https://github.com/squeak-smalltalk/squeak-app/pull/39#issuecomment-2661057620
@aSqueaker https://github.com/aSqueaker I have added StartupWMClass to my .desktop file and have updated the database but cannot see any difference. Does this actually work for you, and under which version of Gnome? :)
Regarding your other note, if I turn Squeak to fullscreen mode, the Goome top bar is hidden, so I don't see any advantage in merging the title bar with the Gnome top bar. Apart from that, I cannot find this extension in the Extension Store - perhaps it is not available in Ubuntu 24 any longer?
— Reply to this email directly, view it on GitHub https://github.com/squeak-smalltalk/squeak-app/pull/39#issuecomment-2661057620, or unsubscribe https://github.com/notifications/unsubscribe-auth/BFYAK6P6DUKJCDP235NVI4L2P6IRPAVCNFSM6AAAAABWYBW67KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMNRRGA2TONRSGA . You are receiving this because you commented.Message ID: @.> Squeak-dev mailing list -- @. To unsubscribe send an email to @.***
Hi Chris,
the windows appear grouped for me even when StartupWMClass is not included in the .desktop file. The Unite extension is not compatible with Ubuntu 24 anymore.
Anyway, thanks for the comments!
In a meeting of the previous board, we discussed that we are hesitant to promote such a kind of singleton VM because many use cases involve using different VMs for different images.
Nevertheless, I would suggest to merge this documentation into the main branch, plus maybe include it into the Linux/AiO bundles so that interested users can follow these instructions. Any objections?