Description

I usually do kernel and systems programming. This project is about learning more about the userspace and application side. Writing an extension to gnome-shell seems like a good place to start. The GNOME shell is scriptable via JavaScript and a number of such extension is available from upstream.

On X11, there used to be a toy rsp. screensaver called XPenguins. After the desktop being idle for some time, it sent penguins falling down the screen and walking along window borders. It doesn't work any longer with Wayland-based compositing, but re-implementing it as extension for the GNOME shell might be possible. There already existed a port around a decade ago that could serve as starting point.

Goals

  • Learn about how shell extensions work and how to write one
  • See if XPenguins can be converted
  • If successful, try to upstream the result

Resources

Looking for hackers with the skills:

gnome gnome-shell penguins toy

This project is part of:

Hack Week 24

Activity

  • 5 days ago: tdz added keyword "gnome-shell" to this project.
  • 5 days ago: tdz added keyword "penguins" to this project.
  • 5 days ago: tdz added keyword "toy" to this project.
  • 5 days ago: tdz added keyword "gnome" to this project.
  • 5 days ago: tdz started this project.
  • 5 days ago: tdz liked this project.
  • 5 days ago: tdz originated this project.

  • Comments

    • tdz
      4 days ago by tdz | Reply

      Day 1: I've tried to go through the documentation for GJS and GNOME extensions. I found it severely under-documented. Most of the tutorial code remains uncommented. The example commands don't do what one would expect (e.g., console.debug() does nothing). How the JS environment interacts with the GNOME interfaces remains vague. TBH day 1 felt like waste of time. I'll probably look for a different project to work on.

    Similar Projects

    This project is one of its kind!