Commit graph

191 commits

Author SHA1 Message Date
Ell
40ac4f7bc0 app, icons, menus: add performance-log recording to the dashboard
Add an option to record a performance log through the dashboard.
The log contains a series of samples of the dashboard variables, as
well as the full program backtrace, when available.  As such, it
essentially acts as a built-in profiler, which allows us to
correlate program execution with the information available through
the dashboard.  It is meant to be used for creating logs to
accompany perofrmance-related bug reports, as well as for profiling
GIMP during development.

The sample frequency defaults to 10 samples per second, but can be
overridden using the GIMP_PERFORMANCE_LOG_SAMPLE_FREQUENCY
environment variable.  Backtraces are included by default when
available, but can be suppressed using the
GIMP_PERFORMANCE_LOG_NO_BACKTRACE environment variable.

Logs are created through the new "record" button at the bottom of
the dashboard dialog.  When pressed, a file dialog is opened to
select the log file, and, once confirmed, data is being recorded to
the selected file.  Recording is stopped by pressing the "record"
button again (we use a highlight to indicate that recording is
active.)

While recording, the "reset" button is replaced with an "add marker"
button, which can be used to add event markers to the log.  These
can be used to mark events of interest, such as "started painting"
and "stopped painting", which then appear in the log as part of the
sample stream.  Markers are numbered sequentually, and the number
of the next (to-be-added) marker appears on the button.  Shift-
clicking the button adds an empty (description-less) marker, which
is only identified by its number; this can be used when markers
need to be added quickly.

The log is an XML file, containing some extra information (such as
the output of "$ gimp -v", and symbol information) in addition to
the samples.  The data in the file is delta-encoded to reduce the
file size, meaning that samples (as well as some other elements)
only specify the changes since the previous sample.  This adds a
necessary decoding step before data can be processed; the next
commit adds a tool that does that.

There are currently no tools to actually analyze the data -- that's
still TBD -- but at least we can start gathering it.
2018-09-02 03:26:11 -04:00
Jehan
d1d9eb17e5 configure: GLIB_COMPILE_RESOURCES is wrong when cross-compiling.
AM_PATH_GLIB_2_0 m4 macro actually computes this value using
$PKG_CONFIG. Yet $PKG_CONFIG variable is the pkg-config tool looking for
target libraries (not host), hence it would return the executable
`glib-compile-resources` built for the target.

Also using the same variable name invalidates our test: our own
AC_PATH_PROG was never run as the variable was already set. And no
environment variable could override this test anymore either. This is
why I rename the test variable to HOST_GLIB_COMPILE_RESOURCES.
2018-08-12 19:13:13 +02:00
Jehan
ff13f75ebc icons: update icons for new top-to-bottom text feature.
They are not perfect (not a designer here!) but a bit less packed than
the previous one. So hopefully more understandable.

(cherry picked from commit e326faa77c)
2018-07-30 23:10:19 +02:00
ONO Yoshio
e2958714d9 MR !19: Add support for vertical text writing.
Squashed commit of the following:

commit ee1ff7d502658cfa1248a13a3f0348495db07eda
Author: ONO Yoshio <ohtsuka.yoshio@gmail.com>
Date:   Sun Jul 29 00:31:47 2018 +0900

    Fixed that gimp-text-dir-ttb-* icons are lacked in Symbolic.

commit d87d012d697628da28fe90199cc04b95b72ba8ef
Author: ONO Yoshio <ohtsuka.yoshio@gmail.com>
Date:   Sat Jul 28 16:23:10 2018 +0900

    Fix a typo.

commit cf0238bf7df56c384cdf3b7ec69557d14740f853
Author: ONO Yoshio <ohtsuka.yoshio@gmail.com>
Date:   Sat Jul 28 15:50:57 2018 +0900

    Fixed seg fault error.

commit b07f60d06fa1a753fda5b4d46af01698c344154e
Author: ONO Yoshio <ohtsuka.yoshio@gmail.com>
Date:   Fri Jul 27 17:15:34 2018 +0900

    Add support for vertical text writing.

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

(cherry picked from commit 587d9bbb03)
2018-07-30 23:10:11 +02:00
Michael Schumacher
c582023ef5 icons: add missing gimp-color-space-non-linear.png files 2018-07-23 18:25:57 +02:00
Michael Natterer
77f3c8e404 libgimpwidgets, icons: add gimp-color-space-non-linear icon
For now just a copy of the "perceptual" icon.

(cherry picked from commit 5c94ebaed3)
2018-07-20 17:29:31 +02:00
Jehan
402c0d98f1 icons: update various icons to account for librsvg bugs.
It should now be possible to fully export our symbolic icons from a
single central file.
My long-standing bug of librsvg#250 is still opened and unfixed, but it
turns out most issues I encountered are anyway also problems when
recoloring symbolic icons in GTK+ (like using strokes instead of
fills!). So let's just bypass all problems at once by accounting for
these issues in the design.

(cherry picked from commit 4c68d5dfc9)
2018-06-24 00:23:58 +02:00
Jehan
9bc78a3b3c icons: fix many icons for proper recoloring.
I tried to fix all the icons I could see which had issues regarding all
recoloring matters (using fill not stroke, change circle/ellipses to
paths, etc.) when looking at a blank canvas.
I'm sure I still miss a lot but that will do for now.

(cherry picked from commit 8811b0d916)
2018-06-24 00:23:44 +02:00
Jehan
e960c4884b icons: force colors on some icons.
Sometimes even within symbolic icons, parts of the design must keep
fixed colors, when they are semantic. For instance this is the case for
the color-picker-(black|gray|white) icons or the gimp-default-colors.

The trick used by GTK+ to recolor is by supplying an additional CSS
style to icons which overrides inline CSS thanks to "! important"
keyword. Our own trick to circumvent this trick is to set "!important"
in inline CSS when one wishes not to have it overrided by the general
colors.
Right now I am doing the edit by hand with vim because Inkscape doesn't
seem to validate this keyword if I add it manually in its XML editor. So
what I did is add the "color-important" label on such object, and I will
later modify my SVG export tool to add !important on such object "fill"
values at export time.

(cherry picked from commit 5d5bbeb88b)
2018-06-24 00:23:44 +02:00
Jehan
fa6f2f65f0 icons: fix various symbolic icons not properly recolored.
The current recolorization code only recolors paths and rectangles. In
particular it leaves circles and ellipses as-is.
I opened the merge request gtk!214 for this issue. But in the meantime,
it is quite easy to change circles and ellipses into path with "object
to path" in Inkscape.

A second problem is that it only recolors fills, not strokes, as
previously stated. So I need to remove strokes from icons, or transform
them to paths.

(cherry picked from commit fd46018203)
2018-06-24 00:23:23 +02:00
Jehan
eb82161091 icons: larger spacing between broken chains.
It seems not wide enough to differentiate easily the broken and
non-broken chains. So let's make this gap bigger.

(cherry picked from commit a5afb04501)
2018-06-24 00:22:07 +02:00
Jehan
99e6b365ae icons: fixing more icons.
This time, 2 icons still had problems because of visible rectangles.
Fixing "gimp-prefs-folders" and "gimp-prefs-folders-mypaint-brushes".

(cherry picked from commit 2bb8afd119)
2018-06-24 00:22:07 +02:00
Jehan
11dd2365cd icons: fix various icons broken when recoloring with CSS.
For anyone wishing to help me fix icons, here is the trick: apparently
GTK+ would fill the paths with CSS colors, not stroke them. So when we
have icon drawing based on path-stroking, they don't end up as expected.
In Inkscape, just run "Stroke to Path" to transform a stroke design in a
fill design.
I am fixing "gimp-tool-cage", "document-revert", "gimp-image-reload",
"gimp-reset" and "view-refresh". More to follow as we discover them, I
guess.

(cherry picked from commit 4b6869dd67)
2018-06-24 00:20:48 +02:00
Jehan
709e5e4c7e icons: make gimp-tool-ellipse-select symmetric.
I may not be an icon designer, but this icon be so clearly asymmetric
always deeply annoyed me.

(cherry picked from commit 45f46db815)
2018-06-24 00:19:31 +02:00
Jehan
8ede025cee icons: clean the symbolic vector file.
All icons are now in the file.

(cherry picked from commit 3096fd295a)
2018-06-14 16:35:08 +02:00
Jehan
98763dded9 icons: fix symbolic icons.
With the symbolic-awareness of GTK+, vector icons are recolored (using
fg, success, warning and error colors). Unfortunately it was also
recoloring some rectangles with neither fill nor stroke, which were
using only to get appropriate icon size (these icons were therefore
displayed as just a square).

I made a quick pass in our icons to "fix" these. I expect I may have
missed some icons, or at the opposite, I may have broken other icons by
removing rectangles which should not have been removed. If you find any
such icon, please fix.
Also some icons do not look quite right just now. We will have to create
new guidelines on how to make symbolic icons and fix/redesign some, I
guess.

(cherry picked from commit 0c3659c5f1)
2018-06-14 16:35:08 +02:00
Ell
1a277f2cc6 icons: s/gimp-tool-blend/gimp-tool-gradient/ in SVG icons
In particular, so that we use the correct element IDs, if we ever
extract the icons based on element ID.
2018-04-15 03:31:08 -04:00
Michael Natterer
ebb9d83d63 Bug 795230 - Rename Blend tool and provide PDB compatibility
Step 1: rename the icon to GIMP_ICON_TOOL_GRADIENT (gimp-tool-gradient)
2018-04-13 23:07:08 +02:00
Aryeom Han
a542bb1e8f icons: new symbolic icons gimp-attach and gimp-detach.
These are simple on purpose since the smaller size they are displayed at
is 12 px (in overlay dialogs) so it needs to be simple shapes.

Note by Jehan: gimpicons.h and Makefile.am not updated yet. Waiting for
the color icons first.
2018-02-24 00:56:59 +01:00
Alexandre Prokoudine
940a5866a9 Add symbolic icons for linear/perceptual color spaces 2018-01-06 01:49:17 +03:00
Alexandre Prokoudine
78821b4cb9 Add icons for Shadows-Highlights 2018-01-05 21:03:42 +03:00
Alexandre Prokoudine
b7d2c5eab1 Add Exposure tool icon, remove erroneous stock entry for the colortemp icon 2017-12-28 04:11:55 +03:00
Alexandre Prokoudine
5269d792c5 Rename colortemp icons to *-tool-* 2017-12-27 07:49:52 +03:00
Alexandre Prokoudine
28c3fd92eb Remove erroneous group of shapes from colortemp icon 2017-12-27 06:08:11 +03:00
Alexandre Prokoudine
57b43e096c Add symbolic icons for color temperature tool, full color version to follow 2017-12-27 05:58:35 +03:00
Ell
981e8dcdfe app, menus, icons: add dashboard dockable
The dashboard dockable shows the current GEGL cache and swap sizes,
and their recent history.  It has options to control the update
rate and history duration of the data, and an option to warn (by
raising/blinking the dialog) when the swap size approaches its
limit.
2017-12-18 19:42:23 -05:00
Ell
fa25b476be icons, modules, libgimpwidgets: add clip-warning display filter icon
... and use it instead of gimp-warning.
2017-11-23 13:34:49 -05:00
Jehan
677e5c233a icons: start completing the main Symbolic icons SVG file.
It's not finished yet, but I have already added all the individual
Freedesktop and GTK+ icons. The goal will be to have all the Symbolic
icons in this one file so that in the future we can just extract
individual SVG files from object IDs.
This was the original plan but librsvg was just too buggy and would not
extract the proper viewbox for some icons. Fortunately it seems that the
bug reports I made are finally starting to be taken into account so I am
hoping for a usable librsvg soon and starts the work which should have
been done from the start.
2017-09-11 14:26:43 +02:00
Alexandre Prokoudine
70b389a7b1 Cherry-pick template updates from icons-wip branch by Klaus Staedtler 2017-06-12 03:24:32 +03:00
Michael Natterer
9d3be6177c icons: add the new icons64_system_image group to EXTRA_DIST
and clean up some tabs in various Makefiles.
2017-06-07 21:04:33 +02:00
Michael Natterer
ef7629151d icons: forgot to rename the scalable "justify" icons 2017-03-06 23:36:53 +01:00
Michael Natterer
dda54c1df8 Deprecate stock items for good and change all icon defines to GIMP_ICON_*
Try to sort all GIMP_ICON_* defines into FDO categories like in
https://specifications.freedesktop.org/icon-naming-spec/latest/ar01s04.html

Add defines for all icons we override, rename some icons to their FDO
standard names, and mark the ones we duplicate with a comment so we
don't forget to rename those to standard names in 3.0.
2017-03-05 16:01:59 +01:00
Aryeom Han
f3303eb72f icons: adding the missing gimp-prefs-import-export color icon.
The 24 and 48 versions are slightly different, with the arrow on the
smaller version being bigger.
Preferences icon are also stored in all kind of size, like 16 and 22.
It may become necessary to make an alternative version for these smaller
sizes.
2017-02-23 15:24:36 +01:00
Aryeom Han
15d4b8b653 icons: SVG and 48x48 version of the Import/Export preferences icon.
More sizes and a color version to come soon too.
2017-02-04 11:50:38 +01:00
Hartmut Kuhse
66bc98d299 Revert "New GimpMetadata as subclass of GExiv2Metadata"
This reverts commit 3ab08c8bfd.
2017-01-03 19:36:22 +01:00
Hartmut Kuhse
3ab08c8bfd New GimpMetadata as subclass of GExiv2Metadata 2017-01-03 19:26:35 +01:00
Jehan
3ff408ffe3 icons: make "broken" chains (for proportional fields) more obvious...
... by adding more space between the 2 parts of the chain.
Only done the symbolic icons for now. The color ones later.
2016-10-22 19:33:59 +02:00
Jehan
fb51bc6802 Bug 772981 - missing some vector icons in the dist tarballs.
This fixes building with --enable-vector-icons from tarballs generated
by `make dist`.
2016-10-17 02:28:44 +02:00
Jehan
0adb1d4a14 Bug 771895 - add 128x128 and 256x256 versions for "folder" icon.
Freedesktop's "Thumbnail Managing Standard" defines 2 standard sizes
for thumbnails: 128x128 and 256x256 (section 5.3. Thumbnail Size).
Since the "folder" icon is used in-place of thumbnail when selecting a
folder in the GTK+ file dialog, it should also provide these default
sizes.
2016-10-17 01:39:13 +02:00
Jehan
15d9f4a354 icons, libgimpwidgets: delete "gimp-path-(new|up|down|delete)" icons.
Commit 82737bf got rid of the only pieces of code where these icons were
used. Since they were never available in any version release of GIMP,
let's delete them from libgimpwidgets API as well.
2016-10-02 19:48:48 +02:00
Jehan
7a5d0810a3 icons: "gimp-print-resolution" icons better fit "document-print".
Also alias GIMP_STOCK_PRINT_RESOLUTION to "document-print" until we
get a proper icon for it.
2016-09-13 23:49:26 +02:00
Jehan
70a3584437 icons: fix icons with crazy sizes.
Gaaah! Export error.
2016-09-13 22:48:50 +02:00
Jehan
410b23ea36 icons: updated "gimp-prefs-folders" and new "folder" icons.
The former "gimp-prefs-folders" actually becomes the new "folder", which
is used for instance in file dialogs.
2016-09-13 22:21:09 +02:00
Jehan
5289a25b7c icons, app: "folder-new" icon used for new layer group. 2016-09-12 22:26:46 +02:00
Jehan
49abdc33fd icons: add "edit-delete" icon.
Based off icons from Klaus Staedtler, who proposed separate icons for
layers, channels and paths. I only extracted the "cross" part for a
generate delete icon.
2016-09-12 21:39:11 +02:00
Jehan
75e97a23f3 icons, libgimpwidgets: gimp-buffer icons renamed to edit-copy...
... and GIMP_STOCK_BUFFER redefined to "edit-paste", half-reverting
commit cb7d93d (except we use standard Freedesktop icon naming instead
of the GTK stock name).
The gimp-buffer icon was indeed definitely looking like a typical copy
icon, which was missing, and this has priority over a buffer icon.
2016-09-12 03:53:17 +02:00
Jehan
c6a570d33e configure, INSTALL, devel-docs: vectorial icons is not proper English.
We should use "vector icons" instead. Thanks to nomis for raising the
question and ankh to confirm the proper English.
2016-09-12 01:58:41 +02:00
Jehan
c6f1761af7 icons, app, libgimpwidgets: replace GIMP_STOCK_EDIT with GTK_STOCK_EDIT. 2016-09-05 02:53:51 +02:00
Klaus Staedtler
0eeee33c70 icons: many new icons.
These icons were massively renamed by Jehan, from a feature branch, in
order to fit either into Freedesktop's "Icon Naming Specification", or
as standard GTK+ icons.
2016-09-05 00:45:15 +02:00
Klaus Staedtler
a440f6cbff icons: updated icons.
As squashed by Jehan from the work of Klaus Staedtler in a feature
branch.
2016-09-05 00:45:14 +02:00