Skip to content

Commit

Permalink
fix edge case leading to a blank bar after leaving fullscreen (#285)
Browse files Browse the repository at this point in the history
  • Loading branch information
FelixKratz committed Nov 13, 2022
1 parent 907001f commit 670c29e
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
1 change: 1 addition & 0 deletions src/bar.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ static void bar_calculate_popup_anchor_for_bar_item(struct bar* bar, struct bar_
}

void bar_order_item_windows(struct bar* bar) {
if (bar->sid < 1 || bar->adid < 1 || !bar->shown) return;
window_set_level(&bar->window, g_bar_manager.window_level);
window_order(&bar->window, NULL, W_ABOVE);

Expand Down
9 changes: 8 additions & 1 deletion src/bar_manager.c
Original file line number Diff line number Diff line change
Expand Up @@ -777,10 +777,17 @@ void bar_manager_handle_space_change(struct bar_manager* bar_manager, bool force
uint32_t cursor = 2;
char separator[] = ",";
bar_manager_freeze(bar_manager);
bool force_refresh = false;
for (int i = 0; i < bar_manager->bar_count; i++) {
uint64_t dsid = display_space_id(bar_manager->bars[i]->did);
bar_manager->bars[i]->sid = mission_control_index(dsid);

bool was_shown = bar_manager->bars[i]->shown;
bar_manager->bars[i]->shown = SLSSpaceGetType(g_connection, dsid) != 4;

bar_manager->needs_ordering |= !was_shown && bar_manager->bars[i]->shown;
force_refresh |= !was_shown && bar_manager->bars[i]->shown;

if (bar_manager->bars[i]->dsid != dsid) {
bar_manager->bars[i]->dsid = dsid;
if (!bar_manager->sticky && bar_manager->bars[i]->shown)
Expand Down Expand Up @@ -808,7 +815,7 @@ void bar_manager_handle_space_change(struct bar_manager* bar_manager, bool force


bar_manager->frozen = false;
bar_manager_refresh(bar_manager, false);
bar_manager_refresh(bar_manager, force_refresh);
bar_manager_unfreeze(bar_manager);
env_vars_destroy(&env_vars);
}
Expand Down

0 comments on commit 670c29e

Please sign in to comment.