All Projects → small-tech → gnomit

small-tech / gnomit

Licence: GPL-3.0 license
A simple Git commit message editor for Gnome.

Programming Languages

javascript
184084 projects - #8 most used programming language
shell
77523 projects
Meson
512 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to gnomit

Playhouse
A Playground for HTML/CSS/JavaScript
Stars: ✭ 28 (-6.67%)
Mutual labels:  gtk, gnome, flatpak, gjs
Commit
Commit message editor
Stars: ✭ 102 (+240%)
Mutual labels:  gtk, gnome, flatpak, gjs
Gjs-Tutorial
A tutorial for Gjs/GTK+ 3 development, based on https://github.com/sebp/PyGObject-Tutorial
Stars: ✭ 15 (-50%)
Mutual labels:  gtk, gnome, gjs
dippi
Calculate display info like DPI and aspect ratio
Stars: ✭ 57 (+90%)
Mutual labels:  gtk, gnome, flatpak
Hamster Gtk
A GTK3 time tracker. Powered by 'hamster-lib'
Stars: ✭ 106 (+253.33%)
Mutual labels:  gtk, gnome
GabTag
A gtk linux application to handle audio tags 🎵
Stars: ✭ 34 (+13.33%)
Mutual labels:  gtk, gnome
Systemtray
Cross-platform SystemTray support for Swing/AWT, GtkStatusIcon, and AppIndicator on Java 8+
Stars: ✭ 253 (+743.33%)
Mutual labels:  gtk, gnome
Adementary Theme
A theme for GNOME/Budgie/Xfce/Cinnamon desktop with elementary-ish aesthetics.
Stars: ✭ 129 (+330%)
Mutual labels:  gtk, gnome
Fragments
Moved to GNOME GitLab -> https://gitlab.gnome.org/haecker-felix/Fragments
Stars: ✭ 80 (+166.67%)
Mutual labels:  gtk, gnome
Arc Theme Red
A red themed derivation of https://github.com/horst3180/arc-theme
Stars: ✭ 117 (+290%)
Mutual labels:  gtk, gnome
Hydrapaper
A Gtk utility to set two different backgrounds for each monitor on GNOME (which lacks this feature)
Stars: ✭ 134 (+346.67%)
Mutual labels:  gtk, gnome
Clapper
A GNOME media player built using GJS with GTK4 toolkit and powered by GStreamer with OpenGL rendering.
Stars: ✭ 103 (+243.33%)
Mutual labels:  gtk, gnome
Vimix Gtk Themes
Vimix is a flat Material Design theme for GTK 3, GTK 2 and Gnome-Shell etc.
Stars: ✭ 1,384 (+4513.33%)
Mutual labels:  gtk, gnome
Tangram
Run web apps on your desktop.
Stars: ✭ 114 (+280%)
Mutual labels:  gtk, gnome
Gtk Theming Guide
Novice guide towards making your own first gtk theme!
Stars: ✭ 95 (+216.67%)
Mutual labels:  gtk, gnome
Gir
Tool to generate rust bindings and user API for glib-based libraries
Stars: ✭ 124 (+313.33%)
Mutual labels:  gtk, gnome
Automathemely
Simple, set-and-forget python application for changing between desktop themes according to light and dark hours
Stars: ✭ 169 (+463.33%)
Mutual labels:  gtk, gnome
Gtkhash
A cross-platform desktop utility for computing message digests or checksums
Stars: ✭ 167 (+456.67%)
Mutual labels:  gtk, gnome
Awesome Gtk
List of awesome GTK+ (gtk3) applications
Stars: ✭ 174 (+480%)
Mutual labels:  gtk, gnome
Foliate
A simple and modern GTK eBook reader
Stars: ✭ 3,150 (+10400%)
Mutual labels:  gtk, gjs

Gnomit

Screenshot of Gnomit showing the overflow highlighting on the subject line and the automatically inserted empty line between the subject line and the rest of the commit message.

Gnomit is a simple Git commit message editor for Gnome, inspired by the excellent Komet app for macOS.

Gnomit is written in GJS1, uses Flatpak, and is built with Gnome Builder.

Features

  • Highlights overflow of subject line when it exceeds 69 characters.
  • Inserts empty line between subject line and rest of message.
  • Has spell checking.
  • Select All selects only your commit message, not the Git commit comment.
  • Displays project folder and branch in window header.
  • Git Commit comment is not editable.
  • Dark theme support: the overflow highlight is adjusted according to your theme.

Like this? Fund us!

Small Technology Foundation is a tiny, independent not-for-profit.

We exist in part thanks to patronage by people like you. If you share our vision and want to support our work, please become a patron or donate to us today and help us continue to exist.

Installation

You can install Gnomit using Gnome Software and Pop!_Shop (Pop!_OS 20.04+), from Flathub, or from my web site.

Gnome Software & Pop!_Shop

  1. Launch Gnome Software/Pop!_Shop and search for Gnomit.

  2. Hit the Install button.

  3. Set Gnomit as your Git editor:

    git config --global core.editor "flatpak run org.small_tech.Gnomit"

Flathub

  1. Make sure you’ve set up Flathub.

  2. In Terminal:

    flatpak install flathub org.small_tech.Gnomit
  3. Set Gnomit as your Git editor:

    git config --global core.editor "flatpak run org.small_tech.Gnomit"

From my web site

Installing from Gnome Software/Pop!_Shop or Flathub is recommeded as you will be notified of updates and can easily update them.

That said, it is nice not to have to rely solely on centralised App Stores.

So, if you want to, you can also install Gnomit directly from my web site:

  1. Download Gnomit version 2.0.0.

  2. In Terminal, from the directory you downloaded the Gnomit flatpak to:

    flatpak install org.small_tech.Gnomit.flatpak
  3. Set Gnomit as your Git editor:

    git config --global core.editor "flatpak run org.small_tech.Gnomit"

Usage

Gnomit will pop up automatically when you make a commit in one of your projects.

To save your commit message, either press the Commit button or press Ctrl+Return.

To dismiss Gnomit and cancel your commit message, press Escape.

Help

To see the help screen, in Terminal:

flatpak run org.small_tech.Gnomit --help

Known issues

Does not use your system theme

This is a Flatpak issue. Gnomit will use your system theme if it is installed via Flatpak.

Development notes

The following setting in org.small_tech.Gnomit.json allows the app to use mock data when run from Gnome Builder. If you want to test the behaviour of the app when it receives no command-line arguments from within Builder, remove this line. Also note that this path is relative to your home folder. You must update it to point to where you stored your Gnomit working directory for your Builder build to succeed.

"x-run-args" : [
    "small-tech/gnomit/gjs/tests/message-with-body"
],

Deployment

To publish to Flathub (proper credentials required):

  1. Remember to update Flatpak metadata, including release notes.

  2. Update the version string in the main meson.build file.

  3. Tag the release in Git and push your tags.

  4. Run the publish script:

    ./publish-to-flathub <tag>

    The script will create the Flathub build, run it so you can test it, and then prompt you if you want to deploy to Flathub.

    That’s it! Then wait for the changes to propagate on the Flathub web site.

Deployment Notes

The following setting is hardcoded to the source folder and is required by the deployment script. Since I’m the only one with deployment privileges at the moment, you should be able to ignore this.

"sources" : [
  {
    "type" : "git",
    "url" : "file:///home/aral/small-tech/gnomit/gjs"
  }
]

Also, note that if you change where the source is located, you will also have to delete the local-gnomit-repository flathub repository that is added as a path to your local Flatpak repository:

flatpak remote-delete local-gnomit-repository

The deployment script will recreate it with the correct path for you.

Contributors

Like this? Fund us!

Small Technology Foundation is a tiny, independent not-for-profit.

We exist in part thanks to patronage by people like you. If you share our vision and want to support our work, please become a patron or donate to us today and help us continue to exist.

Copyright

Copyright © 2020 Aral balkan, Small Technology Foundation

License

GPLv3 or later. Please see LICENSE file.

Footnotes

  1. There is also a Vala version that is far from feature complete. This project was originally a learning exercise to familiarise myself with GNOME/GTK/Linux development after switching my development machine to a Linux laptop running Pop!_OS 18.04 back in 2018.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].