an empty slit without autoHide but with clients in the slitlist file still created a strut
This commit is contained in:
parent
2f130ce836
commit
9212e1d7c8
3 changed files with 10 additions and 8 deletions
|
@ -1,6 +1,8 @@
|
|||
(Format: Year/Month/Day)
|
||||
Changes for 1.0rc3:
|
||||
*07/02/17:
|
||||
* Slit was creating a strut even when it wasn't visible (Mark)
|
||||
Slit.cc/hh
|
||||
* Update workspace names on reconfigure, and don't overwrite workspace names
|
||||
not being used (Mark)
|
||||
fluxbox.cc Screen.cc
|
||||
|
|
|
@ -259,7 +259,7 @@ unsigned int Slit::s_eventmask = SubstructureRedirectMask | ButtonPressMask |
|
|||
EnterWindowMask | LeaveWindowMask | ExposureMask;
|
||||
|
||||
Slit::Slit(BScreen &scr, FbTk::XLayer &layer, const char *filename)
|
||||
: m_hidden(false),
|
||||
: m_hidden(false), m_visible(false),
|
||||
m_screen(scr),
|
||||
m_clientlist_menu(scr.menuTheme(),
|
||||
scr.imageControl(),
|
||||
|
@ -369,8 +369,7 @@ void Slit::updateStrut() {
|
|||
clearStrut();
|
||||
// no need for area if we're autohiding or set maximize over
|
||||
// or if we dont have any clients
|
||||
if (doAutoHide() || *m_rc_maximize_over ||
|
||||
clients().empty()) {
|
||||
if (doAutoHide() || *m_rc_maximize_over || !m_visible) {
|
||||
// update screen area if we had a strut before
|
||||
if (had_strut)
|
||||
screen().updateAvailableWorkspaceArea();
|
||||
|
@ -720,9 +719,9 @@ void Slit::reconfigure() {
|
|||
|
||||
// did we actually use slit slots
|
||||
if (num_windows == 0)
|
||||
frame.window.hide();
|
||||
hide();
|
||||
else
|
||||
frame.window.show();
|
||||
show();
|
||||
|
||||
int x = 0, y = 0;
|
||||
height_inc = false;
|
||||
|
|
|
@ -68,8 +68,8 @@ public:
|
|||
Slit(BScreen &screen, FbTk::XLayer &layer, const char *filename = 0);
|
||||
virtual ~Slit();
|
||||
|
||||
void show() { frame.window.show(); }
|
||||
void hide() { frame.window.hide(); }
|
||||
void show() { frame.window.show(); m_visible = true; }
|
||||
void hide() { frame.window.hide(); m_visible = false; }
|
||||
void setDirection(Direction dir);
|
||||
void setPlacement(Placement place);
|
||||
void addClient(Window clientwin);
|
||||
|
@ -139,7 +139,8 @@ private:
|
|||
void clearStrut();
|
||||
void updateStrut();
|
||||
|
||||
bool m_hidden;
|
||||
// m_hidden is for autohide, m_visible is the FbWindow state
|
||||
bool m_hidden, m_visible;
|
||||
|
||||
BScreen &m_screen;
|
||||
FbTk::Timer m_timer;
|
||||
|
|
Loading…
Reference in a new issue