summarylogtreecommitdiffstats
path: root/autohide-evbox.patch
diff options
context:
space:
mode:
Diffstat (limited to 'autohide-evbox.patch')
-rw-r--r--autohide-evbox.patch156
1 files changed, 0 insertions, 156 deletions
diff --git a/autohide-evbox.patch b/autohide-evbox.patch
deleted file mode 100644
index e5a8cee933c4..000000000000
--- a/autohide-evbox.patch
+++ /dev/null
@@ -1,156 +0,0 @@
---- src/wingpanel/schemas/org.pantheon.desktop.wingpanel.gschema.xml 2017-12-26 14:53:03.354809958 +0900
-+++ src/wingpanel/schemas/org.pantheon.desktop.wingpanel.gschema.xml.new 2018-01-21 23:41:18.703206040 +0900
-@@ -6,5 +6,10 @@
- <summary>Sets if the panel uses transparency.</summary>
- <description>Disable this to provide higher contrasts and make indicators better readable.</description>
- </key>
-+ <key type="b" name="autohide">
-+ <default>false</default>
-+ <summary>Sets if the panel will autohide.</summary>
-+ <description>Enable this to increase available desktop area and reduce clutter.</description>
-+ </key>
- </schema>
- </schemalist>
---- src/wingpanel/src/Services/Settings.vala 2017-12-26 14:53:03.354809958 +0900
-+++ src/wingpanel/src/Services/Settings.vala.new 2018-01-21 23:46:25.919860486 +0900
-@@ -23,6 +23,8 @@
-
- public bool use_transparency { get; set; }
-
-+ public bool autohide { get; set; }
-+
- public PanelSettings () {
- base ("org.pantheon.desktop.wingpanel");
- }
---- src/wingpanel/src/PanelWindow.vala 2017-06-01 02:18:32.090889031 +0900
-+++ src/wingpanel/src/PanelWindow.vala.patched 2017-06-01 02:11:40.814767918 +0900
-@@ -22,4 +22,9 @@
-
- private Widgets.Panel panel;
-+
-+ private Gtk.EventBox box;
-+
-+ uint timeout;
-+
- private int monitor_number;
- private int monitor_width;
-@@ -35,6 +35,7 @@
- private bool expanded = false;
- private int panel_displacement;
- private uint shrink_timeout = 0;
-+ private bool autohide = Services.PanelSettings.get_default ().autohide;
-
- public PanelWindow (Gtk.Application application) {
- Object (
-@@ -61,6 +61,9 @@
- update_visual ();
-
- popover_manager = new Services.PopoverManager (this);
-+
-+ box = new Gtk.EventBox();
-+ box.add_events (Gdk.EventMask.ENTER_NOTIFY_MASK | Gdk.EventMask.LEAVE_NOTIFY_MASK);
-
- panel = new Widgets.Panel (popover_manager);
- panel.realize.connect (on_realize);
-@@ -80,17 +83,40 @@
- application.add_accelerator ("<Control>Tab", "app.cycle", null);
- application.add_accelerator ("<Control><Shift>Tab", "app.cycle-back", null);
-
-- add (panel);
-+ box.add(panel);
-+ if (autohide == true) {
-+ box.enter_notify_event.connect (reactivate);
-+ box.leave_notify_event.connect (on_idle);
-+ }
-+
-+ add (box);
- }
-
- private bool animation_step () {
- if (panel_displacement <= panel_height * (-1)) {
-+ timeout = 0;
- return false;
- }
-
- panel_displacement--;
-
-+ if (autohide == false) {
-- update_panel_dimensions ();
-+ update_panel_dimensions ();
-+ }
-+ animate_panel ();
-+
-+ return true;
-+ }
-+
-+ private bool animation_unstep () {
-+ if (panel_displacement >= -1 || popover_manager.current_indicator != null) {
-+ timeout = 0;
-+ return false;
-+ }
-+
-+ panel_displacement++;
-+
-+ animate_panel ();
-
- return true;
- }
-@@ -85,7 +110,32 @@
-
- Services.BackgroundManager.get_default ().initialize (this.monitor_number, panel_height);
-
-- Timeout.add (300 / panel_height, animation_step);
-+ if (autohide == false) {
-+ timeout = Timeout.add (300 / panel_height, animation_step);
-+ } else {
-+ panel_displacement--;
-+ animate_panel ();
-+ }
-+ }
-+
-+ private bool on_idle () {
-+ if (timeout > 0) {
-+ Source.remove (timeout);
-+ }
-+
-+ timeout = Timeout.add (100 / panel_height, animation_unstep);
-+
-+ return true;
-+ }
-+
-+ private bool reactivate () {
-+ if (timeout > 0) {
-+ Source.remove (timeout);
-+ }
-+
-+ timeout = Timeout.add (100 / panel_height, animation_step);
-+
-+ return true;
- }
-
- private void update_panel_dimensions () {
-@@ -108,6 +153,24 @@
- update_struts ();
- }
-
-+ private void animate_panel () {
-+ panel_height = panel.get_allocated_height ();
-+
-+ monitor_number = screen.get_primary_monitor ();
-+ Gdk.Rectangle monitor_dimensions;
-+ this.screen.get_monitor_geometry (monitor_number, out monitor_dimensions);
-+
-+ monitor_width = monitor_dimensions.width;
-+ monitor_height = monitor_dimensions.height;
-+
-+ this.set_size_request (monitor_width, (popover_manager.current_indicator != null ? monitor_height : -1));
-+
-+ monitor_x = monitor_dimensions.x;
-+ monitor_y = monitor_dimensions.y;
-+
-+ this.move (monitor_x, monitor_y - (panel_height + panel_displacement));
-+ }
-+
- private void update_visual () {
- var visual = this.screen.get_rgba_visual ();
-