Skip to content

Commit 0423948

Browse files
committed
GSoC'25 Week 04 Update by Krish
1 parent a3fb144 commit 0423948

File tree

2 files changed

+92
-8
lines changed

2 files changed

+92
-8
lines changed

src/constants/MarkdownFiles/posts/2025-06-21-gsoc-25-mostlyk-week03.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ image: "assets/Images/GSOC.png"
1313

1414
# Week 3: Development on the C estabhlishment
1515

16-
**Project:** [GTK4 Exploration](https://summerofcode.withgoogle.com/programs/2025/projects/rsHsYZKy)
17-
**Mentors:** [Walter Bender](https://github.com/walterbender), [Ibiam Chihurumnaya Ibiam](https://github.com/chimosky), [Juan Pablo Ugarte](https://github.com/xjuan)
18-
**Reporting Period:** June 06, 2025 till June 14, 2025
16+
**Project:** [GTK4 Exploration](https://summerofcode.withgoogle.com/programs/2025/projects/rsHsYZKy)
17+
**Mentors:** [Walter Bender](https://github.com/walterbender), [Ibiam Chihurumnaya Ibiam](https://github.com/chimosky), [Juan Pablo Ugarte](https://github.com/xjuan)
18+
**Reporting Period:** June 14, 2025 till June 21, 2025
1919

2020
---
2121

@@ -25,13 +25,13 @@ image: "assets/Images/GSOC.png"
2525
> On last to last Friday(06-06-2025), we had a pivotal video call with Juan Pablo Ugarte and Ibiam Chihurumnaya that completely reshaped the porting approach.
2626
What started as a discussion about my initial porting work evolved into something much more strategic and forward-thinking.
2727

28-
As discussed about these changes in the past week's blog, I have been continuing to update the C library. I have ported
28+
As discussed about these changes in the past week's blog, I have been continuing to update the C library. I have ported
2929

3030
### Commited:
3131

3232
- Sugar File Attributes ( in discussion of do we need to modernize or no)
3333
- Event Controllers for Sugar ( handles clicks, movement etc. )
34-
- Long Press Controllers
34+
- Long Press Controllers
3535

3636
### Local:
3737

@@ -113,6 +113,3 @@ These small problems that I tackle using my pre-existing knowledge on LLMs and P
113113
## Acknowledgments
114114

115115
Huge thanks to Juan Pablo Ugarte first of all for being the official mentor and Ibiam Chihurumnaya for the guidance that that changed this project's direction. Their architectural vision has transformed porting into a comprehensive modernization effort. Thanks also to Walter Bender for mentorship.
116-
117-
118-
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
---
2+
title: "GSoC '25 Week 4 Update by Krish Pandya"
3+
excerpt: "Python Library Graphics "
4+
category: "DEVELOPER NEWS"
5+
date: "2025-06-28"
6+
slug: "2025-06-28-gsoc-25-mostlyk-week04"
7+
author: "@/constants/MarkdownFiles/authors/krish-pandya.md"
8+
tags: "gsoc25,sugarlabs,week04,mostlyk"
9+
image: "assets/Images/GSOC.png"
10+
---
11+
12+
<!-- markdownlint-disable -->
13+
14+
# Week 4: Development on the Python Library
15+
16+
**Project:** [GTK4 Exploration](https://summerofcode.withgoogle.com/programs/2025/projects/rsHsYZKy)
17+
18+
**Mentors:** [Walter Bender](https://github.com/walterbender), [Ibiam Chihurumnaya Ibiam](https://github.com/chimosky), [Juan Pablo Ugarte](https://github.com/xjuan)
19+
20+
**Reporting Period:** June 21, 2025 till June 28, 2025
21+
22+
---
23+
24+
25+
## Style , MenuItem and Changes
26+
27+
I seem to have missed updating about the Python start on the last week's blog.
28+
This week has 2 videos and less of text! Sorry about that , I will try to summarize the video trascripts for my beloved reading enthusiasts.
29+
30+
<iframe width="560" height="315" src="https://www.youtube.com/embed/OD1PBOK3g94?si=NT8wfgk7UkQt6gxl" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
31+
32+
This short video covers the initial Python layout and CI pipeline. I’ve structured the repo cleanly:
33+
34+
- `make ci-test` now runs a clean, install, test and build.
35+
- Removed the linting stage since we're not enforcing strict import ordering (consistent with GTK3’s sugar-toolkit style). So it is always going to fail on the top import, but I have kept the formatting check!.
36+
- Wheel gets built automatically , and is stored inside `dist/`. Following this we can also build tar using `make tarbell`, also stored inside `dist/`.
37+
38+
On the graphics front, I wired up a base activity with `XOColors`, and a simple close button. This will expand soon as more components are added.
39+
I'm planning to move forward with alert icons, styled windows, and the tool bar to give our activities the "sugary" look.
40+
41+
> So that was written on Sunday (22nd) and while at the time of writing some more things are added mentioned and demoed in the next video!.
42+
43+
44+
I urge you to go to [sugar-toolkit-gtk4-py](https://github.com/MostlyKIGuess/sugar-toolkit-gtk4-py)'s README as it also has a quick start activity which you can directly bump up. Cheers!
45+
46+
And the next video which is a bit long (_6 mins_) where I talk about what I did this week is:
47+
48+
<iframe width="560" height="315" src="https://www.youtube.com/embed/-WTojjHpQLs?si=m0msTtsXOvzDTTP-" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
49+
50+
This longer video goes into the real dev work of the week.
51+
52+
- Fixed deprecated API usage in styles by warning users when they try to use old GTK3-style methods, and re-routing to the newer alternatives. I have shown this in video specifically.
53+
- Built a `MenuItem` wrapper that supports icons, keyboard accelerators, as used `Gtk.Button` rather than `GtkImageMenuItem` which is deprecated.
54+
- On styles, I added something more like `primary`, `success`, etc. The last section in style example shows this.
55+
- Demonstrated accelerators (`Ctrl+O`, `Ctrl+S`, `Ctrl+Q`). these are now working using the newer GTK4 shortcut handling instead of relying on `GtkImageMenuItem` and it's older signal.
56+
57+
58+
## Sneak Peek & Road Ahead
59+
60+
Near around 3-4 min mark I started giving the sneak peeks haha, and take this as for the work of week 5-6, and let's see how fast it can be pushed. A bit rough, but fun stuff:
61+
62+
- Vertical tray widgets with clickable icons and buttons.
63+
- Fullscreen and window information tools.
64+
- Sugar artwork preview with randomized XO colors. ( sanity check if colors are working again v2)
65+
- First version of the window and tray abstraction layers (some bugs but foundational).
66+
- Starting experiments with `Palette`, `Tray`, and `Toolbar`.
67+
68+
This is the first time I'm actively trying to integrate things built in Week 3 and 4 into full activity flows.
69+
The idea is to not just build features in isolation but make sure they cooperate.
70+
71+
Ideally I want to have some sort of more quick start activity which uses bunch of these Palettable, Toolbar, Style etc. to see everything in action.
72+
73+
## Resources & References
74+
75+
- Project Page – [GTK4 Exploration](https://summerofcode.withgoogle.com/programs/2025/projects/rsHsYZKy)
76+
- New C Library - [sugar-ext repository](https://github.com/sugarlabs/sugar-ext)
77+
- New Python Library - [sugar-toolkit-gtk4-py ](https://github.com/MostlyKIGuess/sugar-toolkit-gtk4-py)
78+
- Active PR - [Establish C library base template with Meson for GTK4](https://github.com/sugarlabs/sugar-ext/pull/1)
79+
- Sugar Toolkit Repository(original) – [sugar-toolkit-gtk3](https://github.com/sugarlabs/sugar-toolkit-gtk3)
80+
- GTK4 Migration Guide – [docs.gtk.org/gtk4/migrating-3to4.html](https://docs.gtk.org/gtk4/migrating-3to4.html)
81+
82+
83+
---
84+
85+
## Acknowledgments
86+
87+
Thanks to all the mentors whose guidance and support have been strong in helping me navigate the Port.

0 commit comments

Comments
 (0)