From b9e40b8b1e055baa6a806c56206eb0baccd7ce0a Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Fri, 2 Aug 2002 21:07:17 +0000 Subject: [PATCH] add the resource for the window snapping offset --- src/Screen.cc | 12 ++++++++++++ src/Screen.hh | 4 ++++ src/Window.cc | 2 +- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/Screen.cc b/src/Screen.cc index 8512b3dc..447a7adf 100644 --- a/src/Screen.cc +++ b/src/Screen.cc @@ -490,6 +490,13 @@ void BScreen::saveSnapThreshold(int t) { } +void BScreen::saveSnapOffset(int t) { + resource.snap_offset = t; + config->setValue(screenstr + "edgeSnapOffset", + resource.snap_offset); +} + + void BScreen::saveRowPlacementDirection(int d) { resource.row_direction = d; config->setValue(screenstr + "rowPlacementDirection", @@ -599,6 +606,7 @@ void BScreen::save_rc(void) { saveWorkspaces(resource.workspaces); savePlacementPolicy(resource.placement_policy); saveSnapThreshold(resource.snap_threshold); + saveSnapOffset(resource.snap_offset); saveResistanceSize(resource.resistance_size); saveRowPlacementDirection(resource.row_direction); saveColPlacementDirection(resource.col_direction); @@ -673,6 +681,10 @@ void BScreen::load_rc(void) { b = true; image_control->setDither(b); + if (! config->getValue(screenstr + "edgeSnapOffset", + resource.snap_offset)) + resource.snap_offset = 0; + if (! config->getValue(screenstr + "edgeSnapThreshold", resource.snap_threshold)) resource.snap_threshold = 4; diff --git a/src/Screen.hh b/src/Screen.hh index ca8194ce..71a012dd 100644 --- a/src/Screen.hh +++ b/src/Screen.hh @@ -151,6 +151,7 @@ private: ignore_shaded, ignore_maximized, workspace_warping; int snap_to_windows, snap_to_edges; + unsigned int snap_offset; BColor border_color; @@ -270,6 +271,8 @@ public: { return resource.workspaces; } inline int getPlacementPolicy(void) const { return resource.placement_policy; } + inline int getSnapOffset(void) const + { return resource.snap_offset; } inline int getSnapThreshold(void) const { return resource.snap_threshold; } inline int getResistanceSize(void) const @@ -290,6 +293,7 @@ public: void saveRowPlacementDirection(int d); void saveColPlacementDirection(int d); void saveSnapThreshold(int t); + void saveSnapOffset(int o); void saveResistanceSize(int s); void saveImageDither(bool d); void saveAAFonts(bool f); diff --git a/src/Window.cc b/src/Window.cc index 98ac82fa..dc09a658 100644 --- a/src/Window.cc +++ b/src/Window.cc @@ -3124,7 +3124,7 @@ void BlackboxWindow::doWindowSnapping(int &dx, int &dy) { const int snap_to_windows = screen->getWindowToWindowSnap(); const int snap_to_edges = screen->getWindowToEdgeSnap(); // the amount of space away from the edge to provide resistance/snap - const int snap_offset = 0; + const int snap_offset = screen->getSnapOffset(); // find the geomeetery where the moving window currently is const Rect &moving = screen->doOpaqueMove() ? frame.rect : frame.changing; -- 2.39.2