add rc option for workspaceWarping

This commit is contained in:
Dana Jansens 2002-07-23 04:22:42 +00:00
parent a41a0c1ac8
commit be306f6b60
3 changed files with 66 additions and 48 deletions

View file

@ -537,6 +537,13 @@ void BScreen::saveAllowScrollLock(bool a) {
}
void BScreen::saveWorkspaceWarping(bool w) {
resource.workspace_warping = w;
config->setValue(screenstr + "workspaceWarping",
resource.workspace_warping);
}
void BScreen::save_rc(void) {
saveSloppyFocus(resource.sloppy_focus);
saveAutoRaise(resource.auto_raise);
@ -564,6 +571,7 @@ void BScreen::save_rc(void) {
savePlaceIgnoreShaded(resource.ignore_shaded);
savePlaceIgnoreMaximized(resource.ignore_maximized);
saveAllowScrollLock(resource.allow_scroll_lock);
saveWorkspaceWarping(resource.workspace_warping);
toolbar->save_rc();
slit->save_rc();
@ -702,6 +710,10 @@ void BScreen::load_rc(void) {
if (! config->getValue(screenstr + "disableBindingsWithScrollLock",
resource.allow_scroll_lock))
resource.allow_scroll_lock = false;
if (! config->getValue(screenstr + "workspaceWarping",
resource.workspace_warping))
resource.workspace_warping = false;
}

View file

@ -148,7 +148,8 @@ private:
bool sloppy_focus, auto_raise, auto_edge_balance, ordered_dither,
opaque_move, full_max, focus_new, focus_last, click_raise,
allow_scroll_lock, hide_toolbar, window_to_window_snap,
window_corner_snap, aa_fonts, ignore_shaded, ignore_maximized;
window_corner_snap, aa_fonts, ignore_shaded, ignore_maximized,
workspace_warping;
BColor border_color;
unsigned int workspaces;
@ -218,6 +219,8 @@ public:
inline bool getWindowCornerSnap(void) const
{ return resource.window_corner_snap; }
inline bool allowScrollLock(void) const { return resource.allow_scroll_lock; }
inline bool doWorkspaceWarping(void) const
{ return resource.workspace_warping; }
inline const GC &getOpGC(void) const { return opGC; }
@ -290,6 +293,7 @@ public:
void savePlaceIgnoreShaded(bool i);
void savePlaceIgnoreMaximized(bool i);
void saveAllowScrollLock(bool a);
void saveWorkspaceWarping(bool w);
inline void iconUpdate(void) { iconmenu->update(); }
#ifdef HAVE_STRFTIME

View file

@ -2962,6 +2962,7 @@ void BlackboxWindow::doMove(int x_root, int y_root) {
dx -= frame.border_w;
dy -= frame.border_w;
if (screen->doWorkspaceWarping()) {
// workspace warping
bool warp = False;
unsigned int dest = screen->getCurrentWorkspaceID();
@ -3012,6 +3013,7 @@ void BlackboxWindow::doMove(int x_root, int y_root) {
beginMove(dest_x, y_root);
return;
}
}
const int snap_distance = screen->getEdgeSnapThreshold();