[EGIT] [exclaim] 01/01: Temp progress

2023-09-20 Thread Enlightenment Git

This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch master
in repository exclaim.


View the commit online.
commit 54e2d11dfb096d367356e19e6561174a9b913827
Author: Nekobit 
AuthorDate: Wed Sep 20 14:00:20 2023 -0400

Temp progress
---
 src/main.c   |  3 +++
 src/status.c | 21 -
 2 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/src/main.c b/src/main.c
index e0a21d1..46c3266 100644
--- a/src/main.c
+++ b/src/main.c
@@ -36,6 +36,9 @@ elm_main(int argc, char** argv)
 
 elm_box_pack_end(status_content, status);
 			}
+			Evas_Object* lol = E_SHOW(elm_label_add(status_content));
+			elm_object_text_set(lol, "sdfjkfhjkahgkljsghklfjghdsjkghsdf");
+			elm_box_pack_end(status_content, lol);
 		E_END(status_content);
 	E_END(status_scr);
 		
diff --git a/src/status.c b/src/status.c
index f0a0c19..a3167ff 100644
--- a/src/status.c
+++ b/src/status.c
@@ -7,11 +7,19 @@
 Evas_Object*
 exc_status_add(Evas_Object* parent, struct exc_status status)
 {
-	Evas_Object* st_frame = elm_frame_add(parent);
+	Evas_Object* root = elm_table_add(parent);
+	evas_object_size_hint_min_set(root, 300, 300);
+
+	Evas_Object* st_frame = E_SHOW(elm_frame_add(root));
 	E_BEGIN(st_frame);
+	elm_table_pack(root, st_frame, 0, 0, 1, 1);
 	evas_object_size_hint_padding_set(st_frame, 3, 3, 3, 3);
+	//evas_object_fullsize(st_frame);
+	evas_object_size_hint_weight_set(st_frame, 1, 0);
+	evas_object_size_hint_align_set (st_frame, -1, 0.0);
 	//evas_object_size_hint_min_set(st_frame, 300, 300);
 	
+
 	Evas_Object* st_box = E_SHOW(elm_box_add(st_frame));
 	E_BEGIN(st_box);
 		//evas_object_size_hint_min_set(st_box, 300, 300);
@@ -50,12 +58,13 @@ exc_status_add(Evas_Object* parent, struct exc_status status)
 			Evas_Object* st_content = E_SHOW(elm_entry_add(st_box));
 			E_BEGIN(st_content);
 elm_object_text_set(st_username, "Status");
+
+//evas_object_size_hint_min_set(st_content, 300, 300);
 
-evas_object_size_hint_min_set(st_content, 300, 300);
-
-//evas_object_size_hint_weight_set(st_content
+evas_object_size_hint_weight_set(st_content, 1, 1);
 
 elm_entry_editable_set(st_content, EINA_FALSE);
+elm_entry_single_line_set(st_content, EINA_FALSE);
 elm_object_text_set(st_content, "Lol, lmao. LOL even");
 elm_box_pack_end(st_box_rt, st_content);
 			E_END(st_content);
@@ -64,8 +73,10 @@ exc_status_add(Evas_Object* parent, struct exc_status status)
 		E_BEGIN(st_box_rt);
 
 		elm_object_content_set(st_frame, st_box);
+		elm_widget_style_set(st_frame, "outline");
+		//elm_widget_theme_object_set(st_frame, NULL, "focus_highlight", "top", "notify");
 	E_END(st_box);
 	
 	E_END(st_frame);
-	return st_frame;
+	return root;
 }


-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.





[EGIT] [exclaim] 01/01: Improve statuses

2023-09-20 Thread Enlightenment Git

This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch master
in repository exclaim.


View the commit online.
commit b30cae39d2f6873b728cd6337794b32f30ba81a0
Author: Nekobit 
AuthorDate: Wed Sep 20 23:11:20 2023 -0400

Improve statuses
---
 src/explode.c   | 209 
 src/main.c  |   5 ++
 src/meson.build |   1 +
 src/status.c| 117 ---
 4 files changed, 309 insertions(+), 23 deletions(-)

diff --git a/src/explode.c b/src/explode.c
new file mode 100644
index 000..0d034ba
--- /dev/null
+++ b/src/explode.c
@@ -0,0 +1,209 @@
+#include 
+
+static Evas_Object *target = NULL;
+static Ecore_Animator *anim = NULL;
+
+static Eina_List *mirrors = NULL;
+
+static Eina_Bool
+_cb_anim(void *data EINA_UNUSED, double pos)
+{
+   Eina_List *l;
+   Evas_Object *o;
+   double v = ecore_animator_pos_map(pos, ECORE_POS_MAP_SINUSOIDAL, 0.0, 0.0);
+   Evas_Coord x, y, w, h;
+   Evas_Coord vw, vh;
+   int tot;
+
+   evas_output_viewport_get(evas_object_evas_get(target), NULL, NULL, &vw, &vh);
+   evas_object_geometry_get(target, &x, &y, &w, &h);
+   tot = (eina_list_count(mirrors) + 2) / 2;
+   EINA_LIST_FOREACH(mirrors, l, o)
+ {
+Evas_Map *m = evas_map_new(4);
+int n = (int)((uintptr_t)evas_object_data_get(o, "stack"));
+double ang = (((double)(n + 1) * 180.0) / (double)tot);
+evas_map_util_points_populate_from_object(m, o);
+//evas_map_util_3d_rotate(m, ang * v / 1.0, ang * v, 0,
+//x + w + (w / 2), y + (h / 2), 315);
+		evas_map_util_3d_rotate(m, -10 * v, 20 * v, 0, x + (w/2), y + (h/2), ang * v);
+//evas_map_util_3d_perspective(m, vw / 2, vh / 2, 0, vw + vh);
+evas_object_map_set(o, m);
+evas_map_free(m);
+evas_object_map_enable_set(o, EINA_TRUE);
+ }
+   if (pos >= 1.0) anim = NULL;
+   return EINA_TRUE;
+}
+
+static int
+explode_obj(Evas_Object *obj, int n)
+{
+   Eina_List *children = NULL;
+   Evas_Object *o;
+   Evas *e;
+
+   e = evas_object_evas_get(obj);
+   children = evas_object_smart_members_get(obj);
+   if (!children)
+ {
+Evas_Object *m;
+Evas_Coord x, y, w, h;
+
+evas_object_geometry_get(obj, &x, &y, &w, &h);
+
+m = evas_object_image_filled_add(e);
+mirrors = eina_list_append(mirrors, m);
+evas_object_anti_alias_set(m, EINA_TRUE);
+evas_object_image_source_clip_set(m, EINA_FALSE);
+evas_object_pass_events_set(m, EINA_TRUE);
+evas_object_image_source_set(m, obj);
+evas_object_image_source_visible_set(m, EINA_FALSE);
+evas_object_layer_set(m, EVAS_LAYER_MAX - 10);
+evas_object_move(m, x, y);
+evas_object_resize(m, w, h);
+evas_object_show(m);
+evas_object_color_set(m, 0, 0, 0, 128);
+evas_object_data_set(m, "stack", (void *)((uintptr_t)n));
+
+n++;
+
+m = evas_object_image_filled_add(e);
+mirrors = eina_list_append(mirrors, m);
+evas_object_anti_alias_set(m, EINA_TRUE);
+evas_object_image_source_clip_set(m, EINA_FALSE);
+evas_object_pass_events_set(m, EINA_TRUE);
+evas_object_image_source_set(m, obj);
+evas_object_image_source_visible_set(m, EINA_FALSE);
+evas_object_layer_set(m, EVAS_LAYER_MAX - 10);
+evas_object_move(m, x, y);
+evas_object_resize(m, w, h);
+evas_object_show(m);
+evas_object_data_set(m, "stack", (void *)((uintptr_t)n));
+ }
+   else
+ {
+EINA_LIST_FREE(children, o)
+  {
+ if (!evas_object_visible_get(o)) continue;
+ if (evas_object_clipees_has(o)) continue;
+
+ n = explode_obj(o, n);
+  }
+ }
+   return n;
+}
+
+static void
+explode(Evas_Object *obj)
+{
+   Evas_Object *o;
+
+   EINA_LIST_FREE(mirrors, o) evas_object_del(o);
+   if (!obj) return;
+
+   explode_obj(obj, 0);
+   if (!anim) anim = ecore_animator_timeline_add(1.0, _cb_anim, NULL);
+}
+
+static void
+_cb_target_del(void *data EINA_UNUSED, Evas *e EINA_UNUSED,
+   Evas_Object *obj, void *info EINA_UNUSED)
+{
+   if (obj == target)
+ {
+if (anim)
+  {
+ ecore_animator_del(anim);
+ anim = NULL;
+  }
+explode(NULL);
+target = NULL;
+ }
+}
+
+static void
+_cb_catcher_down(void *data, Evas *e,
+ Evas_Object *obj EINA_UNUSED, void *info)
+{
+   Evas_Event_Mouse_Down *ev = info;
+
+   if (target)
+ {
+evas_object_event_callback_del_full(target, EVAS_CALLBACK_DEL,
+_cb_target_del, data);
+if (anim)
+  {
+ ecore_animator_del(anim);
+ anim = NULL;
+  }
+explode(NULL);
+target = NULL;
+ }
+   if ((ev->button == 2) &&
+   (evas_key_modifier_is_set(ev->modifiers, "Control"

[EGIT] [exclaim] 01/01: Sidebar

2023-09-20 Thread Enlightenment Git

This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch master
in repository exclaim.


View the commit online.
commit 51e10eae4dc30e918ed78d5f84dd8507f685e2b5
Author: Nekobit 
AuthorDate: Wed Sep 20 23:25:48 2023 -0400

Sidebar
---
 src/main.c | 77 ++
 1 file changed, 53 insertions(+), 24 deletions(-)

diff --git a/src/main.c b/src/main.c
index 49673e2..c51c49d 100644
--- a/src/main.c
+++ b/src/main.c
@@ -7,6 +7,25 @@
 void
 explode_win_enable(Evas_Object* win);
 
+Evas_Object*
+create_sidebar(Evas_Object* parent)
+{
+	Evas_Object* o;
+	Evas_Object* sb = elm_toolbar_add(parent);
+	evas_object_size_hint_weight_set(sb, 0.0, EVAS_HINT_EXPAND);
+	evas_object_size_hint_align_set(sb, EVAS_HINT_FILL, EVAS_HINT_FILL);
+	elm_toolbar_horizontal_set(sb, EINA_FALSE);
+	elm_toolbar_homogeneous_set(sb, EINA_TRUE);
+	elm_toolbar_shrink_mode_set(sb, ELM_TOOLBAR_SHRINK_MENU);
+	
+	o = elm_toolbar_item_append(sb, "home", "Home", NULL, NULL);
+	elm_toolbar_item_priority_set(o, -100);
+	o = elm_toolbar_item_append(sb, "mail-unread", "Unread", NULL, NULL);
+	elm_toolbar_item_priority_set(o, 100);
+	
+	return sb;
+}
+
 EAPI_MAIN int
 elm_main(int argc, char** argv)
 {
@@ -16,40 +35,50 @@ elm_main(int argc, char** argv)
 	elm_app_compile_data_dir_set(PACKAGE_DATA_DIR);
 	elm_app_info_set(elm_main, "exclaim", "checkme");

-	Evas_Object* win = elm_win_util_standard_add("exclaim_root", "Exclaim");
+	Evas_Object* win = E_SHOW(elm_win_util_standard_add("exclaim_root", "Exclaim"));
 	E_BEGIN(win);
 	elm_win_icon_name_set(win, "email-unread");
 	elm_win_autodel_set(win, EINA_TRUE);
 	
 	explode_win_enable(win);
+	
+	Evas_Object* root = E_SHOW(elm_box_add(win));
+	E_BEGIN(root);
+		elm_box_horizontal_set(root, EINA_TRUE);
+		evas_object_fullsize(root);
+		
+		Evas_Object* sidebar = E_SHOW(create_sidebar(win));
+		elm_box_pack_end(root, sidebar);
 
-	Evas_Object* status_scr = E_SHOW(elm_scroller_add(win));
-	E_BEGIN(status_scr);
-		evas_object_fullsize(status_scr);
+		Evas_Object* status_scr = E_SHOW(elm_scroller_add(win));
+		E_BEGIN(status_scr);
+			evas_object_fullsize(status_scr);
 
-		Evas_Object* status_content = E_SHOW(elm_box_add(status_scr));
-		E_BEGIN(status_content);
-			evas_object_fullsize(status_content);
-			elm_object_content_set(status_scr, status_content);
+			Evas_Object* status_content = E_SHOW(elm_box_add(status_scr));
+			E_BEGIN(status_content);
+evas_object_fullsize(status_content);
+elm_object_content_set(status_scr, status_content);
 			
-			for (int i = 0; i < 30; ++i)
-			{
-struct exc_status st_test = {
-	.title = "wow",
-};
-Evas_Object* status = E_SHOW(exc_status_add(status_content, st_test));
+for (int i = 0; i < 30; ++i)
+{
+	struct exc_status st_test = {
+		.title = "wow",
+	};
+	Evas_Object* status = E_SHOW(exc_status_add(status_content, st_test));
 
-elm_box_pack_end(status_content, status);
-			}
-			Evas_Object* lol = E_SHOW(elm_label_add(status_content));
-			elm_object_text_set(lol, "sdfjkfhjkahgkljsghklfjghdsjkghsdf");
-			elm_box_pack_end(status_content, lol);
-		E_END(status_content);
-	E_END(status_scr);
+	elm_box_pack_end(status_content, status);
+}
+Evas_Object* lol = E_SHOW(elm_label_add(status_content));
+elm_object_text_set(lol, "sdfjkfhjkahgkljsghklfjghdsjkghsdf");
+elm_box_pack_end(status_content, lol);
+			E_END(status_content);
+
+			elm_box_pack_end(root, status_scr);
+		E_END(status_scr);
 		
-	evas_object_resize(win, ELM_SCALE_SIZE(700), ELM_SCALE_SIZE(300));
-	elm_win_resize_object_add(win, status_scr);
-	E_SHOW(win);
+		evas_object_resize(win, ELM_SCALE_SIZE(700), ELM_SCALE_SIZE(300));
+		elm_win_resize_object_add(win, root);
+	E_END(root);
 	E_END(win);
 	
 	elm_run();


-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.