This commit is contained in:
Mathias Gumz 2015-02-01 08:07:26 +01:00
parent 017de68d5e
commit e1359adfd0
5 changed files with 25 additions and 24 deletions

2
NEWS
View file

@ -10,7 +10,7 @@ Minor Bugfixes:
* working autorepeat keys
* working vertical rotated Tabs and Toolbar
Featuere:
Features:
* The improved TypeAhead sytem is not limited to matches on beginning
of menu items anymore, it matches everywhere.
* Minor tweaks to the i18n system

View file

@ -26,17 +26,11 @@
#include "WinButton.hh"
#include "fluxbox.hh"
#include "Layer.hh"
#include <stdio.h>
#include <string>
#include <vector>
#ifdef HAVE_CSTRING
#include <cstring>
#else
#include <string.h>
#endif
using std::string;
using std::vector;

View file

@ -1290,9 +1290,11 @@ void BScreen::rereadMenu() {
}
const std::string BScreen::windowMenuFilename() const {
if ((*resource.windowmenufile).empty())
return Fluxbox::instance()->getDefaultDataFilename("windowmenu");
return *resource.windowmenufile;
std::string name = *resource.windowmenufile;
if (name.empty()) {
name = Fluxbox::instance()->getDefaultDataFilename("windowmenu");
}
return name;
}
void BScreen::rereadWindowMenu() {

View file

@ -299,7 +299,7 @@ FluxboxWindow::FluxboxWindow(WinClient &client):
// add the window to the focus list
// always add to front on startup to keep the focus order the same
if (m_focused || Fluxbox::instance()->isStartup())
if (isFocused() || Fluxbox::instance()->isStartup())
screen().focusControl().addFocusWinFront(*this);
else
screen().focusControl().addFocusWinBack(*this);
@ -599,8 +599,8 @@ void FluxboxWindow::attachClient(WinClient &client, int x, int y) {
delete old_win;
} else { // client.fbwindow() == 0
associateClient(client);
associateClient(client);
moveResizeClient(client);
// right now, this block only happens with new windows or on restart
@ -2390,10 +2390,13 @@ void FluxboxWindow::motionNotifyEvent(XMotionEvent &me) {
// undraw rectangle before warping workspaces
if (!screen().doOpaqueMove()) {
int bw = static_cast<int>(frame().window().borderWidth());
int w = static_cast<int>(frame().width()) + 2*bw -1;
int h = static_cast<int>(frame().height()) + 2*bw - 1;
if (w > 0 && h > 0) {
parent().drawRectangle(screen().rootTheme()->opGC(),
m_last_move_x, m_last_move_y,
frame().width() + 2*frame().window().borderWidth()-1,
frame().height() + 2*frame().window().borderWidth()-1);
m_last_move_x, m_last_move_y, w, h);
}
}
if (moved_x && screen().isWorkspaceWarping()) {
@ -2444,10 +2447,12 @@ void FluxboxWindow::motionNotifyEvent(XMotionEvent &me) {
// do not update display if another motion event is already pending
if (!screen().doOpaqueMove()) {
parent().drawRectangle(screen().rootTheme()->opGC(),
dx, dy,
frame().width() + 2*frame().window().borderWidth()-1,
frame().height() + 2*frame().window().borderWidth()-1);
int bw = frame().window().borderWidth();
int w = static_cast<int>(frame().width()) + 2*bw - 1;
int h = static_cast<int>(frame().height()) + 2*bw - 1;
if (w > 0 && h > 0) {
parent().drawRectangle(screen().rootTheme()->opGC(), dx, dy, w, h);
}
m_last_move_x = dx;
m_last_move_y = dy;
} else {