Skip to content
Snippets Groups Projects
  1. Feb 27, 2017
    • Simon Steinbeiss's avatar
      7fa3829e
    • Jannis Pohlmann's avatar
      Automatically migrate old "autohide" properties to "autohide-behavior" · 978048d7
      Jannis Pohlmann authored
      We could write a migration script for it to avoid additional code being
      added to the panel itself but the solution presented here is simple and
      works: when a panel is created (e.g. during startup), we check whether
      there is an old "autohide" property in the Xfconf channel. If the new
      "autohide-behavior" property is not yet set, we translate "autohide"
      FALSE and TRUE into "autohide-behavior" NEVER and ALWAYS, respectively.
      We then reset the "autohide" property and thereby achieve an automatic,
      transparent migration from old to new.
      
      Rebased for the Gtk3 port by Simon Steinbeiss <simon@xfce.org>
      978048d7
    • Jannis Pohlmann's avatar
      Implement intelligent autohide behavior · dbeb8bcf
      Jannis Pohlmann authored
      This implementation of intelligent autohiding works as follows:
      
      The current WnckScreen is monitored. Whenever the active window changes
      or whenever the geometry of an already active window changes, the
      algorithm checks whether the active window and the panel overlap. If
      this is the case, the panel is hidden. Otherwise, it is made or remains
      visible.
      
      Desktop windows are treated special. Even though they overlap
      with panels technically, we don't consider this relevant and always make
      the panel visible when a desktop window becomes active.
      
      Internally, there are three autohide behaviors now: never (disables
      autohiding altogether), intelligent (implements the above method) and
      always (the old "hide when not focused/grabbed by mouse or keyboard).
      
      Rebased for the Gtk3 port by Simon Steinbeiss <simon@xfce.org>
      dbeb8bcf
  2. Nov 03, 2016
  3. Oct 31, 2016
  4. Oct 30, 2016
  5. Oct 29, 2016
  6. Oct 28, 2016
    • Andrzej's avatar
      Fixes to the panel sizing. · ea02b707
      Andrzej authored
      Issue exposed by the pager plugin, which somehow forces
      use of width_for_height and height_for_width functions.
      ea02b707
  7. Oct 27, 2016
  8. Oct 26, 2016
  9. Oct 25, 2016
  10. Oct 24, 2016
  11. Sep 27, 2015
  12. Feb 28, 2015
    • John Lindgren's avatar
      Use actual output geometry to place panels · e93f54f1
      John Lindgren authored and Olivier Fourdan's avatar Olivier Fourdan committed
      Bug: 11058
      
      The logical screen width/height as reported by X may be larger than
      the outer bounds of all the monitors combined.
      
      Compute the actual outer bounds of the monitors and place the panel
      accordingly.
      
      But keep the struts based on the logical screen width/height as this is
      what the standard expects.
      e93f54f1
  13. Jan 08, 2015
  14. Dec 20, 2014
  15. Dec 19, 2014
  16. Dec 06, 2014
  17. Nov 27, 2014
  18. Nov 26, 2014
    • Andrzej's avatar
      Fixing problems with intelligent panel hiding, bug #11331 · 57502718
      Andrzej authored
      ochosi:
      "Just to document the findings I made during a quick debug session
      with the panel from git master (4.11.x). Intelligent hiding
      generally works, but the mouse-pointer behavior is buggy.
      Steps to reproduce the bug:
      1) set panel to intelligent hiding
      2) give a window focus that doesn't overlap with the panel
      3) hover the panel with the mouse
      4) upon leaving the panel hides again, even though there
         is no window overlapping
      
      What it should do instead: if intelligent hiding is in use
      it should check (possibly in panel_window_leave_notify_event
      or _enter_ in panel-window.c) whether there are windows
      overlapping with the panel and if not, the panel shouldn't
      hide on leave_notify."
      57502718
  19. Sep 04, 2014
    • Jannis Pohlmann's avatar
      Make "don't reserve space" sensitive only when autohiding is disabled · 5866e952
      Jannis Pohlmann authored
      This configuration option only makes sense when not hiding a panel
      automatically, so whenever one of the two autohide behaviors is enabled,
      the option is now greyed out in the UI.
      5866e952
    • Jannis Pohlmann's avatar
      Update preferences dialog for intelligent autohide · 3380b83f
      Jannis Pohlmann authored
      Instead of a single "Show/hide panel automatically" check box, we now
      use a "Automatically hide the panel" combo box with the options "Never",
      "Intelligently" and "Always".
      3380b83f
    • Jannis Pohlmann's avatar
      Automatically migrate old "autohide" properties to "autohide-behavior" · c75751bd
      Jannis Pohlmann authored
      We could write a migration script for it to avoid additional code being
      added to the panel itself but the solution presented here is simple and
      works: when a panel is created (e.g. during startup), we check whether
      there is an old "autohide" property in the Xfconf channel. If the new
      "autohide-behavior" property is not yet set, we translate "autohide"
      FALSE and TRUE into "autohide-behavior" NEVER and ALWAYS, respectively.
      We then reset the "autohide" property and thereby achieve an automatic,
      transparent migration from old to new.
      c75751bd
    • Jannis Pohlmann's avatar
      Implement intelligent autohide behavior · 00c00c1f
      Jannis Pohlmann authored
      This implementation of intelligent autohiding works as follows:
      
      The current WnckScreen is monitored. Whenever the active window changes
      or whenever the geometry of an already active window changes, the
      algorithm checks whether the active window and the panel overlap. If
      this is the case, the panel is hidden. Otherwise, it is made or remains
      visible.
      
      Desktop windows are treated special. Even though they overlap
      with panels technically, we don't consider this relevant and always make
      the panel visible when a desktop window becomes active.
      
      Internally, there are three autohide behaviors now: never (disables
      autohiding altogether), intelligent (implements the above method) and
      always (the old "hide when not focused/grabbed by mouse or keyboard).
      00c00c1f
    • Jannis Pohlmann's avatar
      Make panel application depend on libwnck · 38cc02e4
      Jannis Pohlmann authored
      This will be needed for intelligent autohiding, which is implemented by
      monitoring the current WnckScreen for active window changes and hiding
      the panel whenever the active window geometry overlaps with the panel.
      38cc02e4
    • Jannis Pohlmann's avatar
      Fix typo in a debug message · b00a4515
      Jannis Pohlmann authored
      b00a4515
Loading