Hello,

I'm trying to solve this problem.
The first attempt is this little patch.
So, it adds scrolling the mouse wheel (maybe page up/down would be
better ?).

It only works in "entrance -T" test mode (with Nebulous, darkrock and
taillights themes, not default one...), if over the list, but not over
an icon...

In daemon mode the wheel mouse moves the WMs list window ?!

Apart from these issues, what do you think about the patch ?
Any other idea to solve the scrolling problem ?

Regards,

Guillaume B.
--- src/client/main.c.orig	2005-07-09 13:20:11.000000000 +0200
+++ src/client/main.c	2005-07-09 13:25:36.000000000 +0200
@@ -501,7 +501,34 @@
       }
    }
 }
+static void
+_container_mouse_scroll(void *data, Evas_Object * o, const char *emission,
+                  const char *source)
+{
+   int dx, dy;
+   Evas_Object *container = NULL;
+   sscanf(emission,"mouse,wheel,%i,%i", &dx, &dy);
+
+   if ((container = data))
+   {
+      double container_length = 0.0;
 
+      container_length = esmart_container_elements_length_get(container);
+
+      switch (esmart_container_direction_get(container))
+      {
+        case CONTAINER_DIRECTION_HORIZONTAL:
+	   esmart_container_scroll(container, - (dx * 40 ));
+           break;
+        case CONTAINER_DIRECTION_VERTICAL:
+	   esmart_container_scroll(container, - (dy * 40 ));
+           break;
+        default:
+           fprintf(stderr, "Unknown Container Orientation\n");
+           break;
+      }
+   }
+}
 /**
  * print the "Help" associated with the app, shows cli args etc
  * @param argv the argv that was passed from the application
@@ -918,6 +945,10 @@
                                          "entrance.xsessions.list.scroller",
                                          _container_scroll,
                                          session->session_container);
+         edje_object_signal_callback_add(edje, "mouse,wheel,*",
+                                         "entrance.xsessions.list",
+                                         _container_mouse_scroll,
+                                         session->session_container);
       }
       /* See if we have an EntranceUserList part, tell the session to load
          the user list if it exists. */
@@ -935,6 +966,10 @@
                                          "entrance.users.list.scroller",
                                          _container_scroll,
                                          session->user_container);
+         edje_object_signal_callback_add(edje, "mouse,wheel,*",
+                                         "entrance.users.list",
+                                         _container_mouse_scroll,
+                                         session->user_container);
       }
 
       /**

Reply via email to