Hey all, first time poster here. I recently stared exploring distros and became interested in Mint/Cinnamon. I'm a computer scientist with plenty of programming experience, but minimal software/system development experience. Anyway, I'm a big fan of having a 2D workspace grid, so I took the workspace grid applet made by Hernejj and added some features from the workspace switcher applet (window thumbnails) and made some more tweaks.
Overall, I'm happy with how it turned out, and I'm already using it for my work. However, the process was difficult because I struggled to find documentation for cjs (cinnamon javascript), and more broadly for cinnamon development. It was tough finding answers to questions like what methods are available for the st widgets (st.bin, etc), how can they be formatted, what signals can be produced by various object types, etc. Ultimately, I answered many of my questions through a combination of the cinnamon-doc package and looking at the javascript and c++ source code, as well as some general documentation on gdk 3.
Anyway, all that is to say that I like Mint/Cinnamon a lot, and if people could point me towards the best guidance for applet development, or are just interested in discussing the topic, I'd appreciate it.
Applet development and documentation
Forum rules
Topics in this forum are automatically closed 6 months after creation.
Topics in this forum are automatically closed 6 months after creation.
-
- Level 1
- Posts: 8
- Joined: Wed Mar 15, 2023 9:37 pm
- Midnight True
- Level 4
- Posts: 458
- Joined: Wed Jul 20, 2022 3:23 am
- Location: Pilipinas 🇵🇭
Re: Applet development and documentation
Hi and Welcome to the forum 
the following sites might interest you:
https://projects.linuxmint.com/cinnamon/
https://github.com/linuxmint/cinnamon-spices-applets
https://projects.linuxmint.com/referenc ... pplet.html
the following sites might interest you:
https://projects.linuxmint.com/cinnamon/
https://github.com/linuxmint/cinnamon-spices-applets
https://projects.linuxmint.com/referenc ... pplet.html
OS: Linux Mint 21.1 x86_64 Host: VivoBook_ASUSLaptop X415JA 1.0 Kernel: 5.15.0-60-generic DE: Xfce 4.16
"Learning by Trying ... Learning by Failing ... Learning by Doing"
"Learning by Trying ... Learning by Failing ... Learning by Doing"
Re: Applet development and documentation
cinnamon-doc is as to what you mention about as good as it gets I believe. In this next pinned thread in this forum mtwebster also points to some muffin (mutter...) documentation; viewtopic.php?t=349001
-
- Level 1
- Posts: 8
- Joined: Wed Mar 15, 2023 9:37 pm
Re: Applet development and documentation
Thank you both. I found this page particularly helpful: https://projects.linuxmint.com/referenc ... ation.html
So if I want to find the source code for various libraries included in other people's applets, I believe I check the following locations:
imports.ui.*, imports.misc.* https://github.com/linuxmint/cinnamon/tree/master/js
imports.gi.St https://github.com/linuxmint/cinnamon/t ... ter/src/st
imports.gi.Cinnamon https://github.com/linuxmint/cinnamon/tree/master/src
imports.gi.Clutter https://github.com/linuxmint/muffin/tre ... er/clutter
imports.gi.Meta https://github.com/linuxmint/muffin/tre ... r/src/meta
imports.gi.GObject not sure about this one, maybe it's in https://github.com/linuxmint/gtk
So if I want to find the source code for various libraries included in other people's applets, I believe I check the following locations:
imports.ui.*, imports.misc.* https://github.com/linuxmint/cinnamon/tree/master/js
imports.gi.St https://github.com/linuxmint/cinnamon/t ... ter/src/st
imports.gi.Cinnamon https://github.com/linuxmint/cinnamon/tree/master/src
imports.gi.Clutter https://github.com/linuxmint/muffin/tre ... er/clutter
imports.gi.Meta https://github.com/linuxmint/muffin/tre ... r/src/meta
imports.gi.GObject not sure about this one, maybe it's in https://github.com/linuxmint/gtk
Re: Applet development and documentation
For docs you can open Synaptic, search for
Then open Devhelp (in Main Menu > Programming). That should be of good help, it's what I'm using.
By the way, I had played with same workspace grid 2D applet myself but didn't go to great lengths. You can check it out on my GitHub.
-doc
in package name and basically install everything that sounds familiar and/or useful from the results list.Then open Devhelp (in Main Menu > Programming). That should be of good help, it's what I'm using.
By the way, I had played with same workspace grid 2D applet myself but didn't go to great lengths. You can check it out on my GitHub.