diff -Nur gnome-applets-2.26.0/stickynotes/stickynotes_applet.c gnome-applets-2.26.0.new/stickynotes/stickynotes_applet.c --- gnome-applets-2.26.0/stickynotes/stickynotes_applet.c 2009-04-28 22:16:48.063842608 +0200 +++ gnome-applets-2.26.0.new/stickynotes/stickynotes_applet.c 2009-04-28 22:24:02.992841097 +0200 @@ -163,6 +163,9 @@ gconf_client_notify_add (stickynotes->gconf, GCONF_PATH "/settings", (GConfClientNotifyFunc) preferences_apply_cb, NULL, NULL, NULL); + + /* Screen height for large notes*/ + stickynotes->screen_height = gdk_screen_get_height( gdk_screen_get_default() ); /* Load sticky notes */ stickynotes_load (gtk_widget_get_screen (GTK_WIDGET (panel_applet))); diff -Nur gnome-applets-2.26.0/stickynotes/stickynotes_applet.h gnome-applets-2.26.0.new/stickynotes/stickynotes_applet.h --- gnome-applets-2.26.0/stickynotes/stickynotes_applet.h 2009-04-28 22:16:19.292839923 +0200 +++ gnome-applets-2.26.0.new/stickynotes/stickynotes_applet.h 2009-04-28 22:21:02.303840205 +0200 @@ -62,6 +62,7 @@ GConfClient *gconf; /* GConf Client */ + gint screen_height; guint last_timeout_data; gboolean visible; /* Toggle show/hide notes */ diff -Nur gnome-applets-2.26.0/stickynotes/stickynotes.c gnome-applets-2.26.0.new/stickynotes/stickynotes.c --- gnome-applets-2.26.0/stickynotes/stickynotes.c 2009-01-25 22:54:00.000000000 +0100 +++ gnome-applets-2.26.0.new/stickynotes/stickynotes.c 2009-04-28 22:26:06.703836967 +0200 @@ -73,8 +73,12 @@ /* Called when a text buffer is changed. */ static void -buffer_changed (GtkTextBuffer *buffer, gpointer data) +buffer_changed (GtkTextBuffer *buffer, StickyNote *note) { + if ( (note->h + note->y) > stickynotes->screen_height ) + gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW(note->w_scroller), + GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + /* When a buffer is changed, we set a 10 second timer. When the timer triggers, we will save the buffer if there have been no subsequent changes. */ @@ -106,6 +110,7 @@ note->w_title = GTK_WIDGET (gtk_builder_get_object (builder, "title_label")); note->w_body = GTK_WIDGET (gtk_builder_get_object (builder, "body_text")); + note->w_scroller = GTK_WIDGET (gtk_builder_get_object (builder, "body_scroller")); note->w_lock = GTK_WIDGET (gtk_builder_get_object (builder, "lock_button")); gtk_widget_add_events (note->w_lock, GDK_BUTTON_PRESS_MASK); @@ -284,7 +289,7 @@ g_signal_connect (gtk_text_view_get_buffer(GTK_TEXT_VIEW(note->w_body)), "changed", - G_CALLBACK (buffer_changed), NULL); + G_CALLBACK (buffer_changed), note); return note; } diff -Nur gnome-applets-2.26.0/stickynotes/stickynotes.h gnome-applets-2.26.0.new/stickynotes/stickynotes.h --- gnome-applets-2.26.0/stickynotes/stickynotes.h 2009-01-07 06:22:38.000000000 +0100 +++ gnome-applets-2.26.0.new/stickynotes/stickynotes.h 2009-04-28 21:45:03.908838217 +0200 @@ -42,6 +42,7 @@ GtkWidget *w_title; /* Sticky Note title */ GtkWidget *w_body; /* Sticky Note text body */ + GtkWidget *w_scroller; /* Sticky Note scroller */ GtkWidget *w_lock; /* Sticky Note lock button */ GtkWidget *w_close; /* Sticky Note close button */ GtkWidget *w_resize_se; /* Sticky Note resize button (south east) */ diff -Nur gnome-applets-2.26.0/stickynotes/stickynotes.ui gnome-applets-2.26.0.new/stickynotes/stickynotes.ui --- gnome-applets-2.26.0/stickynotes/stickynotes.ui 2009-04-28 20:52:56.063837583 +0200 +++ gnome-applets-2.26.0.new/stickynotes/stickynotes.ui 2009-04-28 21:11:27.460842335 +0200 @@ -733,13 +733,20 @@ - + True True - True - word - 4 - 4 + never + never + + + True + True + word + 4 + 4 + + 1