Skip to content

Commit f02e243

Browse files
committed
Show Wingpanel in fullscreen
1 parent c839164 commit f02e243

File tree

2 files changed

+12
-27
lines changed

2 files changed

+12
-27
lines changed

src/ShellClients/HideTracker.vala

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ public class Gala.HideTracker : Object {
2525
private bool overlap = false;
2626
private bool focus_overlap = false;
2727
private bool focus_maximized_overlap = false;
28+
private bool fullscreen_overlap = false;
2829

2930
private Meta.Window current_focus_window;
3031

@@ -137,6 +138,7 @@ public class Gala.HideTracker : Object {
137138
overlap = false;
138139
focus_overlap = false;
139140
focus_maximized_overlap = false;
141+
fullscreen_overlap = display.get_monitor_in_fullscreen (panel.window.get_monitor ());
140142

141143
foreach (var window in display.get_workspace_manager ().get_active_workspace ().list_windows ()) {
142144
if (window == panel.window) {
@@ -187,8 +189,8 @@ public class Gala.HideTracker : Object {
187189
toggle_display (true);
188190
break;
189191

190-
default:
191-
warning ("HideTracker: unsupported hide mode.");
192+
case NEVER:
193+
toggle_display (fullscreen_overlap);
192194
break;
193195
}
194196
}

src/ShellClients/PanelWindow.vala

Lines changed: 8 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -15,28 +15,21 @@ public class Gala.PanelWindow : ShellWindow, RootTarget {
1515

1616
public Pantheon.Desktop.HideMode hide_mode {
1717
get {
18-
return hide_tracker == null ? Pantheon.Desktop.HideMode.NEVER : hide_tracker.hide_mode;
18+
return hide_tracker.hide_mode;
1919
}
2020
set {
21+
hide_tracker.hide_mode = value;
22+
2123
if (value == NEVER) {
22-
hide_tracker = null;
23-
show ();
2424
make_exclusive ();
25-
return;
26-
} else if (hide_tracker == null) {
25+
} else {
2726
unmake_exclusive ();
28-
29-
hide_tracker = new HideTracker (wm.get_display (), this);
30-
hide_tracker.hide.connect (hide);
31-
hide_tracker.show.connect (show);
3227
}
33-
34-
hide_tracker.hide_mode = value;
3528
}
3629
}
3730

3831
private GestureController gesture_controller;
39-
private HideTracker? hide_tracker;
32+
private HideTracker hide_tracker;
4033

4134
private int width = -1;
4235
private int height = -1;
@@ -64,15 +57,9 @@ public class Gala.PanelWindow : ShellWindow, RootTarget {
6457
gesture_controller = new GestureController (DOCK, wm);
6558
add_gesture_controller (gesture_controller);
6659

67-
window.display.in_fullscreen_changed.connect (() => {
68-
if (wm.get_display ().get_monitor_in_fullscreen (window.get_monitor ())) {
69-
hide ();
70-
} else if (hide_mode == NEVER) {
71-
show ();
72-
} else {
73-
hide_tracker.update_overlap ();
74-
}
75-
});
60+
hide_tracker = new HideTracker (wm.get_display (), this);
61+
hide_tracker.hide.connect (hide);
62+
hide_tracker.show.connect (show);
7663
}
7764

7865
public Mtk.Rectangle get_custom_window_rect () {
@@ -106,10 +93,6 @@ public class Gala.PanelWindow : ShellWindow, RootTarget {
10693
}
10794

10895
private void show () {
109-
if (window.display.get_monitor_in_fullscreen (window.get_monitor ())) {
110-
return;
111-
}
112-
11396
gesture_controller.goto (0);
11497
}
11598

0 commit comments

Comments
 (0)