Skip to content

Latest commit

 

History

History
60 lines (41 loc) · 1.44 KB

HACKING.md

File metadata and controls

60 lines (41 loc) · 1.44 KB

Building

For build instructions see the README.md

Pull requests

Before filing a pull request run the tests:

meson test -C _build

Use descriptive commit messages, see

https://wiki.gnome.org/Git/CommitMessages

and check

https://wiki.openstack.org/wiki/GitCommitMessages

for good examples.

Coding Style

We're mostly using libhandy's Coding Style.

These are the differences:

  • We're not picky about GTK+ style function argument indentation, that is having multiple arguments on one line is also o.k.
  • Since we're not a library we usually use G_DEFINE_TYPE instead of G_DEFINE_TYPE_WITH_PRIVATE (except when we need a derivable type) since it makes the rest of the code more compact.

Function names

New public functions and structs should have a phoc_ prefix for consistency and so they get picked up with documentation builds

wl_listener callbacks

Callbacks for wl_listener should be prefixed with handle_:

  self->keyboard_key.notify = handle_keyboard_key;
  wl_signal_add (&device->keyboard->events.key,
                 &self->keyboard_key);

GObject signal callbacks

Callbacks for GObject signals should be prefixed with on_.

  g_signal_connect_swapped (keyboard, "device-destroy",
                            G_CALLBACK (on_keyboard_destroy),
                            seat);