Where is source code of the binding from javascript to C for Cinnamon? Which C objects / methods can be accessed?

20 Views Asked by At

My goal was to find out what properties/methods of UI of Cinnamon I can access from javascript code. In the javascript code of Cinnamon I see e.g. (applet.js):

const St = imports.gi.St;
...
this._applet_label = new St.Label({ reactive: true,
                                    track_hover: true,
                                    style_class: 'applet-label'});

In the Cinnamon code from https://github.com/linuxmint/cinnamon I've found st-label.h with:

struct _StLabel
{
  /*< private >*/
  StWidget parent_instance;

  StLabelPrivate *priv;
};

struct _StLabelClass
{
  StWidgetClass parent_class;
};

But I could not find the code for the binding from _StLabel to St.Label. How do I find all methods, variables from binded C UI libraries I can use in javascript code?

For const Tooltips = imports.ui.tooltips; I see tooltips.js in js/ui folder. However how gi.St is found by javascript engine?

In particular I want to change the font of the label (via style_class or even better size, color etc. separately via their own objects/properties/methods). I could not find such code in Cinnamon applets sources, I've found font change is commonly made via themes by the user, but I want more fine-grained control.

0

There are 0 best solutions below