1. 05 Jun, 2013 17 commits
  2. 04 Jun, 2013 11 commits
  3. 29 May, 2013 4 commits
  4. 28 May, 2013 8 commits
    • Alexander Larsson's avatar
      shell: Center window in fullscreen if needed · d622ed3f
      Alexander Larsson authored
      If modeset fails With DRIVER method, and always with FILL method
      we want to center the window.
      d622ed3f
    • Alexander Larsson's avatar
      shell: Always go to original mode when focused window not fullscreen · f82b6cac
      Alexander Larsson authored
      Right now we only switch mode on activating a fullscreened window.
      This has several problems:
      
      * Once you're in fullscreen its hard to switch to a non-fullscreened
        window with alt-tab as you stay in the small resolution.
      * If you switch from a fullscreened window to a non-fullscreened
        window and the fullscreened window is destroyed we will not
        restore the original mode (since the window is not
        shell_surface_is_top_fullscreen()
      * Its hard to reach a different output on the right with the mouse
        when the mode is smaller that the original, as there is a "gap"
        between the two outputs. So, if you alt-tab to another window
        you can not always reach it.
      
      This is somewhat of a sledge hammer, as it means you can't e.g.
      focus a non-fullscreen on one output and have a window fullscreened
      on another output. However, trying to restore only the outputs
      the new window is on is problematic:
      
      * It may later change output
      * We want to see all windows anyway during alt-tab
      * Can't reach the other windows with the mouse anyway
      
      So, this seems like an ok solution.
      f82b6cac
    • Alexander Larsson's avatar
      shell: Use buffer_scale as output scale on fullscreen DRIVER · 355748e3
      Alexander Larsson authored
      It may happen that you e.g. fullscreen a 800x600 surface with
      buffer_scale 1 (e.g. a 800x600 buffer) on an output that is
      otherwise scale 2. In this case we want to temporarily set
      the output scale to 1, as we're really scanning out of a
      scale 1 buffer. This causes us to e.g. report the input
      positions in the right place, etc.
      
      When we restore the original mode we also restore the original
      scale.
      
      Note that the scale change is a purely compositor internal change,
      to clients it still looks like the output is scale 2.
      355748e3
    • Alexander Larsson's avatar
      compositor: Store original output scale · e32c3767
      Alexander Larsson authored
      We want this so we can restore the original mode
      with the original size (after having been fullscreen).
      e32c3767
    • Alexander Larsson's avatar
      compositor: Store modes in physical units · 0b13506e
      Alexander Larsson authored
      We changed the protocol to always list modes in physical pixel
      units (not scaled). And we removed the scaled mode flag. This
      just updates the DRM and X11 compositors and the gl and pixman renderers
      to handle this.
      0b13506e
    • Alexander Larsson's avatar
      compositor-x11: Set original mode after current · 83368817
      Alexander Larsson authored
      Otherwise we're pointing the original mode on some uninitialized
      value.
      83368817
    • Alexander Larsson's avatar
      fullscreen: Add fullscreen testing client · 73469ed7
      Alexander Larsson authored
      This lets you try fullscreen in different methods, sizes, scales,
      translations, etc. You can verify both output and input (via mouse over
      of the rectangles).
      73469ed7
    • Alexander Larsson's avatar
      input: Fix possible crash in clip_pointer_motion · bcd18d9b
      Alexander Larsson authored
      It was erronously using output->current->height in one
      place where it should use output->height. This may cause
      it to create an invalid clipped coordinate in case of output
      scaling or transform, because the next round "prev" would
      end up NULL.
      bcd18d9b