Commit graph

350 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
Michael Natterer
6837554376 icons: make the gap of the broken chain larger in the Color theme 2018-08-19 18:43:39 +02: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
Michael Natterer
b1fbf1eb63 Issue ##2000 - Linked and unlinked chain icons look almost identical
Make the gap of the broken chain icons of the "Color" theme wider.
2018-08-10 15:56:24 +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
be3abe6cea icons: work around dimension bug of librsvg for a bunch of color icons.
It feels I am just fighting against the system. So annoying!

(cherry picked from commit b87d34bace)
2018-06-24 00:24:45 +02:00
Jehan
87d2dbbe66 icons: complete color-scalable SVG.
Preparing extracting icons from a single file.

(cherry picked from commit 199df5a128)
2018-06-24 00:24:38 +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
Michael Natterer
9667d2566d icons: fix .gitignore in Symbolic-Inverted/ 2018-05-20 18:28:09 +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
Jehan
56d0998e74 icons, libgimpwidgets: fixing indentation and cleaning out tabs. 2018-02-24 15:58:26 +01:00
Jehan
6a9c4f8ef1 icons, libgimpwidgets: now with proper gimp-attach + gimp-detach icons.
"gimp-detach" does not just use "gtk-convert" anymore and has its own
design. As for "gimp-attach", this is not used anywhere (yet), but it
could be soon as reverse action of gimp-detach. For instance, this icon
can be used for bug 791859 when we implement re-attaching overlay
dialogs.
2018-02-24 01:27:56 +01:00
Aryeom Han
7d354e8aa3 icons: now color version for gimp-attach and gimp-detach. 2018-02-24 01:04:37 +01: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
a0628e5c78 Slighty better (still horrible) design for linear/perceptual space icons 2018-01-06 06:41:30 +03:00
Alexandre Prokoudine
7b1fde9381 Add primitive color versions of linear/perceptuial color space icons 2018-01-06 02:01:44 +03:00
Alexandre Prokoudine
940a5866a9 Add symbolic icons for linear/perceptual color spaces 2018-01-06 01:49:17 +03:00
Alexandre Prokoudine
15f7aec021 Add legacy desaturate tool icon in SVG 2018-01-05 21:06:20 +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
eef98376dd Update paths to new icons 2017-12-27 07:49:52 +03:00
Alexandre Prokoudine
5269d792c5 Rename colortemp icons to *-tool-* 2017-12-27 07:49:52 +03:00
Alexandre Prokoudine
4d11e2b184 Add colortemp icons to the build 2017-12-27 07:49:52 +03:00
Alexandre Prokoudine
b374198e10 Move scalable colortemp icon to the right folder 2017-12-27 07:49:52 +03:00
Alexandre Prokoudine
e53b7db26e Add color version of the color temperature 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
cb142b396e icons: forgot Symbolic-Inverted/Makefile.am in the previous icons commit 2017-06-07 21:59:02 +02: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
Jehan
593255dd12 icons: install PNG version of gimp-(error|info|question|warning) icons.
These icons are requested by the System theme, which outputs warnings at
loading, so they are needed even when using vector icons otherwise.
Not sure why these are hardcoded. Maybe we should rather edit these out
from the gtkrc instead. But this will do for the time being.
2017-06-07 16:35:46 +02:00
Jehan
228929957a Revert "Bug 780270 - MinGW build fail on Windows, wrong definition in..."
This reverts commit 2226fb1dc8.
It doesn't make much difference right now, will work the same on
native builds and be broken on cross-builds.
I need to fix how invert-svg is built (broken on commit 84439a8),
so that it is a build executable again. Work in progress.
But since it makes no difference right now, let's just revert this
one already.
2017-03-23 15:54:25 +01:00
Michael Natterer
2226fb1dc8 Bug 780270 - MinGW build fail on Windows, wrong definition in...
...icons/Symbolic-Inverted/Makefile.am (BUILD_EXEEXT should read EXEEXT)

Use EXEEXT instead of BUILD_EXEEXT.
2017-03-19 20:19:03 +01:00
Jehan
9eb143f389 Bug 780137 - SVG icon files are not removed by make distclean. 2017-03-17 04:16:20 +01:00