Discuss Scratch

100+ posts

Element [matrix] 100%pen

In real life Element is a decentralized messaging system based on the Matrix protocol, a kind of cooler Discord, very secure but with less functionality (although there is a lot )

I started to redesign the interface of this messenger on Scratch in 100% pen (with chatbot to simulate the discussions, made by bidulule)
the project uses GTK creator V2 to generate pen graphics (home made program, you can find it here) and is well advanced, the problem : I'm too old for scratch, I go there less and less and don't want to invest myself on this platform anymore. The project remains unfinished.

So I decided today to share my unfinished projects and to create a forum to federate the scratcher who want to continue the project.

How to contribute?
Before all, I want the project to remain based on Element. Download and look at the interface before you start (there is a web version for those who don't want to download it).

To contribute, you can either write code or moderate this room

to write code, we can summarize it with this:
  • make a remix
  • study the code
  • make your modifications
  • publish the remix and describe here what you did
details will follow

to moderate room :
  1. follow the topic
  2. read the behavior
  3. send a message to say you want to moderate, and… welcome
details are towards the end

1- the remix
no, i'm not going to make a tuto to explain how to remix a project,
I just ask you to look for the most advanced version to improve it, if everyone only makes improvements to the original project it will be useless. The last version will usually be towards the end, if in doubt ask others
2- study the code
the code is quite complex, no one can contribute without looking at how it works
I will give some hints, then I count on you to explain what you understood

the program is divided in 3 :

the first one (RenduGTK) is for pen rendering, it's where the instructions to draw the application are, normally you won't have much to do here, everything is functional

the second one comes in addition to the first one, it's about the scripts that manage the keyboard, it's a griffpatch script that I improved. Once again, you won't have to do much here, everything works

it's in the last one that there will be work, it's where all the code allowing the interraction with the pen drawings is done. This is where we manage the variables specific to the functioning of Element, where we dynamically modify the interface… in short, this is the code of Element, the rest is more like libraries.

How is the rendering done?

all the rendering is done with the RenduGTK sprite.
the sprite only draw the window, in reality the window is located in lists

it is a question here of writing the window in the lists, and the renderer draws it.
But don't worry, in reality I never described by hand a single window, it's with the GTK editor program that all this is done, I just have to import it and it works.
But, to modify the interface from the program, you have to modify the values of the list.
It is very simple to understand, for example there it is about the colors of the graphic elements (dark/light mode, HTML code or RGB rate)

I'm sorry, the words light (clair) and dark (sombre) are in French, I had not thought of translating them the day I started the project
The difficulty here is rather to find which box corresponds to which element. I let you develop your search method for that, don't be afraid to modify the values, the lists are reinitialized when the program is launched.
/!\ however, the lists where the name starts with internal them do not reinitialize, avoid modifing it /!\

3- make your modifications

I have nothing special to say

4- publish the remix and describe here what you did

You have added the feature of the century, simply changed a color or other and you want to publish it?
This forum is here for that!

Thanks for your work, but first of all, go to the Notes and Credits part of the project, and add your nickname to the list of contributors! You've earned it
(and please, don't remove any nickname, to the ones who also worked it wouldn't be too much)

Once published I ask you to do one last thing: present it here.
You have to write a message where you present what you did, how…
A small list of elements to say in your message:
  1. explain what you did (you can add some screen)
  2. how you did it (enough to understand you, but you don't have to explain everything in detail)
  3. a link to your project
  4. +other if you want
please, I want to see on this page only links to improved versions of the Element, this is not an advertising space

the to do list:

  1. not all parameters are operational, you can implement 1 or 2
  2. the communities are not implemented (I warn you it's very complex to do)
  3. the chatbot keeps the same name in all the rooms, we could give it a name
  4. the interface is not yet beautiful, you just have to change some value in my graphical engine to correct it but there are a lot of value (more than 500 in a big dozen list), train yourself with GTK before, I have in the code some tools to find it
  5. translate variables and custom blocks into English
  6. + other cool stuff you can think of
the code is complex, you can explore it and describe how it works to others.
To do this you can for example explain how you could add a new feature or a funny modification.

I'm not a big fan of rules, but here there will be some,

  1. We are on scratch, so scratch rules come first
  2. No off topic, the topic here is Element, nothing else
  3. Contributions that do not serve the original purpose do not belong here. We want to recreate Element, nothing else
  4. Of course, everything that is not forbidden is allowed

Became moderator
Anyone can become a moderator, as long as they are accepted by others. If you are the first one or if it seems that nobody is active, consider yourself accepted (wait a few days to be sure that nobody is really active)
just tell us that you want to become a moderator, your motivations and how much you would like to be active + other if you want

an example:
I would like to moderate this room ,
I am very interested in the project and would like to make it live
I usually connect once a week
Thank you!
wait to be validated, but if at the end of the week nobody has answered, it's good
for the first ones, it's yes automatically

your role will be to help future contributors, keep this project alive and above all to make sure that chaos does not set in here

thank you for reading

1 post

Element [matrix] 100%pen

Wow great coding!
4 posts

Element [matrix] 100%pen

when green flag clicked
say [nice code]

Powered by DjangoBB

Standard | Mobile