1. 02 Sep, 2018 1 commit
    • Ell's avatar
      app, icons, menus: add performance-log recording to the dashboard · 36477bb2
      Ell authored
      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
      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
      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.
  2. 09 Aug, 2018 1 commit
  3. 30 Jul, 2018 1 commit
    • ONO Yoshio's avatar
      MR !19: Add support for vertical text writing. · 587d9bbb
      ONO Yoshio authored
      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.
  4. 07 Jul, 2018 1 commit
    • Jehan's avatar
      app: a skeleton for the extension GUI. · ff12c2d9
      Jehan authored
      This is using GTK+3 widgets, so I make sure to keep it well separated
      from core code. The gimp-2-10 version will have to rework the GUI, but
      the GtkListBox and GtkSwitch are nice and make things easier, so it is
      worth using them here).
  5. 05 Jul, 2018 1 commit
  6. 20 Jun, 2018 1 commit
  7. 27 May, 2018 1 commit
  8. 19 May, 2018 1 commit
  9. 06 May, 2018 2 commits
  10. 13 Apr, 2018 1 commit
  11. 02 Apr, 2018 1 commit
  12. 29 Mar, 2018 1 commit
    • Ell's avatar
      app: add --show-debug-menu command-line option · 53c145c0
      Ell authored
      The debug menu is currently not included in stable versions.
      Include the menu unconditionally, but hide it, and its associated
      actions, by default in stable versions.  Allow enabling the menu
      using a new --show-debug-menu command-line option, in the same vein
      as --show-playground.
  13. 14 Mar, 2018 1 commit
    • Ell's avatar
      app, pdb, libgimp, plug-ins, menus: rename layer composite modes · a7f3a2dd
      Ell authored
      Our composite modes don't correspond directly to the Porter-Duff
      operators after which they're named, and these names aren't too
      descriptive anyway.
      Rename the composite modes as follows:
        Source Over       =>  Union
        Source Atop       =>  Clip to Backdrop
        Destination Atop  =>  Clip to Layer
        Source In         =>  Intersection
      Update relevant code, including UI text, enumerator names, function
      names, and action names.
  14. 14 Jan, 2018 1 commit
    • Michael Natterer's avatar
      Bug 792470 - Some filters e.g. "Levels" are not added to "Repeat last" history · b23f231a
      Michael Natterer authored
      The four remaining "classic" color tools (Brightness-Contrast, Curves,
      Levels and Threshold) are in fact just special UIs for otherwise
      completely normal filter ops.
      Add normal filter actions for them and invoke them like all
      other filters, which makes them show up in the filter history
      The only small hack needed is to special case them in
      gimp_gegl_procedure_execute_async() so the right tools are created
      instead of the default GimpOperationTool. Also, blacklist the
      automatically generated tools actions from action search and the
      shortcut editor.
  15. 05 Jan, 2018 1 commit
  16. 30 Dec, 2017 1 commit
    • Ell's avatar
      app: various GimpDashboard improvements · ee418191
      Ell authored
      Refactor GimpDashboard to autogenerate the UI based on a
      description of the different variables, fields, and groups.
      Allow individual groups to be expanded/collapsed, and individual
      fields to be enabled/disabled.  Save the relevant state in the
      dashboard's aux-info.
      Add fields for the new GeglStats properties, as per GEGL commit
      25c39ce6c9bb618f06ac96d118e624be66464d74.  The new fields are not
      enabled by default.
      Add "reset" action, to clear the history, and reset cumulative
  17. 19 Dec, 2017 1 commit
    • Ell's avatar
      app, menus, icons: add dashboard dockable · 981e8dcd
      Ell authored
      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
  18. 17 Nov, 2017 1 commit
  19. 12 Nov, 2017 1 commit
    • Michael Natterer's avatar
      Bug 789764 - Please add Paste In Place feature · f12d0d8c
      Michael Natterer authored
      Add "In Place" variants for all sorts of pasting:
      - extend the GimpPasteType enum with IN_PLACE values
      - add the needed actions and menu items
      - merge the action callbacks into one, taking an enum value as parameter
      - refactor the pasting code in gimp-edit.c into smaller functions
      We probably have too menu items in the "Edit" menu now, needs to be
      sorted out.
  20. 28 Oct, 2017 1 commit
    • Ell's avatar
      app: make error-console highlighting criterion configurable · 7655dd72
      Ell authored
      Currently, the error console is highlighted (shown/blinked) only
      upon errors; however, warnings, which are not shown on the
      statusbar while the error console is open, often also contain
      important information.
      Allow the user to configure which message types (errors, warnings,
      and regular messages) highlight the error console, using a new
      "highlight" submenu in the error-console menu.  Add corresponding
      config options, saved in sessionrc.  By default, highlight the
      error console unpon both errors and warnings.
  21. 28 Jul, 2017 1 commit
  22. 09 Jul, 2017 1 commit
  23. 08 Jul, 2017 2 commits
  24. 19 Jun, 2017 1 commit
  25. 05 Jun, 2017 2 commits
  26. 04 Jun, 2017 2 commits
  27. 03 Jun, 2017 1 commit
    • Michael Natterer's avatar
      app: allow filter actions to have hardcoded default operation settings · adb826fb
      Michael Natterer authored
      by encoding them directly in the string attached to all filter
      actions. The code now supports both "gegl:some-operation" and
      "gegl:some-operation\n<serialized config>".
      Add "default_settings" to GimpGeglProcedure to store the settings of
      the invoking action, much like the "default_run_mode" member.
      Change filters-commands.c to parse the new operation string, create
      GimpGeglProcedures with the deserialized settings, and use those
      settings when the procedures are ran.
      Change the filter history to be smarter about what is already in the
      history, there can now be several different procedures with the same
      Remove the dilate and erode actions from the drawable group, and add
      them to filters, they are just special cases of value-propagate with
      fixed settings.
  28. 26 May, 2017 1 commit
  29. 15 May, 2017 1 commit
    • Jehan's avatar
      app, menus: rename confusing layers-text-tool and vectors-path-tool. · 0dbdf232
      Jehan authored
      "layers-text-tool" action shows as "Text Tool" while "vectors-path-tool"
      shows as "Path Tool". That's very confusing with tools-text and
      tools-vectors respectively.
      These actions are mostly about entering in edit mode with the active
      layer or path. For text layers, it will enter text edition on canvas,
      whereas just open the attributes edition dialog on other layers. For
      consistency, layers-text-edit is renamed as well too layers-edit-text.
      This also fix the side effect of commits 10099bda and 526918b2 where I
      didn't realize that layers-text-tool was also working on non text layers
      on purpose (being very badly named). Now there is a separate layers-edit
      and layers-edit-text.
      Thanks to Pat David for English corrections. :-)
  30. 07 May, 2017 1 commit
  31. 13 Feb, 2017 1 commit
  32. 12 Feb, 2017 1 commit
  33. 02 Feb, 2017 3 commits
  34. 01 Feb, 2017 1 commit