<commit_before>#!/usr/bin/env seed

Seed.import_namespace("Canvas");
Seed.import_namespace("Clutter");
Seed.import_namespace("ClutterCairo");

Clutter.init(null, null);

c = new ClutterCairo.ClutterCairo.c_new(100, 100);
cr = c.create();

ctx = new Canvas.CairoCanvas(cr);

ctx.fillStyle = "rgb(200,0,0)";
ctx.fillRect(10, 10, 55, 50);

ctx.fillStyle = "rgba(0, 0, 200, 0.5)";
ctx.fillRect(30, 30, 55, 50);

c.width = c.height = 100;
c.x = c.y = 100;

ctx.destroy();

s = new Clutter.Stage();
s.signal.hide.connect(function () { Clutter.main_quit(); });

s.add_actor(c);

s.show_all();
<commit_msg>ClutterCairo works now if you have both 0.8 and 0.9 installed.<commit_after>#!/usr/bin/env seed

Seed.import_namespace("Canvas");
Seed.import_namespace("Clutter", "0.8");
Seed.import_namespace("ClutterCairo", "0.8");

Clutter.init(null, null);

c = new ClutterCairo.ClutterCairo.c_new(100, 100);
cr = c.create();

ctx = new Canvas.CairoCanvas(cr);

ctx.fillStyle = "rgb(200,0,0)";
ctx.fillRect(10, 10, 55, 50);

ctx.fillStyle = "rgba(0, 0, 200, 0.5)";
ctx.fillRect(30, 30, 55, 50);

c.width = c.height = 100;
c.x = c.y = 100;

ctx.destroy();

s = new Clutter.Stage();
s.signal.hide.connect(function () { Clutter.main_quit(); });

s.add_actor(c);

s.show_all();

{'fraction_non_alphanumeric': 0.20413026211278792, 'fraction_numerical': 0.0698967434471803, 'mean_word_length': 4.943396226415095, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1428895', 'n_tokens_mistral': 600, 'n_tokens_neox': 529, 'n_words': 102}