gnome-panel r10497 - trunk/gnome-panel
- From: vuntz svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-panel r10497 - trunk/gnome-panel
- Date: Fri, 29 Jun 2007 09:52:15 +0100 (BST)
Author: vuntz
Date: 2007-06-29 09:52:15 +0100 (Fri, 29 Jun 2007)
New Revision: 10497
ViewCVS link: http://svn.gnome.org/viewcvs/gnome-panel?rev=10497&view=rev
Modified:
trunk/gnome-panel/ChangeLog
trunk/gnome-panel/panel-default-setup.entries
trunk/gnome-panel/panel-profile.c
trunk/gnome-panel/panel-toplevel.c
trunk/gnome-panel/panel-toplevel.h
trunk/gnome-panel/panel-toplevel.schemas.in
Log:
2007-06-29 Vincent Untz <vuntz gnome org>
Add fields to PanelToplevel to have the possibility to use a position
relative from the right and/or bottom of the monitor. This is mainly
for non-expanded panels. This fixes the panel position:
- after a resolution change: if the panel was at the bottom or right
of the screen and the resolution goes down and up again, we no
longer have a panel that starts to be floating for no reason
- when the panel is at the right of the screen and its size grows
(because of a tasklist): it no longer becomes centered or snaps to
the left of the screen.
This change should still compatibility with older configuration: if
you log in with an older GNOME after having used 2.20, things should
still work as expected.
Fix bug #107622 (and maybe other bugs).
* panel-toplevel.schemas.in: add x_right, y_bottom keys for toplevels
* panel-default-setup.entries: add those keys in the default setup
* panel-profile.c: (panel_profile_queue_toplevel_location_change):
(panel_profile_connect_to_toplevel):
(panel_profile_toplevel_change_notify):
(panel_profile_load_toplevel):
(panel_profile_can_be_moved_freely): basically, a dumb update to
handle the new keys (I just searched for what was done for the x and y
keys and copied that)
* panel-toplevel.[ch]: add new fields and properties for x_right and
y_bottom
(panel_toplevel_begin_grab_op): updated
(panel_toplevel_cancel_grab_op): updated
(panel_toplevel_resize_to_pointer): update y_bottom and x_right when
this is necessary
(panel_toplevel_move_to): fix x (y) when x_centered (y_centered) is
true, and compute the new x_right/y_bottom values
(panel_toplevel_calc_floating): use position from x_right/y_bottom
when they're different from -1
(panel_toplevel_update_normal_position): don't set x/y after snapping:
this is just wrong, since setting x/y should only be done after a
direct change by the user (and not automatically). This function is
only used to update the x/y in the geometry, and not in the config.
Also, to determine if we need to snap, only use x/y (with right/bottom
variants) from the config, not the computed values imposed by
constraints. This part fix the case where a panel is right aligned,
but gets centered and then left aligned because its size grows
(panel_toplevel_update_auto_hide_position): same update
(panel_toplevel_update_expanded_position): compute x_right and
y_bottom too, and notify of their changes when needed
(panel_toplevel_update_position): handle x_right/y_bottom in the
temporary position_centered case, and core part of the change: use
x_right/y_bottom when they're not -1
(panel_toplevel_set_property): updated for new properties
(panel_toplevel_get_property): ditto
(panel_toplevel_class_init): ditto
(panel_toplevel_init): ditto
(panel_toplevel_set_expand): small update to put the right values for
x_right/y_bottom
(panel_toplevel_set_orientation): when rotating a centered panel, set
the relevant x_right/y_bottom value to -1 (since the rotated panel is
centered (but not "force-centered"), its position is relative to the
left/top
(panel_toplevel_set_x): add x_right handling
(panel_toplevel_set_y): add y_bottom handling
(panel_toplevel_get_position): add x_right/y_bottom handling
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]