1. 29 May, 2020 12 commits
  2. 28 May, 2020 3 commits
    • Florian Müllner's avatar
      screenshot: Properly clean up if PickColor() is cancelled · 55c28728
      Florian Müllner authored
      We currently only remove the screenshot operation from the shooter
      map if the color pick operation completed successfully, but not if
      it was cancelled. As a result, we now reject any further requests
      from the same sender because we assume that there is an ongoing
      operation.
      
      Fix this by moving the cleanup to a finally clause that runs for
      both code paths.
      
      !1288
      55c28728
    • Florian Müllner's avatar
      screenshot: Return an error when operation is blocked · 1fdd4ff3
      Florian Müllner authored
      Right now _createScreenshot() returns a tuple that indicates failure
      when a sender requests a screenshot operation before a previously
      started operation finished.
      
      However that doesn't work for the PickColor() method, as it uses a
      different return type than the other methods.
      
      Address this by returning an error instead, which works in any case;
      arguably trying to start multiple operations in parallel is an error
      by the caller more than it is a failed operation anyway.
      
      !1288
      1fdd4ff3
    • Koki Fukuda's avatar
      extensions-tool: Escape '\' and '"' in json string · 3522338b
      Koki Fukuda authored
      If user-input string contains '\' and/or '"', extensions-tool
      generates invalid json.
      This fixes that by escaping '\' and '"'.
      
      !1279
      3522338b
  3. 27 May, 2020 6 commits
    • Changwoo Ryu's avatar
      Update Korean translation · 61e3349d
      Changwoo Ryu authored
      (cherry picked from commit 4099c446)
      61e3349d
    • Florian Müllner's avatar
      iconGrid: Remove fillParent support · dc27db08
      Florian Müllner authored
      This was only used by the frequent view to display as many children
      as fit the available space. Now that the view is gone, there's no
      need to keep the support ...
      
      !1286
      dc27db08
    • Georges Basile Stavracas Neto's avatar
      iconGrid: Merge PaginatedIconGrid and IconGrid · f09fbb19
      Georges Basile Stavracas Neto authored
      Now that the only user of the IconGrid is AppDisplay, and
      it only uses the paginated icon grid, there's no point in
      having the two classes split anymore.
      
      In addition to that, future commits will introduce a layout
      manager that will extend current icon grid features, and
      merging PaginatedIconGrid and IconGrid in the same class will
      vastly simplify this transition.
      
      Merge PaginatedIconGrid into IconGrid, and adapt AppDisplay
      to this change.
      
      !1267
      f09fbb19
    • Georges Basile Stavracas Neto's avatar
      appDisplay: Merge AppDisplay in AllView · 846fa77b
      Georges Basile Stavracas Neto authored
      Now that AllView is the only actor that AppDisplay creates,
      we can actually merge them together.
      
      Merge AllView in AppDisplay, remove what used to be AppDisplay,
      and rename AllView to AppDisplay.
      
      !880
      846fa77b
    • Georges Basile Stavracas Neto's avatar
      appDisplay: Simplify AppDisplay · b57bcf82
      Georges Basile Stavracas Neto authored
      Inherit St.Widget and remove the custom layout manager. Instead,
      override vfunc_allocate(). Also remove the view stack.
      
      !880
      b57bcf82
    • Georges Basile Stavracas Neto's avatar
      appDisplay: Remove Frequent view · 548e19a7
      Georges Basile Stavracas Neto authored
      The Frequent apps grid has a few problems:
      
       * On a fresh install there would be no history of app usage so the
         applications shown in the grid have no relevance it takes time
         to be useful instead of being useful from the start;
      
       * The grid has far too many items in it to be relevant; 24 apps is
         well beyond the average use case as most people don't frequently
         use that many, so it gets populated with several apps that are
         single use (hello xterm);
      
       * The position of items in the grid are always changing based on an
         unknown frequency metric (and not by user-intended input) which
         makes it a poor way to quickly launch apps as one would have to
         constantly learn the positions of the items in the grid;
      
       * Having two app grids is a bit superfluous and needlessly complicates
         the app launching navigation: you have to spend time checking the
         frequent grid and if it's not there you have to switch over to another
         grid and find the app you need in there it's not straightforward.
      
      Remove the Frequent tab and simplify the related code.
      
      Related: #1425
      
      !880
      548e19a7
  4. 26 May, 2020 1 commit
  5. 25 May, 2020 2 commits
    • Florian Müllner's avatar
      st/box-layout: Fix gtk-doc comments · 5d5ca80d
      Florian Müllner authored
      Commit 9dc42187 added a subtle syntax error: # is used to cross
      reference symbols, but must not be used in the definition of the
      symbols itself.
      
      !1281
      5d5ca80d
    • Florian Müllner's avatar
      st/texture-cache: Cancel pending requests on icon-theme changes · d81237b9
      Florian Müllner authored
      As outlined in commit 36b8dcbe, we can end up with wrong icons
      if the icon theme changes right after a GTK theme change to/from
      HighContrast triggered a theme reload.
      
      That's because when we reload icons for the new icon theme, there
      are already pending requests due to the icon-style change; those
      requests are simply re-used for the new icons, with the existing
      icon infos from the old theme.
      
      The above commit applied a simple work-around by changing the
      icon theme before the GTK theme, but that only works for the
      HighContrast switch in our own UI.
      
      It turns out that Settings also uses the "wrong" order, so the
      issue still reproduces with the Universal Access panel.
      
      So instead of relying on everything changing the settings in the
      order we expect, cancel all ongoing requests on icon-theme changes.
      
      !1277
      d81237b9
  6. 24 May, 2020 5 commits
  7. 22 May, 2020 3 commits
    • Florian Müllner's avatar
      screenshot: Add preview to color picker · f06223df
      Florian Müllner authored
      With color picking implemented in the compositor, we
      can do better than letting the user pick a pixel with
      the crosshair cursor, and present them with a preview
      of the color that will be selected.
      
      Do this by replacing the cursor with a custom icon and
      apply a recoloring effect, where we replace a given color
      with the color of the currently hovered pixel (similar
      to a green screen).
      
      #451
      f06223df
    • verdre's avatar
      search: Remove usage of allocation flags · 9a8ced9f
      verdre authored
      Allocation flags have been removed from Clutter, and commit
      400d045a accidentally added their
      arguments again which causes a warning, so remove those arguments.
      
      !1276
      9a8ced9f
    • Yuri Chornoivan's avatar
      Update Ukrainian translation · 67c45e56
      Yuri Chornoivan authored
      67c45e56
  8. 21 May, 2020 8 commits
    • verdre's avatar
      Use pid_t for meta_window_get_pid() · b88ed3f2
      verdre authored
      The return value of meta_window_get_pid() changed again and it now
      returns pid_t, which usually just resolves to int on most platforms. We
      should still use pid_t now though, so do that.
      
      !1188
      b88ed3f2
    • Andy Holmes's avatar
      StClipboard: add st_clipboard_get_mimetypes · 669b0f19
      Andy Holmes authored
      Since the `MetaSelection` of the global `StClipboard` is private (and
      should be), there is no reasonable way for extensions or external code
      to query the supported mime-types.
      
      Add `st_clipboard_get_mimetypes()` so this can be queried without
      poking around in private code.
      
      closes #2819
      669b0f19
    • Florian Müllner's avatar
      extensions-app: Indicate extension errors · 9cad7ae9
      Florian Müllner authored
      Currently there is no indication that an extension had an error except
      for the sensitivity of the switch (which may have a different cause).
      
      This is useful information to users, so add a small error indicator
      alongside the updates icon and show the actual error in the details.
      
      #2337
      9cad7ae9
    • Florian Müllner's avatar
      extensionSystem: Don't log error name · 48e6a582
      Florian Müllner authored
      logExtensionError() currently saves the error message by calling
      toString() on the passed error. That's convenient as it allows to
      pass a string instead of a "proper" error, but the result isn't
      great for the common Error case: Its toString() method prefixes
      the message with the error name, which usually is just "Error:".
      
      The plain message is more suitable for displaying it to users,
      so use that for Error objects.
      
      #2337
      48e6a582
    • Florian Müllner's avatar
      extensions-app: Reset switch handle when it becomes insensitive · d2583aa4
      Florian Müllner authored
      Currently the switches handle position reflects the requested
      extension state (as in: the user (de)activated the switch),
      while the actual extension state is reflected by the underlying
      state.
      
      That doesn't work well when the switch is insensitive though (for
      example on error), because the desaturation neuters the color
      that reflects the state.
      
      Address this by resetting the switch handle to the state when
      making it insensitive.
      
      !1263
      d2583aa4
    • Florian Müllner's avatar
      st: Remove BoxLayout child meta · 0ab34fe2
      Florian Müllner authored
      They were deprecated last cycle in favor of ClutterActor's own
      expand/align properties, time to retire them for good.
      
      !1274
      0ab34fe2
    • verdre's avatar
      st/theme: Remove entry from files_by_stylesheet after emitting signal · 0f947d4f
      verdre authored
      Since e06109c2 we keep old theme nodes
      valid during the emission of the "custom-stylesheets-changed" signal.
      
      It turns out that we might still look up the file of a stylesheet using
      the files_by_stylesheet hashtable during the emission of that signal,
      causing a crash because the assertion in _st_theme_resolve_url() fails.
      
      So fix that and remove the stylesheet entry from the files_by_stylesheet
      hashtable after emitting the "custom-stylesheets-changed" signal. And to
      be consistent, also remove the entry from the stylesheets_by_file
      hashtable after emitting the signal.
      
      Fixes: #2757
      0f947d4f
    • Andy Holmes's avatar
      StBoxLayout: Fix up some documentation · 9dc42187
      Andy Holmes authored
      `StBoxLayout` has a couple properties (`vertical` and `pack-start`)
      improperly referenced as signals, and is somewhat unclear these
      properties are wrappers around the underlying `ClutterBoxLayout`
      properties.
      
      Fix these up and add references to the underlying properties, rather
      than redescribing them.
      
      #2816
      9dc42187