CVSROOT:        /cvs/gnome
Module name:    metacity
Changes by:     newren  05/11/09 20:20:23

Modified files:
        .              : Tag: constraints_experiments ChangeLog 
                         constraints-ideas.txt 
        src            : Tag: constraints_experiments constraints.c 
                         display.c display.h window.c 

Log message:
2005-11-09  Elijah Newren  <[EMAIL PROTECTED]>

Get timeouts for screen/xinerama edge resistance working.

* src/constraints-ideas.txt: Update slightly

* src/constraint.c (constrain_fully_onscreen): don't apply this
constraint for user resizes as edge resistance does that well
enough

* src/display.h (meta_display_apply_edge_resistance): needs to
take a couple extra arguments to get the job done

* src/display.c:

(struct EdgeResistanceTimeoutData):
new struct

(struct MetaEdgeResistanceData):
add an EdgeResistanceTimeoutData for each side

(movement_towards_edge):
new function to determine if the user is moving a window towards a
certain side or away (so that, e.g. timeouts are only added when
trying to move offscreen instead of moving back onscreen)

(edge_resistance_timeout):
helper function called when a edge resistance timer goes off,
which calls the real timeout function as well as handles some
extra basic janitorial stuff with edge timeout data

(apply_edge_resistance):
add handling for timeouts, lower the edge resistance threshold for
normal window edge resistance

(meta_display_apply_edge_resistance):
take extra arguments and pass them on to functions so they can do
the timeout stuff

(cleanup_edges):
cleanup the timeouts too

(compute_resistance_and_snapping_edges):
initialize the timeouts to not-setup-state too

* src/window.c:

(update_move_timeout):
new function

(update_move, update_resize):
pass the extra arguments that meta_display_apply_edge_resistance()
now needs

URL : 
http://cvs.gnome.org/bonsai/cvsquery.cgi?branch=&dir=metacity&who=newren&date=explicit&mindate=2005-11-09%2020:19&maxdate=2005-11-09%2020:21

_______________________________________________
cvs-commits-list mailing list
cvs-commits-list@gnome.org
http://mail.gnome.org/mailman/listinfo/cvs-commits-list

Reply via email to