Skip to content

Commit

Permalink
#2217 fix compatibility with gtk2: we can't use the 'gravity' attribu…
Browse files Browse the repository at this point in the history
…te so rename it

git-svn-id: https://xpra.org/svn/Xpra/trunk@23396 3bb7dfac-3a0b-4e04-842a-767bc560f471
  • Loading branch information
totaam committed Aug 1, 2019
1 parent 0054bcc commit 6da24a1
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 26 deletions.
10 changes: 5 additions & 5 deletions src/xpra/client/client_window_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ def __init__(self, client, group_leader, watcher_pid, wid,
self._sticky = False
self._iconified = False
self._focused = False
self.gravity = OVERRIDE_GRAVITY or DEFAULT_GRAVITY
self.window_gravity = OVERRIDE_GRAVITY or DEFAULT_GRAVITY
self.border = border
self.cursor_data = None
self.default_cursor_data = default_cursor_data
Expand Down Expand Up @@ -106,7 +106,7 @@ def wn(w):
metadata[b"size-constraints"] = {}
#initialize gravity early:
sc = typedict(metadata.dictget("size-constraints", {}))
self.gravity = OVERRIDE_GRAVITY or sc.intget("gravity", DEFAULT_GRAVITY)
self.window_gravity = OVERRIDE_GRAVITY or sc.intget("gravity", DEFAULT_GRAVITY)


def get_desktop_workspace(self):
Expand All @@ -124,7 +124,7 @@ def new_backing(self, bw, bh):
self._backing = self.make_new_backing(backing_class, w, h, bw, bh)
self._backing.border = self.border
self._backing.default_cursor_data = self.default_cursor_data
self._backing.gravity = self.gravity
self._backing.gravity = self.window_gravity
return self._backing._backing


Expand Down Expand Up @@ -526,10 +526,10 @@ def closetoint(v):
geomlog.error(" from size constraints:")
for k,v in size_constraints.items():
geomlog.error(" %s=%s", k, v)
self.gravity = OVERRIDE_GRAVITY or size_constraints.intget("gravity", DEFAULT_GRAVITY)
self.window_gravity = OVERRIDE_GRAVITY or size_constraints.intget("gravity", DEFAULT_GRAVITY)
b = self._backing
if b:
b.gravity = self.gravity
b.gravity = self.window_gravity


def set_window_type(self, window_types):
Expand Down
42 changes: 22 additions & 20 deletions src/xpra/client/gl/gl_window_backing_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -393,35 +393,36 @@ def south_y():
if bh>=oldh:
return 0, bh-oldh
return oldh-bh, 0
if not self.gravity or self.gravity==NorthWestGravity:
g = self.gravity
if not g or g==NorthWestGravity:
#undefined (or 0), use NW
sx, dx = west_x()
sy, dy = north_y()
elif self.gravity==NorthGravity:
elif g==NorthGravity:
sx, dx = center_x()
sy, dy = north_y()
elif self.gravity==NorthEastGravity:
elif g==NorthEastGravity:
sx, dx = east_x()
sy, dy = north_y()
elif self.gravity==WestGravity:
elif g==WestGravity:
sx, dx = west_x()
sy, dy = center_y()
elif self.gravity==CenterGravity:
elif g==CenterGravity:
sx, dx = center_x()
sy, dy = center_y()
elif self.gravity==EastGravity:
elif g==EastGravity:
sx, dx = east_x()
sy, dy = center_y()
elif self.gravity==SouthWestGravity:
elif g==SouthWestGravity:
sx, dx = west_x()
sy, dy = south_y()
elif self.gravity==SouthGravity:
elif g==SouthGravity:
sx, dx = center_x()
sy, dy = south_y()
elif self.gravity==SouthEastGravity:
elif g==SouthEastGravity:
sx, dx = east_x()
sy, dy = south_y()
elif self.gravity==StaticGravity:
elif g==StaticGravity:
if first_time("StaticGravity-%i" % self.wid):
log.warn("Warning: static gravity is not handled")

Expand Down Expand Up @@ -1154,10 +1155,10 @@ def gravity_adjust(self, x, y, options):
window_size = tuple(window_size)
if window_size==self.size:
return x, y
if self.gravity==0 or self.gravity==NorthWestGravity:
if self.window_gravity==0 or self.window_gravity==NorthWestGravity:
return x, y
log("adjusting for %s gravity and window-size=%s, size=%s",
GRAVITY_STR.get(self.gravity, "unknown"), window_size, self.size)
GRAVITY_STR.get(self.window_gravity, "unknown"), window_size, self.size)
oldw, oldh = window_size
bw, bh = self.size
def center_y():
Expand All @@ -1180,21 +1181,22 @@ def south_y():
if bh>=oldh:
return y + (bh-oldh)
return y - (oldh-bh)
if self.gravity==NorthGravity:
g = self.window_gravity
if g==NorthGravity:
return center_x(), north_y()
if self.gravity==NorthEastGravity:
if g==NorthEastGravity:
return east_x(), north_y()
if self.gravity==WestGravity:
if g==WestGravity:
return west_x(), center_y()
if self.gravity==CenterGravity:
if g==CenterGravity:
return center_x(), center_y()
if self.gravity==EastGravity:
if g==EastGravity:
return east_x(), center_y()
if self.gravity==SouthWestGravity:
if g==SouthWestGravity:
return west_x(), south_y()
if self.gravity==SouthGravity:
if g==SouthGravity:
return center_x(), south_y()
if self.gravity==SouthEastGravity:
if g==SouthEastGravity:
return east_x(), south_y()
#if self.gravity==StaticGravity:
# pass
Expand Down
2 changes: 1 addition & 1 deletion src/xpra/client/window_backing_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ def __init__(self, wid, window_alpha):
self.size = 0, 0
self.render_size = 0, 0
self.offsets = 0, 0, 0, 0 #top,left,bottom,right
self.gravity = 0
self.window_gravity = 0
self._alpha_enabled = window_alpha
self._backing = None
self._delta_pixel_data = [None for _ in range(DELTA_BUCKETS)]
Expand Down

0 comments on commit 6da24a1

Please sign in to comment.