Commit graph

1352 commits

Author SHA1 Message Date
Jehan
01e56545bc devel-docs, gitlab-ci: freeze our requirement updates to Debian 12 bookworm.
While Debian testing is the sensible choice for dependency requirements while we
are in full-dev mode, now we are getting closer to 3.0 release, and Debian 12
"bookworm" barely got out.
If we continue to develop at current pace, GIMP 3.0 should be released before
the next stable Debian, so we should not use dependencies unavailable on the
latest stable (otherwise GIMP 3.0 won't be distributable soon enough on Debian,
nor on Debian derivatives such as Ubuntu, Mint, etc.).

This is why we are now basing GIMP dependency requirement on Debian bookworm.
We'll likely get back to the next "testing" after GIMP 3.0 release.
2023-06-11 00:52:13 +02:00
Michael Natterer
26dce72d2c Remove autotools 2023-05-27 00:03:52 +02:00
Jehan
b64f79fed9 devel-docs: don't build reference docs when GIR aren't generated.
This can happens in cross-compilation cases for instance.
2023-05-11 12:46:57 +02:00
Jehan
114d0f35df devel-docs: move debug-plug-ins.txt to gimp-web-devel.
Now in the "Resource development" section of the developer website under
resource/debug-plug-ins/.
2023-01-26 17:08:56 +01:00
Jehan
9716768bb1 devel-docs: debugging-tips.md also moved to gimp-web-devel repo. 2023-01-26 16:43:34 +01:00
Jehan
0036b190e1 devel-docs: performance-logs documentation now moved to gimp-web-devel. 2023-01-26 16:37:22 +01:00
Jehan
eae386fbff devel-docs: write dependency name with the namespace casing.
It is apparently how dependency names are supposed to be spelled to be taken
into account. The previous commits fixed some, but missed 2. I'm not sure they
will actually end up in the right-side list of the docs (it looks like when a
dependency is not actually found in the API, it isn't listed there), though it's
at least always listed in the left side, as I can see it.
And while I would prefer the upstream "display" name (i.e. GEGL and babl instead
of Gegl and Babl), better be consistent in how we list these dependencies in the
libgimp and libgimpui docs.

See discussion in !811.
2023-01-14 17:56:32 +01:00
Corey Berla
a0e94250eb docs: Fix dependency names
Dependency names need to match the namespace name exactly (including
capitalization) otherwise they won't be shown as dependencies.
2023-01-14 16:50:18 +00:00
lloyd konneker
e00f2d7f50 Fix plugins to use new GimpResource. 2023-01-14 17:43:26 +01:00
lloyd konneker
d720375e97 2.99 libgimp: add GimpResource, GimpBrush, GimpPropWidgetBrush
So procedures can declare args and GimpProcedureDialog show chooser
widgets

Fix so is no error dialog on id_is_valid for resources

Palette.pdb changes and testing

Memory mgt changes

Gradient pdb

Font and Pattern tests

Test  brush, palette

Cleanup, remove generator

Rebase, edit docs, install test-dialog.py

Whitespace, and fix failed distcheck

Fix some clang-format, fix fail distcheck

Fix distcheck

Cleanup from review Jehan
2023-01-14 12:58:05 +00:00
Jehan
5c4dac0d67 devel-docs: release-howto was now moved into the developer website.
The URI will be: https://developer.gimp.org/core/maintainer/release/ (once we
merge the testing website to the main)

The new procedure also contains a wrapper step where we paste the checklist,
markdown-formatted, into a Gitlab report for better progress follow-up and also
onboarding testers into the release procedure.
2022-12-13 23:53:08 +01:00
Jehan
0e8a52a9f5 devel-docs: removing files and contents moved to developer.gimp.org.
The milestone and libtool instructions were moved over, as well as "Maintainer"
section text from the devel README.
2022-12-12 23:15:48 +01:00
Jehan
d76d5bdb4b devel-docs: update release-howto.
- The <_p> or <_li> syntax for localizing AppData is the old code logics from
  intltool.
- Mailing lists don't exist anymore. Move all usage on discourse.
- Microsoft Store is only for stable builds.
- Let's always merge `origin/testing` into `master` on gimp-web module (no
  cherry-picking) as it's clearly the procedure we've been doing for quite some
  time now.
2022-12-12 14:33:47 +01:00
Jehan
83545ee94d devel-docs: adding libgimp as dependency to libgimpui.
Also use proper naming of dependencies, regarding of casing (e.g. GIMP
and GEGL, but babl).
2022-11-29 04:37:09 +01:00
Jehan
f7f92b61e1 devel-docs: GIMP format specs files moved to gimp-web-devel repository. 2022-11-14 23:06:37 +01:00
Jehan
fde0315cb3 devel-docs: some document updates.
For the release-howto (release process update) and the gitlab-mr document
(updating the git endpoint).
2022-11-14 21:33:54 +01:00
Jehan
81969a0651 app, devel-docs: add a new "Vectors Structure" in the XCF format.
Instead of storing vectors as properties, they have their own structure, which
make them able to store and load all the usual and common properties of other
items. In other words, it makes XCF now able to store locks, color tags and
several selected paths.
2022-10-20 23:17:07 +02:00
Jehan
62963aa748 devel-docs: delete various devel docs which are now in developer.gimp.org. 2022-10-15 22:33:25 +02:00
Jehan
76bc349279 devel-docs: starting to move development documents to dev website.
This file was just moved as content/core/specifications/locks.md in the
pat/bootstrap branch of the gimp-web-devel repository.
This branch will soon be merged and become our new website. Removing the
now duplicate in our source repo.
2022-09-09 21:12:25 +02:00
Jehan
cfeedb8736 data, devel-docs, gitlab-ci: improve the docs tarball.
- Use a relative path for GIMP_LOGO_PATH inside the gi-docgen generated
  HTML, and not an absolute path taken from build dir (otherwise this
  would break, for installed docs, but also for the tarball and the
  developer website!).
- Also use either gimp-logo.png or gimp-devel-logo.png depending on
  whether we are on a stable or unstable branch.
- Install these in images/ inside the GIMP docs folder, which
  corresponds to the relative path given to GIMP_LOGO_PATH.
- The installed root dir will be $datadir/doc/gimp-2.99/, e.g.
  /usr/share/doc/gimp-2.99/
- Inside this folder, the library references will be in libgimp-3.0/ and
  libgimpui-3.0/ (instead of weird Gimp-3.0/ and GimpUi-3.0/). Note that
  the root dir uses the application version (2.99) whereas the library
  folder use the API versions. These are different in development phase.
- Archive the gi-docgen installed files, not taken from the build dir,
  to avoid packaging temp files, such as the .toml files. Note that
  `g-ir-docs` files are still taken from the build dir, as we don't
  install them yet.
- Finally package all this in a directory before archiving in a tar.xz,
  named the same as the directory (e.g. gimp-api-docs-2.99.13/ inside
  gimp-api-docs-2.99.13.tar.xz).
2022-09-09 20:32:27 +02:00
Jehan
ca230cb770 meson: fix warnings of deprecated features.
Now that we bumped our meson requirement, meson is complaining about
several features now deprecated even in the minimum required meson
version:

s/meson.source_root/meson.project_source_root/ to fix:

> WARNING: Project targets '>=0.56.0' but uses feature deprecated since '0.56.0': meson.source_root. use meson.project_source_root() or meson.global_source_root() instead.

s/meson.build_root/meson.project_build_root/ to fix:

> WARNING: Project targets '>=0.56.0' but uses feature deprecated since '0.56.0': meson.build_root. use meson.project_build_root() or meson.global_build_root() instead.

Fixing using path() on xdg_email and python ExternalProgram variables:

> WARNING: Project targets '>=0.56.0' but uses feature deprecated since '0.55.0': ExternalProgram.path. use ExternalProgram.full_path() instead

s/get_pkgconfig_variable *(\([^)]*\))/get_variable(pkgconfig: \1)/ to
fix:

> WARNING: Project targets '>=0.56.0' but uses feature deprecated since '0.56.0': dependency.get_pkgconfig_variable. use dependency.get_variable(pkgconfig : ...) instead
2022-08-31 01:29:37 +02:00
Akkana Peck
947bd1666a themes: add Light theme
It still has some issues, but it's already pretty usable.
2022-08-19 17:40:49 +00:00
lloyd konneker
08686fff8b Create draft devel doc for scriptfu v3 script authors. 2022-08-13 19:07:02 +00:00
Anders Jonsson
e601a6c7de Change GTK+ to GTK
GTK got rid of the + in 2019:
https://lwn.net/Articles/779305/
2022-07-07 14:02:36 +00:00
lloyd konneker
15ed7157dc devel-docs: document how to add interpreter and .interp file
From my experience with gimp-script-fu-interpreter on Windows.
Feel free to correct mistakes.
2022-06-26 10:37:12 -04:00
Niels De Graef
f663d26ab5 Migrate from intltool to gettext
intltool has long been dead upstream. Let's not poke the dead corpse,
please.

This commit is quite large, but that's mostly since trying to support a
hybrid of both gettext and intltool with both Meson and Autotools was
really hard, so I stopped trying.

Due to gettext relying on quite some things being at the exactly right
place in the autotools build (like `ABOUT-NLS` and `config.rpath`) we
really needed to cleanup the `autogen.sh` to only call `aclocal` and
`autoreconf`. No more strange magic; I tried to do it without changing
too much in the file, and things just broke. If people want to do
something more custom, they can just change the script directly. This
change also uncovered some problems in our `configure.ac`, like using
deprecated macros.

The following major changes happened:

* meson: Changed `custom_target()` to `i18n.merge_file()` for all
  supported file types
* Added `.its` and `.loc`  files for the GIMP-specific XML formats, so
  that gettext understands them
* For the `.isl` (Window installer stuff) file, there's no easy way to
  do this in gettext, so instead we start from an XML file (again with
  its own ITS rules etc), translate that with gettext, and then use
  `xsltproc` with a bit of magic to output the .isl file for each
  language
* the `po*/Makefile.in.in` files are migrated to `Makevars` files,
  which gettext natively understands.

Fixes: https://gitlab.gnome.org/GNOME/gimp/-/issues/8028
2022-06-25 10:25:49 +02:00
Jehan
0b1378f235 devel-docs: add an addition release step to test the package.
We regularly have package issues which are discovered soon after
release. Let's try a new step in the release process where we would
build packages in advance just for testing.
2022-06-20 21:54:13 +02:00
Jehan
4477d64c17 devel-docs: add a point about publishing to the Microsoft Store.
See issue #1307.
There doesn't seem to be anything blocking us to publish to the
Microsoft Store, now that there is this new "traditional desktop
application" process allowing us to publish using our existing
installer. So GIMP 2.10.32 should normally be our first published
version there.
2022-06-08 20:59:09 +02:00
Niels De Graef
175dab9f86 devel-docs: Add a urlmap file
The urlmap file allows gi-docgen to generate links for namespaces that
are also generated by gi-docgen. For example, with this commit, a
reference to `GObject` will now be properly linked to the GObject
documentation.
2022-06-07 09:42:35 +02:00
Jehan
84a21eacb8 devel-docs: work-around the g-ir-docs bugs in autotools too. 2022-05-14 19:55:11 +02:00
Jehan
6f14db9ea2 devel-docs: fix again
This will work around such errors from the g-ir-doc build:

> devel-docs/g-ir-docs/pages/python/Gimp-3.0/Gimp.checks_get_colors.page:46: parser error : EntityRef: expecting ';'
> gimp_checks_get_colors (gimp_check_type (), &color1, &color2);
>                                                    ^

Similar to commit 7123b6c466, it cannot really be considered a proper
fix, barely a workaround for g-ir-doc-tool not even able to produce
valid XML. Here we have ampersands which it should have espaced into XML
entities.
Anyway this will do for now (until we just decide to drop the g-ir-docs
tools?).
2022-05-14 18:47:53 +02:00
Jehan
0c01a44369 devel-docs, libgimpbase: getting rid of gimp_checks_get_shades().
In the original gimp-2-10 branch where this feature was originally
worked on, we had to keep gimp_checks_get_shades(). But on `master`
where we will reset and break API, let's get rid of this function which
should not be used anymore.
2022-05-14 17:43:39 +02:00
lloyd konneker
5e9c92c5de plug-ins: fix script-fu-font-map error receiving GStrv
Why: MR !389 changed the signature of PDB procedures to return GStrv instead of (int, GimpStringArray)
This changes handling of results from a call to such a changed signature, in a Scheme script.

The symptom was a cryptic TinyScheme "Error: car: argument 1 must be : pair"

Most changed procedures are named like "-list".
I did a cursory grep to look for other instances.

Updated porting guide doc.
2022-05-07 19:14:42 +00:00
Jehan
288a5f1c7e devel-docs: port g-ir-doc-tool hack-fix to autotools build.
I completely forgot to port the hack from commit 7123b6c466 to
autotools as well!
2022-03-27 17:26:35 +02:00
Jehan
0225e36e9f devel-docs: add more debugging tips. 2022-03-27 15:02:10 +02:00
Jehan
7123b6c466 Issue #7685: g-ir-doc-tool produces broken XML.
To work around the issue, I just wrote a stupid sed script. Of course,
it means that if we encounter again the issue on some other docs, we'll
have to update it. In other words, it's neither robust nor a proper
long-term fix. Just a temporary hack.
See: https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/425

Also fixing this issue, I encountered another bug, this time in meson,
which changes backslashes in slashes on 'command' arguments, in a
completely uninvited manner! The only workaround to this is apparently
to call an external script, which is ridiculous for such a basic stuff.
But well… here is why I implement this with a script, instead of
directly calling sed in the meson 'command'.
See: https://github.com/mesonbuild/meson/issues/1564
2022-03-26 19:07:48 +01:00
Jehan
cab09cd1a6 devel-docs: fix Coding Style document.
We now have a code formatter rule file.
2022-03-14 12:36:53 +01:00
Jehan
25f891bfce devel-docs: update docs with info on the "release note demo" feature. 2022-03-08 17:37:58 +01:00
Jehan
140ce80a22 devel-docs: typo fix. 2022-02-23 22:29:03 +01:00
Jehan
aaafa8683d devel-docs: add some information about theming.
Hopefully useful to get some theme makers started.
2022-02-23 19:06:40 +01:00
Jehan
61a0d97292 devel-docs: add specifications for the various locks behavior.
As I review and tweak various aspects of GIMP UI, I also write down
specifications for these subparts. Here is one for the locks behaviors.

We worked on these specifications with Aryeom and tried to make the most
useful and also somehow obvious logics for these locks, in particular
the cases when applied to layer groups which can have wider ranges of
meaning (on leaf items, it is much simpler). The various previous
commits are implemented based on these specifications.
2022-02-15 22:52:43 +01:00
Jehan
aa3808addf app, devel-docs: bumping the XCF version to 17.
XCF 17 includes the new visibility locks and the ability to add position
and alpha locks on layer groups.
I am going to push the various commits implementing these different
features together which is why we gather them as a single XCF version.
2022-02-15 22:08:23 +01:00
Jehan
957b547fac Issue #7864: store and load "lock visibility" flag on items.
This was just completely forgotten!
2022-02-15 22:08:23 +01:00
Jehan
f361009783 devel-docs: edit and rename debugging-tips file.
Also list it from the devel-docs README.
2022-02-13 21:07:05 +01:00
Jehan
8a3ff1a7b6 devel-docs: move HACKING from root EXTRA_DIR to devel-docs one.
Also adding the CODING_STYLE.md. There is actually the question whether
we still want to track this docs files to package them in the tarballs.
It made sense 20 years ago when devs were working from tarballs, but
nowadays, devs are expected to work from git HEAD.

Anyway this fixes the CI.
2022-02-08 23:45:22 +01:00
Jehan
bad465c681 README, devel-docs: reorganize a bit the main README and devel docs.
- ps-menurc removed in GIMP 2.7.2 (i.e. stable 2.8.0) according to
  NEWS.pre-2-8.
- in our main README, redirect now to devel-docs/README.md as entry
  point for contributors.
- move HACKING to devel-docs/ and specialize it into a "how to build
  from git and contributed" docs:
  * Make it markdown.
  * Remove some now obsolete or redundant recommendations (to be fair,
    we can probably clean up the file a bit more, but we'll see).
  * Add/improve relevant information.
  * Make more obvious when you want to build from tarball or git.
  * Just keep a single short paragraph about the coding style to
    redirect people to the appropriate CODING_STYLE.md file.
  * Don't recommend sending patches to the mailing list anymore.
- move CODING_STYLE.md to devel-docs/.
2022-02-07 15:45:28 +01:00
Jehan
edf0d081bd devel-docs, extensions: more gitignore updates. 2022-02-02 14:18:51 +01:00
Jehan
aed8573eb9 devel-docs: add some .gitignore in reference/ subdirs. 2022-02-02 00:16:10 +01:00
Jehan
03272a9d54 devel-docs, tools: move the release-stats script to tools/.
Makes more sense and I am trying to make the devel-docs more readable
(which includes less crowded, especially with scripts which are not
really docs).
2022-02-01 14:34:46 +01:00
Jehan
4d8c1e3439 devel-docs: removing version.in.
I was wondering what this version file was for. After some git
archeology, turns out this was used for gtk-docs. Since we replaced
gtk-docs with gi-docgen in commit 92e80d12e8, this can be removed as
well.
2022-02-01 14:00:21 +01:00
Jehan
20479ee137 devel-docs: improve a bit the icons docs. 2022-02-01 11:11:38 +01:00
Jehan
097e09f60c devel-docs: make the icons docs into markdown.
Better for links. Maybe we'll play with images this way too.
2022-02-01 10:47:01 +01:00
Jehan
2b843aa674 devel-docs: update icons docs. 2022-01-27 02:13:13 +01:00
Jehan
d266100ab7 devel-docs: update icons.txt and icon theme section in README. 2022-01-25 17:27:48 +01:00
Jehan
84d298d4d3 devel-docs: fix autotools dist rules.
Since I removed some files and forgot to change these rules. Though I
actually wonder if this still makes sense to distribute all these files
within the tarball anymore. It made sense in the way software was
distributed 20 years ago, but nowadays people who want to develop would
clone the git repo not get a tarball. We'll see.
2022-01-24 15:45:43 +01:00
Jehan
4065c33bf0 devel-docs: update the developer documentation further.
Add some more text and links to existing documents.

I also remove 3 files which are now either outdated or whose contents is
also written (with more or less similar text) in other more up-to-date
files.
2022-01-23 01:05:58 +01:00
Jehan
67a1d9f4d0 devel-docs: update further the devel docs.
Add more links to other files after I reviewed they were still relevant.

The `gitlab-milestones.txt` in particular had to be updated because the
contents was outdated (though we still need to manage milestones, simply
now we are a bit more fine-grained).
2022-01-22 23:00:50 +01:00
Jehan
e4cb7e12b4 devel-docs: add CI info in developer docs.
Also remove the now deprecated Jenkins tutorial. We have not had this CI
system running for some time now, and the Gitlab CI has totally replaced
it.
2022-01-22 21:55:50 +01:00
Jehan
fac84db028 devel-docs: add directory structure of the repo to developer docs.
Loosely based on the old structure.xml, except it was widely outdated.
So I removed or updated what was obsolete and added missing folders.

Obviously getting rid of the old `structure.xml` (now we have easier doc
generation through Gitlab).

Finally, I fix the table of contents and replaced the title with some
metadata-style stuff which Gitlab docs suggest (otherwise the document
title ends up in the table of contents, which is a bit silly).
2022-01-22 17:44:38 +01:00
Jehan
1aeee787a8 devel-docs: add a README.md.
This will be the root page for the developer documentation. Note that
there are other files in this directory (old `README` included) which
will need to be deleted but I don't do it just yet on purpose until I
checked them and integrate anything which could be of interest back into
the new documentation.
2022-01-20 22:14:07 +01:00
Jehan
b35c44cb05 devel-docs: move specifications to their own subfolder.
Let's make the devel-docs folder a bit less crowded.
2022-01-20 20:41:44 +01:00
Jehan
d5e22ad313 configure, meson, devel-docs: make gi-docgen into an auto option.
Also called "feature" option in meson, so that by default it depends on
auto-detection of the gi-docgen hence won't break the configuration when
the tool is missing (the feature is simply disabled).

Also move the program check into the root meson file, which is anyway
much better to have a better visibility of features, otherwise we'd end
up just having tests everywhere in any possible random directory of the
repo.

Finally add a line in the summary of the configuration step, displaying
the docs generation being enabled or disabled.
2021-12-29 00:58:10 +01:00
Niels De Graef
a0495b1593 devel-docs: Fix configuration of gimp-3.0.toml
whoopsydaisy
2021-12-28 21:22:33 +01:00
Niels De Graef
92e80d12e8 docs: Migrate from gtk-doc to gi-docgen
gtk-doc has been slowly dying for the past few years; with gi-docgen we
have a nice successor.

This also makes sure the C documentation also uses the GIR file, which
in turn means faster build times (since all the C code doesn't have to
be parsed and recompiled again), and has a clear dependency graph.

See the [gi-docgen tutorial] for more info on how the system works.

[gi-docgen tutorial]: https://gnome.pages.gitlab.gnome.org/gi-docgen/tutorial.html
2021-12-27 10:47:34 +01:00
Jehan
362fae9147 app, devel-docs: saving the item sets in XCF (bumping to XCF 16).
We now save and load layer and channel item sets. Only missing set types
are path ones, but the whole path item is just its own exception in the
XCF format, and adding support for it, while keeping compatibility with
older XCF seem like a small headache. I could do it, but I actually
wonder if it is worth it. Would people really need to store sets of
paths?

Also this commit finally gets rid of any remnant of the old item "link"
concept (I think), so we are getting close to merging the branch.
2021-12-23 13:45:20 +01:00
Jehan
084906dbf1 app, devel-docs, libgimp, pdb: remove gimp_item_set_linked().
I cleaned many remaining places where the concept of linked item still
survived.
On loading an XCF file with linked items, we are now going to create a
named sets for the linked items, allowing people to easily select these
back if the relation was still needed.

We don't remove gimp_item_get_linked() yet and in particular, we don't
save stored items into XCF files. This will come in an upcoming change.
2021-12-23 13:45:20 +01:00
Jehan
2ce84b5245 app, devel-docs, libgimp, pdb: delete gimpitem-linked.[ch].
Getting rid of the last usage from these files dedicated to outdated
item link concept.
2021-12-23 13:45:20 +01:00
Jehan
26615fde92 app, devel-docs, libgimp, pdb: now removing gimp_item_linked_rotate(). 2021-12-23 13:45:20 +01:00
Jehan
6f901dfe3e app, devel-docs, libgimp, pdb: get rid of gimp_item_linked_translate().
Similarly to the previous commit, we get rid of "item link" code for
translating items.
2021-12-23 13:45:20 +01:00
Jehan
26d696ce9d app, devel-docs, libgimp, pdb: remove item link ref in flip code.
"Item links" concept is no more in the GUI so we are progressively
removing reference and implementation of this in the core code.
2021-12-23 13:45:20 +01:00
Jehan
efaf9e099e app, libgimp, libgimpwidgets: fix "Application icon missing" in tests.
When running tests, the data are not meant to be necessarily installed.
Therefore icons won't be found when calling gimp_widgets_init().

Add some special-casing to find them relatively to the install
directory.
2021-12-23 13:39:43 +01:00
Jehan
952c24e81b devel-docs: remove gtkbuilder-porting-guide.txt from EXTRA_DIST. 2021-11-15 16:04:19 +01:00
Jehan
74aa6a2e71 devel-docs: remove gtkbuilder-porting-guide.
Over the last few years, we seem to have been in agreement that .ui
files are not so desirable anymore.

For plug-ins, they are completely deprecated in favor of our much nicer
dialog generation API from properties (the metadata plug-in(s) are the
only ones which still have .ui files but we plan to get rid of these
eventually).
For core code even, we also prefer to generate GUI when we can (as we do
for GEGL ops, for symmetries and other places).
GtkBuilder files actually make for more complicated code, imbricated in
both the C code and .ui files, more bug-prone too and we don't seem to
gain anything from the additional complexity.

So let's get rid of this dev guide.
2021-11-15 13:46:37 +01:00
Jehan
4856d725aa devel-docs: add some more tricks to review MR in Gitlab.
- The trick to fetch automatically all MRs in read-only branches.
- How to temporarily checkout and push to a contributor's remote without
  actually hard-naming their remote repo and polluting your local repo
  with every new MR.
2021-11-03 15:20:25 +01:00
Jehan
3e58204908 devel-docs: GIMP_VERSIONS was renamed some time ago. 2021-10-20 00:55:40 +02:00
Jehan
ee46618d7f devel-docs: release howto update. 2021-10-17 21:48:28 +02:00
Jacob Boerema
352ef68c46 app, libgimp: Add metadata preference for saving thumbnail by default
Saving a thumbnail is closely related to the other metadata preferences,
but so far this was the only one that didn't have a preference for a
default user value.
This commit adds a preference in the metadata section where a user can
select whether thumbnail saving is enabled by default or not.
2021-10-12 13:20:47 -04:00
Jehan
fadda1b8db devel-docs: we must still restart a plug-in to debug with SIGCONT.
Commit 59f2ba44c7 changed the devel docs to tell that on Linux, just
running the gdb command `continue` is enough to restart the plug-in
process. Maybe it is true on some specific setups, so I leave this part
of the note, but for sure it never worked for me. I may run `continue`
as many times as I want, the process stays stopped until I explicitly
send a SIGCONT signal (our code raises itself a SIGSTOP which requires a
SIGCONT for continuation of the process).

Maybe in some configurations, gdb actually sends a SIGCONT when
`continue` is run but not in others? No idea.

Anyway I add back the part about sending a SIGCONT too, then people can
test and choose which procedure works for them.
2021-08-22 19:01:10 +02:00
Jehan
2749706442 devel-docs: update release-howto file. 2021-08-05 00:14:22 +02:00
Stanislav Grinkov
c87d6d96f2 Fix issue with generating GIR API docs in meson
Caused by using a non-absolute path to .gir files in
meson.build rules

Resolves: #6362
2021-08-03 18:04:25 +06:00
Jehan
81b076aed4 devel-docs: some info on new Gitlab MR feature to create test packages.
How to create the packages through MR labels and where to find the
resulting test packages…

Note that it would be nice if we had automatic messages on the MR
writing down the procedure (with generated links for the specific
pipeline ID) once a pipeline succeeds.
It would simplify the whole process even further. We can see some other
day how such a thing could be automated.
2021-05-28 21:30:12 +02:00
lloyd konneker
1c537b0cfd Add devel doc 2021-05-24 13:28:50 +00:00
Jehan
3027b4eb4c devel-docs: update a bit the release-howto.
In particular add the need to wait a bit for installers before actually
publishing news. Also add a few usage examples for the gimp-web helper
tools for binary file publishing (torrent creation and mirror checking).
2021-05-06 02:47:18 +02:00
Jehan
8d8c77730c devel-docs: release-howto updated.
Update in particular the tarball creation steps. We now use tarballs
generated by the CI. I still leave information for doing it locally in
this howto, but mostly so that we can easily find this info for testing
or fixing dist bugs when needed. Other than this, if the CI works
flawlessly, a successful pipeline ends up with a proper tarball.

The main advantages of this approach are:

- Transparency: the full distribution process is now fully accessible on
  Gitlab, from the source, through the build (including all the logs)
  and up to the final tarball. Even the checksums are generated by the
  CI, making it easy to recognize if different tarballs were published
  on the download website or mirrors. This makes for a much safer and
  trustworthy publication process.

- Less bus factor: we don't rely as much on a single person to take care
  of the whole process.

- More automatization: a release still has to be prepared and verified
  manually (it always will), but at least the whole tarball creation is
  now automated. The next step will be to automate also the publication
  on the download server.
2021-04-29 20:21:30 +02:00
Jehan
9b978467c1 devel-docs: update release-howto. 2021-04-26 12:05:16 +02:00
Jehan
88e6a8ec83 devel-docs: update the removed_functions table. 2021-04-21 00:40:28 +02:00
Jehan
70a9576f27 app, devel-docs, libgimpbase: s/gimp_parasite_name/gimp_parasite_get_name/…
… and s/gimp_parasite_flags/gimp_parasite_get_flags/

It is better to have a consistent API and the fact is that most
getter/setter functions use the _get|set_ naming, but these didn't.

I wondered if this was such a great idea to rename these anyway because
even though we are breaking API in GIMP 3, is it the best idea to rename
when no functional change happened? After discussing with Wormnest, we
still agreed it was still better to go for consistency rather than
regret later (and be stuck with these names for many more years).

Also this fixes these warnings:

> [649/1205] Generating gimp-3.0.vapi with a custom command
> Gimp-3.0.gir:24162.7-24162.56: warning: Field `Gimp.Parasite.flags' conflicts with method of the same name
> Gimp-3.0.gir:24318.7-24318.52: warning: Field `Gimp.Parasite.name' conflicts with method of the same name
2021-04-05 18:36:44 +02:00
Jehan
f3ee39c3c4 devel-docs: quick command to get the right flatpak runtime version.
For debugging the flatpak, we often ask people to install the SDK and
debug data. Yet there might be several branches of the GNOME SDK
installed at once, hence flatpak will ask which version to install.

This quick command can be copy-pasted as it's a way to detect which
runtime is being used by your flatpak-ed GIMP.
2021-03-28 17:18:52 +02:00
luz paz
6457394069 Issue #6446: Typo fixes. 2021-02-24 12:33:03 +01:00
Niels De Graef
dffab0e9a4 Remove GimpInt16Array
It isn't being used by any plug-in or any code in GIMP at all even.
Let's get rid of it while we can still break API, so we can cut down on
all the complexity of the gimp-param stuff a bit.
2021-02-18 11:32:45 +00:00
Jehan
015f49467d Issue #6435: Off canvas guides.
Allow guides with off-canvas position since we can now view and work
outside the canvas.

The guide deletion interaction does not change too much, except you
don't delete a guide because it's dropped off-canvas but off the display
viewport area instead.

The XCF format is technically unchanged as PROP_GUIDES was already
expecting an int32 coordinate (with max value at GIMP_MAX_IMAGE_SIZE,
way below uint32 max anyway). Yet our code and XCF docs was explicitly
asking to ignore negative coordinate guides, which makes a change in
behavior for the XCF parser, hence a new version XCF 15. Loading will
still ignore negative position guides (even also bigger than image
dimension guides now) for XCF 14 and below, but will now accept any
position for XCF 15 and above.
2021-02-15 22:52:27 +01:00
Jehan
72af40b427 devel-docs: generate both gjs (Javascript) and Python API docs.
Apparently g-ir-doc-tool does not support other language than C, Python
and gjs right now (in particular neither Lua nor Vala bindings).
2021-01-29 18:04:20 +01:00
Jehan
eae3d47e32 devel-docs, meson: g-ir-doc option to generate introspected API docs.
Similar to the --enable-g-ir-doc option I just added on autotools. Also
separate this option from gtk-doc as it is unrelated (not everything
under devel-docs is related to gtk-doc!).
2021-01-29 16:51:47 +01:00
Jehan
4b39217181 devel-docs: generate Python API (GObject Introspected) documentation.
So much easier to write in autotools! Anyway here it is, also with a new
option --enable-g-ir-doc (by default set to false).
2021-01-29 15:22:36 +01:00
Jehan
82209920a9 devel-docs: Introspected Python libgimp and libgimpui docs generation.
Based on the proposed process proposed by Akkana Peck. Thanks Akk!
For now, it's only in the meson build, which is fairly terrible to use
as soon as we do custom build rules. Here are the list of issues:

- meson does not allow building in subdir (issue 2320 on meson tracker).
  Sure I could make several subdirs with meson in them. But here the
  future goal would be to be able to generate docs for other
  introspected languages, and maybe also other output formats (epub or
  whatnot). For this, since these are basically the same commands which
  are used, the best practice would be to have loops generating one
  target per language/format combination, reusing code rather than ugly
  copy-pasting in subdirectories' meson files).
- custom_target() requires the output parameter to be the complete list
  of generated files. But we have more than a thousand of them. It's not
  practical. Maybe we could try to find a way to generate the list from
  the contents of the .def files which are already exhaustive and exact.
- Install also requires the output list to be complete.
- I temporarily have these docs not generated by default (because the
  gtk-doc option is already crazy slow as it is, making meson near
  unusable for development if it's enabled). If you want to generate the
  docs, the commands are as following (yeah I don't understand what the
  target names are for since meson does not actually create targets with
  these names, so we have to use fake output names instead):

> ninja devel-docs/g-ir-docs/Gimp-python-html
> ninja devel-docs/g-ir-docs/GimpUi-python-html
2021-01-21 16:50:47 +01:00
Niels De Graef
6dc3cb16dd devel-docs: Update libgimpwidgets3-sections.txt
Some functions have been removed while others got added.
2020-12-29 23:07:07 +01:00
Jehan
50a0f49762 devel-docs: some small release-howto updates. 2020-12-23 01:54:10 +01:00
Michael Natterer
82391c136b devel-docs: some updates to release-howto.txt 2020-12-22 20:40:31 +01:00
bootchk
59f2ba44c7 libgimp, devel-docs: enhance GIMP-PLUGIN-DEBUG backtrace 2020-12-18 01:17:54 +01:00
luz paz
bb322d94d7 Fix typos
Found via:
```
codespell -q 3 -S ./ChangeLog*,*.po,./.git,./NEWS* -L als,ang,ba,chello,daa,doubleclick,foto,hist,iff,inport,klass,mut,nd,ower,paeth,params,pard,pevent,sinc,thru,tim,uint
```
2020-11-19 21:56:25 +01:00