1. 05 Feb, 2021 5 commits
    • Jakub Steiner's avatar
      appDisplay: Revisit "Add drop shadow to icons" · 53166ad9
      Jakub Steiner authored
      The shadow is barely visible on dark backgrounds, but it's not
      wrong to be consistent with Settings, Software and GNOME Classic.
      
      With the app icon swarm animation gon, the performance implications might not be as critical (#3124
      
      - increase blur but not much, while we can't have multi-layered shadows.
      
      Fixes #3670
      Also see #3123
      53166ad9
    • Jakub Steiner's avatar
      theme: Legible thumbnail close button · 97b9cdc7
      Jakub Steiner authored
      - prominent close button
      - legible yet stylish thumbnail labels
      
      Fixes #3669
      97b9cdc7
    • Florian Müllner's avatar
      data: Update custom close icon · 49690f39
      Florian Müllner authored
      The existing asset has a nice black rectangle on top of the
      intended shape.
      
      Part-of: <!1640>
      49690f39
    • Florian Müllner's avatar
      data: Rename custom close icon · 29e2b152
      Florian Müllner authored
      Resource icons are added to the fallback icon theme, so they won't
      get used if a matching icon is found in the configured theme.
      
      That includes fallback names, so Adwaita's "window-close-symbolic"
      takes precedence over "window-close-24-symbolic" in hicolor.
      
      Fix this by using a custom name for a custom icon.
      
      Part-of: <!1640>
      29e2b152
    • Florian Müllner's avatar
      data: Move custom close icon into actions/ · b0e6972c
      Florian Müllner authored
      Adwaita uses ui/ for the corresponding icon, but GTK treats icons
      from a resource path as part of the hicolor theme that doesn't
      have such a subdir. And as GTK determines subdirs by enumerating
      the theme directory, any subdirs that only exist in the resource
      are ignored, whoops.
      
      Make sure the icon can be found by moving it to a standard subdir.
      
      Part-of: <!1640>
      b0e6972c
  2. 04 Feb, 2021 11 commits
    • Sebastian Keller's avatar
      theme: Scale media player button padding with font size · 0f46a1d6
      Sebastian Keller authored
      The total width of the MediaMessage scales with the font size, but the
      padding of the media player buttons do not, which can become an issue
      with text-scaling-factor < 1.
      
      #3664
      
      Part-of: <!1632>
      0f46a1d6
    • Sebastian Keller's avatar
      mpris: Hide unused elements to leave more space for the title · c61e1e5c
      Sebastian Keller authored
      The Message class this is derived from unconditionally adds a close
      button with 0 opacity that only gets shown on hover for messages that
      can actually be closed. The MPRIS MediaMessage however can never be
      closed and having a close button can cause the title to be cut short
      unexpectedly.
      
      Similarly the secondary text which other notifications use to display
      the notification time is always left empty here as well.
      
      #3664
      
      Part-of: <!1632>
      c61e1e5c
    • Marco Trevisan's avatar
      appDisplay: Do not bind popdown call to grabHelper onUngrab · e641547d
      Marco Trevisan authored
      grabHelper is passing a boolean argument to onUngrab() callback function
      and since commit 1acbdcc9 we'd end up adding it to to the callback list or
      we'd try to invoke it:
      
       (gnome-shell:3490851): Gjs-CRITICAL **: 17:19:20.460: JS ERROR:
        TypeError: func is not a function
        onComplete/<@/media/M2/GNOME/gnome-shell/js/ui/appDisplay.js:2407:56
        onComplete@/media/M2/GNOME/gnome-shell/js/ui/appDisplay.js:2407:40
        _makeEaseCallback/<@/media/M2/GNOME/gnome-shell/js/ui/environment.js:85:13
        _easeActor/<@/media/M2/GNOME/gnome-shell/js/ui/environment.js:170:64
      
      Use an arrow function so that we can control the parameters we pass
      to popdown.
      
      Part-of: <!1635>
      e641547d
    • Kolja Lampe's avatar
      panel: Align left and right margin for status panel item · f5b622a7
      Kolja Lampe authored
      We now set a padding for the left and right
      side of the pill. We also got rid of the padding on the icon.
      
      Probably broken due to the removal of the dropdown arrow
      which likly handled the padding the right side of this item before.
      
      Part-of: <!1615>
      f5b622a7
    • Kolja Lampe's avatar
      accessibility/keyboard: Align the panelMenu button style · ed628b90
      Kolja Lampe authored
      This get's rid of the single-indicator introduced in one of the latest
      commits. This was causing the accessibility pill in the top panel
       to have different padding from the keyboard layout pill.
      
      Part-of: <!1615>
      ed628b90
    • Florian Müllner's avatar
      windowManager: Allow switching workspaces with super-scroll · 7aa36ad2
      Florian Müllner authored
      So far, we couldn't allow workspace scrolling outside the overview
      because scroll events were always sent to clients. However mutter
      was changed recently to pass on scroll events when the mouse button
      modifier (usually super) is pressed, which allows us to enable the
      same workspace scrolling as in the overview now.
      
      Part-of: <!1612>
      7aa36ad2
    • Florian Müllner's avatar
      swipeTracker: Optionally require modifiers for scrolling · ac824605
      Florian Müllner authored
      The design now calls for super-scroll for workspace switching
      in the session, however it is currently only possible for
      SwipeTracker to either handle scroll events or not.
      
      In order to support the new use case, add a new :scroll-modifiers
      property that allows specifying modifiers for which scroll events
      are handled.
      
      Part-of: <!1612>
      ac824605
    • Florian Müllner's avatar
      workspacesView: Move workspace scroll code to windowManager · 26a39bdf
      Florian Müllner authored
      This will allow sharing the code for the new super-scroll functionality.
      
      Part-of: <!1612>
      26a39bdf
    • Jonas Ådahl's avatar
      Change all g_memdup() to g_memdup2() · 463000d0
      Jonas Ådahl authored
      Using g_memdup() is dangerous due to the type of the size argument. See
      glib#2319 and
      glib!1926 for details.
      
      Part-of: <!1637>
      463000d0
    • Sebastian Keller's avatar
      dnd: Update actor position after scaling even when animations are off · 96d66def
      Sebastian Keller authored
      The code to update the actor position based on the cursor and current
      scale was run in a 'new-frame' handler. This is working fine when
      animations are enabled, but when they are turned off this does not work.
      This is because the 'new-frame' signal is emitted before the changes for
      that frame are applied. So with animations off the position was only
      ever updated with the starting values. As a result the shrunk actor was
      not being dragged by the position where it was clicked, but by where it
      was clicked in the original size, which is likely not even on the shrunk
      actor.
      
      This change now also updates the position in the onComplete handler
      which gets run with the final scale, even if the duration is 0.
      
      Fixes #1699
      
      Part-of: <!1627>
      96d66def
    • Jakub Steiner's avatar
      theme: Adjust dash icon spacing · 30b6816a
      Jakub Steiner authored
      - slight separation between favorites and the app-well icon
      
      Fixes #3640
      
      Part-of: <!1634>
      30b6816a
  3. 03 Feb, 2021 15 commits
  4. 02 Feb, 2021 9 commits
    • Sebastian Keller's avatar
      workspace: Handle window-added and removed signal after window tracker · 454394a2
      Sebastian Keller authored
      The new window preview overlay requires getting the app icon for a
      window from the window tracker when it gets initialized. The window
      tracker listens for the same 'window-added' signal on the MetaWorkspace
      that the gnome-shell Workspace listens for to add the window preview.
      
      The window tracker however reconnects all its signal handlers whenever
      the number of workspaces changes, which means that its signal handlers
      get called after the ones in Workspace ones. So by the time the
      'window-added' handler in Workspace is called, the window tracker does
      not have an app associated with the window.
      
      To fix this ensure that all window related signal handlers in Workspace
      are run after the ones in the window tracker.
      
      Fixes #3656
      
      Part-of: <!1625>
      454394a2
    • Alexander Mikhaylenko's avatar
      workspaceAnimation: Move background to WorkspaceGroup · 9ce666ac
      Alexander Mikhaylenko authored
      Make each wallpaper have a wallpaper and clip it. Add a separate background
      to MonitorGroup and add spacing between each workspace
      
      Fixes #3635,
            #945,
            #948
      
      Part-of: <!1326>
      9ce666ac
    • Alexander Mikhaylenko's avatar
      workspaceAnimation: Disable unredirection during the gesture · ae4dab76
      Alexander Mikhaylenko authored
      Make sure fullscreen apps can't block the animation.
      
      Part-of: <!1326>
      ae4dab76
    • Alexander Mikhaylenko's avatar
      workspaceAnimation: Support multiple screens · bca65485
      Alexander Mikhaylenko authored
      Currently, there's one animation for the whole canvas. While it looks fine
      with just one screen, it causes windows to move between screens when
      switching workspaces. Instead, have a separate animation on each screen,
      and sync their progress so that at any given time the progress "fraction"
      is the same between all screens. Clip all animations to their screens so
      that the windows don't leak to other screens.
      
      If a window is placed between every screen, can end up in multiple
      animations, in that case each part is still animated separately.
      
      Fixes #1213
      
      Part-of: <!1326>
      bca65485
    • Alexander Mikhaylenko's avatar
      workspaceAnimation: Group sticky windows and moving window · 8eba7599
      Alexander Mikhaylenko authored
      Since the transitions consists of window clones now, all the clones appear
      above sticky windows. Clone sticky windows as well, and treat them same as
      moving window instead.
      
      Part-of: <!1326>
      8eba7599
    • Alexander Mikhaylenko's avatar
      workspaceAnimation: Use a workspace strip · ee556401
      Alexander Mikhaylenko authored
      Currently, the workspace swipe transition only has one workspace in each
      direction. This works until you try to do multiple swipes in quick
      succession. The second swipe would continue the existing transition, which
      only has 2 or 3 workspaces in it, and will hit a wall.
      
      To prevent this, take all workspaces and arrange them into a column or row,
      depending on the layout, and use that as a transition.
      
      For the transition that happens when focusing a window on another workspace
      (for example, via Alt+Tab), still use only two workspaces instead of all of
      them.
      
      Since we don't support layouts other than single rows/columns anymore,
      diagonal transitions aren't supported anymore, and will be shown as
      horizontal or vertical instead.
      
      Since nw alt-tab and gesture transitions are different, don't allow to do
      both at once, that is, disable swipe tracker when a programmatic transition
      is going. This will also conveniently cancel a gesture transition if a
      programmatic one is initiated while a gesture is in progress.
      
      Fixes #2612
      
      Part-of: <!1326>
      ee556401
    • Alexander Mikhaylenko's avatar
      workspaceAnimation: Use window clones · 9cf300c9
      Alexander Mikhaylenko authored
      Instead of reparenting windows, clone them. This will allow to properly
      support multi-monitor setups in subsequent commits.
      
      Block window mapping animation while the animation is running to prevent
      new windows appearing during the animation from being visible at the same
      time as their clones.
      
      Fixes mutter#929
      
      Part-of: <!1326>
      9cf300c9
    • Alexander Mikhaylenko's avatar
      workspaceAnimation: Add a background · 0f99d46f
      Alexander Mikhaylenko authored
      In future we will need to use window clones to better support multiple
      monitors. To avoid having to hide every window, show wallpapers behind
      the workspace transition: one per monitor.
      
      Put the wallpaper into a separate class right away, later it will be
      useful to make the animation per-monitor.
      
      Part-of: <!1326>
      0f99d46f
    • Alexander Mikhaylenko's avatar
      workspaceAnimation: Add to uiGroup insead of window_group · 2f78d329
      Alexander Mikhaylenko authored
      This will allow to hide window group completely in the following commits.
      
      Part-of: <!1326>
      2f78d329