Index: src/e_mod_main.c
===================================================================
--- src/e_mod_main.c	(Revision 37812)
+++ src/e_mod_main.c	(Arbeitskopie)
@@ -53,7 +53,10 @@
 static E_Action *act = NULL;
 E_Module *ss_mod = NULL;
 Config *ss_cfg = NULL;
+static int aspect_width = 1;
+static int aspect_height = 1;
 
+
 static const E_Gadcon_Client_Class _gc_class = 
 {
    GADCON_CLIENT_CLASS_VERSION, "screenshot", 
@@ -196,6 +199,9 @@
 				"modules/screenshot/main"))
      edje_object_file_set(inst->o_base, buf, "modules/screenshot/main");
 
+   // respect theme aspect, but ignore Evas_Aspect_Control
+   evas_object_size_hint_aspect_get(inst->o_base, NULL, &aspect_width, &aspect_height);
+
    inst->gcc = e_gadcon_client_new(gc, name, id, style, inst->o_base);
    inst->gcc->data = inst;
 
@@ -238,7 +244,7 @@
 static void 
 _gc_orient(E_Gadcon_Client *gcc, E_Gadcon_Orient orient) 
 {
-   e_gadcon_client_aspect_set(gcc, 16, 16);
+   e_gadcon_client_aspect_set(gcc, aspect_width, aspect_height);
    e_gadcon_client_min_size_set(gcc, 16, 16);
 }
 
@@ -683,6 +689,11 @@
    char buf[256];
 
    if (!(inst = data)) return 0;
+
+   // a count down timer should never be less zero, reset timer in that case
+   if ((ss_cfg->delay - inst->counter) < 0)
+      inst->counter = 0;
+
    snprintf(buf, sizeof(buf), "%2.0f", (ss_cfg->delay - inst->counter));
    edje_object_part_text_set(inst->o_base, "e.text.counter", buf);
    if ((ss_cfg->delay - inst->counter) == 0) 
