No description
Find a file
Jehan 342ad2c37f app, menus: very early prototype for a GimpMenu.
This demonstrates a first version of our replacing menu, using GAction and
GMenuModel. I had to make our own subclass of GtkMenu to process the model (from
a .ui XML file) for the following reasons:

* gtk_menu_new_from_model() doesn't support tooltips, which is a feature we use
  quite extensively in GIMP: with all our filters, being able to give a longer
  description is often useful; moreover we use tooltips to give hints about why
  a menu item is deactivated as well.
  Unfortunately it looks like GTK doesn't consider this lack as a problem and
  don't plan on adding tooltip support.
  See: https://gitlab.gnome.org/GNOME/gtk/-/issues/785
* I won't to avoid copying action's label and icons in the .ui file. This only
  duplicates strings and would be a source of issues each time we change
  action's strings (we'd have to do it in 2 places, which someone will
  inevitably forget).

Now it still has various issues:

* The syncing between actions and menu items need to be cleaned up. It's still
  in early demo code.
* It uses directly some Gtk*Action code because GimpRadioAction and
  GimpToggleAction are not directly related right now (only through their
  parents).
* gtk_application_set_menubar() might still be necessary on macOS as I think
  it's what enables the native menu system on this OS. It means that we'll have
  to edit the menu model to add back the labels (as this function does not
  extract these from the linked action since GAction has no label or icon
  concept).
* Icons are not taken into account right now.
* I'll have to verify if GimpAction with proxy work (but my guess is that right
  now, it won't).
* Action's active state is not synced with menu item active state right now.
* Various actions are inserted live, such as opened images, opened views,
  recently opened images, and so on. This needs to be implemented back.
* Plug-ins need to be able to create their own menu item into this new menu.
* For all these various reasons, I'm keeping the old menu around, for the sake
  of comparison, until the time the new one becomes feature-full.

Part of this commit is inspired by !558 and obsoletes this MR.
2023-04-12 22:07:08 +02:00
.gitlab .gitlab: search common git ancestor with mr-origin remote. 2022-01-19 22:22:40 +01:00
app app, menus: very early prototype for a GimpMenu. 2023-04-12 22:07:08 +02:00
app-tools Cleanup meson symlinks 2022-08-31 13:10:13 +00:00
build build: update meson options in MSYS2 build 2023-04-11 10:44:18 +02:00
cursors cursors: make the "single dot" cursor actually slightly bigger and B&W. 2022-03-13 16:04:40 +01:00
data data, devel-docs, gitlab-ci: improve the docs tarball. 2022-09-09 20:32:27 +02:00
desktop Fix flatpak release info about JPEG XL 2023-02-27 01:47:17 +01:00
devel-docs devel-docs: move debug-plug-ins.txt to gimp-web-devel. 2023-01-26 17:08:56 +01:00
docs Issue #8546: Meson options fixes 2022-08-29 13:41:08 +00:00
etc app, docs, etc: "Default" is (as the name implies) the new default theme. 2022-08-21 01:03:30 +02:00
extensions goat-exercise: fix ability to load js 2022-10-04 18:02:38 +01:00
icons app, icons, libgimpwidgets: add "distribute with evenly gaps" options. 2022-11-08 23:48:32 +01:00
libgimp pdb, libgimp: improve function documentation for sample points 2023-04-09 21:32:00 -04:00
libgimpbase libgimpbase: fix annotations. 2023-01-24 19:59:40 +01:00
libgimpcolor core: Add simulation intent and BPC to GimpImage 2022-08-13 19:39:47 +00:00
libgimpconfig libgimp: API refactor GUI for GimpResource 2023-01-14 16:38:40 +00:00
libgimpmath libgimpmath: Fix some vector gi-docgen annotations 2021-12-28 23:54:31 +01:00
libgimpmodule docs: Migrate some gtk-doc comments to gi-docgen 2021-12-29 11:21:19 +01:00
libgimpthumb Issue #8145: meson: generation of '*-enums.c' files. 2022-08-01 19:59:53 +02:00
libgimpwidgets Issue #9147: freeze when switching from multi-window to single window mode. 2023-02-16 22:26:17 +01:00
m4macros Migrate from intltool to gettext 2022-06-25 10:25:49 +02:00
menus app, menus: very early prototype for a GimpMenu. 2023-04-12 22:07:08 +02:00
modules Use GetModuleHandleW () 2023-01-24 14:48:44 +00:00
pdb pdb, libgimp: improve function documentation for sample points 2023-04-09 21:32:00 -04:00
plug-ins Issue #9340: Make To/From property less ambiguous 2023-04-11 16:59:45 +00:00
po Update Portuguese translation 2023-04-07 10:07:31 +00:00
po-libgimp Update Basque translation 2023-03-27 18:12:11 +00:00
po-plug-ins Update Slovenian translation 2023-04-12 19:54:53 +00:00
po-python Update Basque translation 2023-03-27 18:07:08 +00:00
po-script-fu Update Basque translation 2023-03-27 18:07:01 +00:00
po-tags Add Bulgarian translation 2023-02-27 21:47:27 +00:00
po-tips Update Basque translation 2023-03-27 18:05:39 +00:00
po-windows-installer Add Bulgarian translation 2023-02-27 21:49:42 +00:00
themes themes: Set smaller Compact theme separator width... 2023-02-14 16:50:38 +06:00
tools tools: do not sanitize build tools. It's OK if they leak a bit. 2023-02-22 10:57:36 +01:00
.clang-format clang-format: update. 2022-03-14 18:16:14 +01:00
.dir-locals.el .dir-locals.el: configure emacs to show trailing whitespace 2016-08-24 17:46:57 +02:00
.gitignore gitignore: hide various files copied by the autogen.sh step. 2022-07-07 15:39:54 +02:00
.gitlab-ci.yml gitlab-ci: Use tee to get flatpak job output on stdout and into a log file. 2023-03-22 18:58:44 +00:00
.kateconfig
acinclude.m4 Allow building vala plugins 2020-05-26 17:52:52 +00:00
AUTHORS AUTHORS: update. 2022-02-25 21:06:17 +01:00
authors.dtd
authors.xml authors: update. 2022-08-21 12:24:20 +02:00
authors.xsl
authors4gimp-web.xsl Bug 734981 - Update maintainers and authors. 2017-10-23 23:55:22 +02:00
autogen.sh Migrate from intltool to gettext 2022-06-25 10:25:49 +02:00
ChangeLog.pre-1-0
ChangeLog.pre-1-2
ChangeLog.pre-2-0
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-git
configure.ac configure, libgimp: disable introspection when building libgimp with sanitizer. 2023-02-22 12:23:26 +01:00
COPYING Change a bazillion URLs to https:// 2018-07-14 14:19:27 +02:00
gimp.doap gimp.doap: adding myself as maintainer in the doap file. 2021-03-28 23:46:04 +02:00
gimp.pc.in configure, gimp.pc: do no hardcode the major.minor version of GEGL. 2018-04-28 01:30:19 +02:00
gimpthumb.pc.in
gimpui.pc.in Require gtk+-3.0 in gimpui-3.0.pc 2018-05-25 21:55:45 +02:00
INSTALL.in Issue #9151: link to the "Building GIMP" page of dev website in INSTALL. 2023-02-15 12:13:24 +01:00
LICENSE LICENSE: add a note about data/ licensing for future added data. 2023-03-16 23:20:44 +01:00
MAINTAINERS MAINTAINERS: update. 2021-04-04 16:01:48 +02:00
Makefile.am Remove old outdated data. 2022-08-02 16:33:09 +02:00
meson.build meson: API binding options transformed to features. 2023-04-05 16:46:10 +02:00
meson.make meson.make: Don't use backend-specific calls 2021-09-30 16:13:35 +02:00
meson_dist_script.sh meson: remove autotools-related data from the meson tarball. 2022-08-02 17:04:32 +02:00
meson_options.txt meson: API binding options transformed to features. 2023-04-05 16:46:10 +02:00
NEWS NEWS: update. 2023-04-05 00:03:08 +02:00
NEWS.pre-2-0 Misc. typos 2018-10-19 15:30:27 +00:00
NEWS.pre-2-2 Misc. typos 2018-10-19 15:30:27 +00:00
NEWS.pre-2-4 Misc. typos 2018-10-19 15:30:27 +00:00
NEWS.pre-2-6 Misc. typos 2018-10-19 15:30:27 +00:00
NEWS.pre-2-8
NEWS.pre-2-10 Misc. typos 2018-10-19 15:30:27 +00:00
README README: add a "Contributing" section in README. 2022-11-18 23:47:46 +01:00
README.i18n Change a bazillion URLs to https:// 2018-07-14 14:19:27 +02:00

                   ------------------------------
                   GNU Image Manipulation Program
                      2.99 Development Branch
                   ------------------------------

This is an unstable development release, an intermediate state on the
way to the next stable release: GIMP 3.0. GIMP 2.99 may or may not do
what you expect. Save your work early and often. If you want a stable
version, please use GIMP 2.10 instead.

If you think you found a bug in this version, please make sure that it
hasn't been reported earlier and that it is not just new stuff that is
still being worked on and obviously not quite finished yet.

If you want to hack on GIMP, please read the file devel-docs/README.md.
For detailed installation instructions, see the file INSTALL.


1. Web Resources
================

GIMP's home page is at:

	https://www.gimp.org/

Please be sure to visit this site for information, documentation,
tutorials, news, etc.  All things GIMP-ish are available from there.

The latest version of GIMP can be found at:

	https://www.gimp.org/downloads/


2. Contributing
===============

GIMP source code can be found at:

	https://gitlab.gnome.org/GNOME/gimp/

Resources for contributors:

        https://developer.gimp.org/

In particular, you may want to look in the "Core Development" section. Some
articles of particular interest for newcomers could be:

* Setting up your developer environment: https://developer.gimp.org/core/setup/
* GIMP Coding Style: https://developer.gimp.org/core/coding_style/
* Submit your first patch: https://developer.gimp.org/core/submit-patch/


3. Discussion Channels
======================

We have several discussion channels dedicated to GIMP user and
development discussion. There is more info at:

        https://www.gimp.org/discuss.html

Links to several archives of the mailing lists are included in that page.

Gimp-user-list is a mailing list dedicated to user problems, hints and
tips, discussion of cool effects, etc.  Gimp-developer-list is oriented
to GIMP core and plug-in developers.  Gimp-gui-list is for discussing
about GIMP interface to improve user experience. Most people will only
want to be subscribed to gimp-user-list. If you want to help develop
GIMP, the gimp-developer mailing list is a good starting point; if you
want to help with GUI design, the gimp-gui list is where you want to
subscribe.

Other discussion channels can be listed on this page when they are
moderated by a team member, such as forums.

Finally, for the real junkies, there are IRC channels devoted to GIMP.
On GIMPNet (a private free software oriented network) there is #gimp.
Many of the developers hang out there. Some of the GIMPNet servers are:

	irc.gimp.org:6667
	irc.us.gimp.org:6667
	irc.eu.gimp.org:6667


4. Customizing
==============

The look of GIMP's interface can be customized like any other GTK+ app
by editing files in `${XDG_CONFIG_HOME}/gtk-3.0/` (settings.ini and
gtk.css in particular) or by using "themes" (ready-made customizations).
Additionally, GIMP reads `${XDG_CONFIG_HOME}/GIMP/2.99/gimp.css` so you
can have settings that only apply to GIMP.

You can also manually change the keybindings to any of your choice by
editing: `${XDG_CONFIG_HOME}/GIMP/2.99/menurc`.


Have fun,

  Spencer Kimball
  Peter Mattis
  Federico Mena
  Manish Singh
  Sven Neumann
  Michael Natterer
  Dave Neary
  Martin Nordholts
  Jehan