Applet development and documentation

About programming and getting involved with Linux Mint development
Forum rules
Topics in this forum are automatically closed 6 months after creation.
Locked
MisterDrgn
Level 1
Level 1
Posts: 16
Joined: Wed Mar 15, 2023 9:37 pm

Applet development and documentation

Post by MisterDrgn »

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.
Last edited by LockBot on Fri Sep 15, 2023 10:00 pm, edited 1 time in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
User avatar
Midnight True
Level 7
Level 7
Posts: 1522
Joined: Wed Jul 20, 2022 3:23 am
Location: Southern and Southwestern area of Mato
Contact:

Re: Applet development and documentation

Post by Midnight True »

rene
Level 20
Level 20
Posts: 12212
Joined: Sun Mar 27, 2016 6:58 pm

Re: Applet development and documentation

Post by rene »

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
MisterDrgn
Level 1
Level 1
Posts: 16
Joined: Wed Mar 15, 2023 9:37 pm

Re: Applet development and documentation

Post by MisterDrgn »

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
User avatar
Drugwash
Level 5
Level 5
Posts: 733
Joined: Fri Jun 07, 2019 6:40 am
Location: Ploieşti, RO
Contact:

Re: Applet development and documentation

Post by Drugwash »

For docs you can open Synaptic, search for -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.
Locked

Return to “Programming & Development”