Gfret renders an svg image template of a fretboard for a stringed instrument. It has a Gtk interface as well as a command line interface and can produce templates for instruments ranging from a piccolo mandolin to an upright bass. Multiscale designs are also supported. Currently, all measurements are expressed in metric units only.
Gfret is distributed primarily in source form. The main repo is at codeberg.org with mirrors at gitlab and github.com. Releases are recommended.
Gfret can be used from the command line or using the Gtk+ interface.
```Bash gfret-cli
Output an svg without running the interface
USAGE: gfret cli [OPTIONS] [OUTPUT]
ARGS:
OPTIONS:
-b, --bridge
-c, --count
-e, --external
-h, --help Print help information
-l, --left Multiscale fretboard reversed (left handed)
-m, --multi
-n, --nut
-o, --output
-p, --perpendicular
Calling the program by invoking gfret
without any arguments will run
the Gtk interface. Additionally, a .desktop file and icon are included and
will be installed if the program is installed using the included
Makefile
, and can be used for launching the program from desktop menus
or creating shortcuts.
Note: See KEYS.md for information on changing keybindings
| Key | Action |
| --- | --- |
| Ctrl/S | save file |
| Ctrl/Shift/S | save file as |
| Ctrl/E | open with an external program |
| Ctrl/O | load a template from file |
| Ctrl/Shift/P | open the preferences
dialog |
| Ctrl/A | open the about
dialog |
| Ctrl/Q | quit the program |
You will need a Rust toolchain installed, including cargo. Gtk+4x is also
required.
sh
cargo build --release
If desired, a release distribution can then be generated which will include the
binary, svg and png icons, Unix man pages, XDG .desktop file, gschema.xml and
shell completions.
sh
cargo xtask dist
To install, copy the contents of target/dist
to the appropriate prefix and
compile the gschemas.
Sh
cp -Rv target/dist/* /usr/local
glib-compile-schemas /usr/local/share/glib-2.0/gschemas/
[x] Orient left handed output with bass strings on top completed 1/22
[x] Subclass application window from AdwApplicationWindow
changed
boolean property of GfretWindow to track saved state