-
Notifications
You must be signed in to change notification settings - Fork 143
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs(gtk): adding GTK GUI development guide (#1472)
- Loading branch information
Showing
2 changed files
with
58 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
# Pactus GUI | ||
|
||
This document is quick guide for developing and updating [the Pactus Core GUI](../cmd/gtk/). | ||
|
||
## Requirements | ||
|
||
The Pactus Core GUI utilizes gtk for desktop GUI. To develop, build and test it you must have these packages installed: | ||
|
||
### Linux | ||
|
||
1. `libgtk-3-dev` | ||
2. `libcairo2-dev` | ||
3. `libglib2.0-dev` | ||
|
||
Install using apt: | ||
|
||
```bash | ||
apt install libgtk-3-dev libcairo2-dev libglib2.0-dev | ||
``` | ||
|
||
### Mac OS | ||
|
||
1. `gtk+3` | ||
|
||
Install using brew: | ||
|
||
```bash | ||
brew install gtk+3 | ||
``` | ||
|
||
### Windows | ||
|
||
1. `glib2-devel` | ||
2. `mingw-w64-x86_64-go` | ||
3. `mingw-w64-x86_64-gtk3` | ||
4. `mingw-w64-x86_64-glib2` | ||
5. `mingw-w64-x86_64-gcc` | ||
6. `mingw-w64-x86_64-pkg-config` | ||
|
||
|
||
With these packages installed you can build GUI using `make build_gui` command. You can run the GUI like: `./pactus-gui`, `./pactus-gui.exe`. | ||
|
||
|
||
The [Assets](../cmd/gtk/assets/) file includes required images, icons, ui files and custom CSS files. All [`.ui`](../cmd/gtk/assets/ui/) files are used to defined the user interface of GUI, for a proper edit and change on them make sure you have [Glade](https://gitlab.gnome.org/GNOME/glade) installed on your machine. | ||
|
||
## Running linter | ||
|
||
When you make changes on GUI files and try to run linter using `make check`, it won't include [gtk](../cmd/gtk/) in it's checks. So make sure you add gtk build flag like this: | ||
|
||
```bash | ||
BUILD_TAG=gtk make check | ||
``` |