[EGIT] [enlightenment] 01/01: Ibar: Focus standalone client on click

2025-07-04 Thread Enlightenment Git

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

git pushed a commit to reference refs/pull/119/head
in repository enlightenment.


View the commit online.
commit c828e2d8ccac52d95b7041ce83e32e56f9756938
Author: Swagtoy 
AuthorDate: Fri Jul 4 15:52:38 2025 -0400

Ibar: Focus standalone client on click
---
 src/modules/ibar/e_mod_main.c | 31 ---
 1 file changed, 20 insertions(+), 11 deletions(-)

diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c
index 2acaa0e85..1958314a8 100644
--- a/src/modules/ibar/e_mod_main.c
+++ b/src/modules/ibar/e_mod_main.c
@@ -557,7 +557,6 @@ _ibar_fill(IBar *b)
 const Eina_Hash *execs = e_exec_instances_get();
 Eina_Iterator *it;
 const Eina_List *l, *ll;
-const Eina_Inlist *il;
 E_Exec_Instance *exe;
 E_Client *ec;
 
@@ -1768,7 +1767,11 @@ _ibar_cb_icon_wheel(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSE
E_Client *cur, *sel = NULL;
Eina_List *l, *exe_current = NULL;
 
-   if (!ic->exes) return;
+   if (!ic->exes && ic->single_client)
+ {
+	e_client_activate(ic->single_client, EINA_TRUE);
+	return;
+	 }
 
cur = e_client_focused_get();
cur = e_client_stack_bottom_get(cur);
@@ -1849,7 +1852,13 @@ _ibar_instance_watch(void *data, E_Exec_Instance *inst, E_Exec_Watch_Type type)
 static void
 _ibar_icon_go(IBar_Icon *ic, Eina_Bool keep_going)
 {
-   if (ic->not_in_order)
+   // Can't launch nonexistant client, just focus it
+   if (ic->single_client)
+ {
+	e_client_uniconify(ic->single_client);
+	e_client_activate(ic->single_client, 1);
+	 }
+   else if (ic->not_in_order)
  {
 Eina_List *l, *ll;
 E_Exec_Instance *exe;
@@ -1873,7 +1882,7 @@ _ibar_icon_go(IBar_Icon *ic, Eina_Bool keep_going)
   e_client_activate(eclast, 1);
 return;
  }
-   if (ic->app->type == EFREET_DESKTOP_TYPE_APPLICATION)
+   if (ic->app && ic->app->type == EFREET_DESKTOP_TYPE_APPLICATION)
  {
 if (ic->ibar->inst->ci->dont_track_launch)
   e_exec(ic->ibar->inst->gcc->gadcon->zone,
@@ -1893,7 +1902,7 @@ _ibar_icon_go(IBar_Icon *ic, Eina_Bool keep_going)
}
   }
  }
-   else if (ic->app->type == EFREET_DESKTOP_TYPE_LINK)
+   else if (ic->app && ic->app->type == EFREET_DESKTOP_TYPE_LINK)
  {
 if (!strncasecmp(ic->app->url, "file:", 5))
   {
@@ -2725,12 +2734,12 @@ _ibar_cb_client_prop(void *d EINA_UNUSED, int t EINA_UNUSED, E_Event_Client_Prop
   if (!eina_list_data_find(ic->exes, ec->exe_inst))
 ic->exes = eina_list_append(ic->exes, ec->exe_inst);
}
-else if (!b->inst->ci->dont_add_nonorder)
-  {
- _ibar_sep_create(b);
- _ibar_icon_notinorder_new(b, ec->exe_inst, NULL);
- _ibar_resize_handle(b);
-  }
+ else if (!b->inst->ci->dont_add_nonorder)
+   {
+  _ibar_sep_create(b);
+  _ibar_icon_notinorder_new(b, ec->exe_inst, NULL);
+  _ibar_resize_handle(b);
+   }
   }
 else
   {


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





[EGIT] [enlightenment] 01/01: Ibar: Focus standalone client on click

2025-07-04 Thread Enlightenment Git

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

git pushed a commit to branch ibar-show-tasks
in repository enlightenment.


View the commit online.
commit c828e2d8ccac52d95b7041ce83e32e56f9756938
Author: Swagtoy 
AuthorDate: Fri Jul 4 15:52:38 2025 -0400

Ibar: Focus standalone client on click
---
 src/modules/ibar/e_mod_main.c | 31 ---
 1 file changed, 20 insertions(+), 11 deletions(-)

diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c
index 2acaa0e85..1958314a8 100644
--- a/src/modules/ibar/e_mod_main.c
+++ b/src/modules/ibar/e_mod_main.c
@@ -557,7 +557,6 @@ _ibar_fill(IBar *b)
 const Eina_Hash *execs = e_exec_instances_get();
 Eina_Iterator *it;
 const Eina_List *l, *ll;
-const Eina_Inlist *il;
 E_Exec_Instance *exe;
 E_Client *ec;
 
@@ -1768,7 +1767,11 @@ _ibar_cb_icon_wheel(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSE
E_Client *cur, *sel = NULL;
Eina_List *l, *exe_current = NULL;
 
-   if (!ic->exes) return;
+   if (!ic->exes && ic->single_client)
+ {
+	e_client_activate(ic->single_client, EINA_TRUE);
+	return;
+	 }
 
cur = e_client_focused_get();
cur = e_client_stack_bottom_get(cur);
@@ -1849,7 +1852,13 @@ _ibar_instance_watch(void *data, E_Exec_Instance *inst, E_Exec_Watch_Type type)
 static void
 _ibar_icon_go(IBar_Icon *ic, Eina_Bool keep_going)
 {
-   if (ic->not_in_order)
+   // Can't launch nonexistant client, just focus it
+   if (ic->single_client)
+ {
+	e_client_uniconify(ic->single_client);
+	e_client_activate(ic->single_client, 1);
+	 }
+   else if (ic->not_in_order)
  {
 Eina_List *l, *ll;
 E_Exec_Instance *exe;
@@ -1873,7 +1882,7 @@ _ibar_icon_go(IBar_Icon *ic, Eina_Bool keep_going)
   e_client_activate(eclast, 1);
 return;
  }
-   if (ic->app->type == EFREET_DESKTOP_TYPE_APPLICATION)
+   if (ic->app && ic->app->type == EFREET_DESKTOP_TYPE_APPLICATION)
  {
 if (ic->ibar->inst->ci->dont_track_launch)
   e_exec(ic->ibar->inst->gcc->gadcon->zone,
@@ -1893,7 +1902,7 @@ _ibar_icon_go(IBar_Icon *ic, Eina_Bool keep_going)
}
   }
  }
-   else if (ic->app->type == EFREET_DESKTOP_TYPE_LINK)
+   else if (ic->app && ic->app->type == EFREET_DESKTOP_TYPE_LINK)
  {
 if (!strncasecmp(ic->app->url, "file:", 5))
   {
@@ -2725,12 +2734,12 @@ _ibar_cb_client_prop(void *d EINA_UNUSED, int t EINA_UNUSED, E_Event_Client_Prop
   if (!eina_list_data_find(ic->exes, ec->exe_inst))
 ic->exes = eina_list_append(ic->exes, ec->exe_inst);
}
-else if (!b->inst->ci->dont_add_nonorder)
-  {
- _ibar_sep_create(b);
- _ibar_icon_notinorder_new(b, ec->exe_inst, NULL);
- _ibar_resize_handle(b);
-  }
+ else if (!b->inst->ci->dont_add_nonorder)
+   {
+  _ibar_sep_create(b);
+  _ibar_icon_notinorder_new(b, ec->exe_inst, NULL);
+  _ibar_resize_handle(b);
+   }
   }
 else
   {


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





[EGIT] [enlightenment] 01/01: Ibar: Show tasks for clients without FDO instances

2025-07-04 Thread Enlightenment Git

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

git pushed a commit to reference refs/pull/119/head
in repository enlightenment.


View the commit online.
commit 344adeb7cb86ff5084792469eafa1588b9e9c6fc
Author: Swagtoy 
AuthorDate: Fri Jul 4 14:31:41 2025 -0400

Ibar: Show tasks for clients without FDO instances

For a long while, I used to think ibar not showing clients with .desktop files was a bug (in fact, i used to think that some clients simple didn't like showing up). Turns out that is intended.

This will now show those when dont_add_nonorder is false. More Notably, all of Enlightenment's builtin clients will now show (like config, popups, etc.) and stuff like Steam games.
---
 src/modules/ibar/e_mod_main.c | 205 ++
 1 file changed, 150 insertions(+), 55 deletions(-)

diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c
index 38581484a..339adb279 100644
--- a/src/modules/ibar/e_mod_main.c
+++ b/src/modules/ibar/e_mod_main.c
@@ -70,6 +70,7 @@ struct _IBar_Icon
Evas_Object *o_holder, *o_icon;
Evas_Object *o_holder2, *o_icon2;
Eina_List   *client_objs;
+   E_Client*single_client;
Efreet_Desktop  *app;
Ecore_Timer *reset_timer;
Ecore_Timer *timer;
@@ -105,8 +106,8 @@ static void _ibar_resize_handle(IBar *b);
 static void _ibar_instance_drop_zone_recalc(Instance *inst);
 static Config_Item *_ibar_config_item_get(const char *id);
 static IBar_Icon   *_ibar_icon_at_coord(IBar *b, Evas_Coord x, Evas_Coord y);
-static IBar_Icon   *_ibar_icon_new(IBar *b, Efreet_Desktop *desktop, Eina_Bool notinorder);
-static IBar_Icon   *_ibar_icon_notinorder_new(IBar *b, E_Exec_Instance *exe);
+static IBar_Icon   *_ibar_icon_new(IBar *b, E_Client *ec, Efreet_Desktop *desktop, Eina_Bool notinorder);
+static IBar_Icon   *_ibar_icon_notinorder_new(IBar *b, E_Exec_Instance *exe, E_Client *ec);
 static void _ibar_icon_free(IBar_Icon *ic);
 static void _ibar_icon_fill(IBar_Icon *ic);
 static void _ibar_icon_empty(IBar_Icon *ic);
@@ -542,7 +543,7 @@ _ibar_fill(IBar *b)
 EINA_LIST_FOREACH(b->io->eo->desktops, l, desktop)
   {
  const Eina_List *ll;
- ic = _ibar_icon_new(b, desktop, 0);
+ ic = _ibar_icon_new(b, NULL, desktop, 0);
  ll = e_exec_desktop_instances_find(desktop);
  if (ll)
{
@@ -556,18 +557,19 @@ _ibar_fill(IBar *b)
 const Eina_Hash *execs = e_exec_instances_get();
 Eina_Iterator *it;
 const Eina_List *l, *ll;
+const Eina_Inlist *il;
 E_Exec_Instance *exe;
+E_Client *ec;
 
 it = eina_hash_iterator_data_new(execs);
 EINA_ITERATOR_FOREACH(it, l)
   {
  EINA_LIST_FOREACH(l, ll, exe)
{
-  E_Client *ec;
   Eina_List *lll;
   Eina_Bool skip = EINA_TRUE;
 
-  if (!exe->desktop) continue;
+  //if (!exe->desktop) continue;
   EINA_LIST_FOREACH(exe->clients, lll, ec)
 if (!ec->netwm.state.skip_taskbar)
   {
@@ -575,18 +577,30 @@ _ibar_fill(IBar *b)
  break;
   }
   if (skip) continue;
-  ic = eina_hash_find(b->icon_hash, _desktop_name_get(exe->desktop));
-  if (ic)
+  if (exe->desktop)
 {
-   if (!eina_list_data_find(ic->exes, exe))
- ic->exes = eina_list_append(ic->exes, exe);
-   continue;
+   ic = eina_hash_find(b->icon_hash, _desktop_name_get(exe->desktop));
+   if (ic)
+ {
+if (!eina_list_data_find(ic->exes, exe))
+  ic->exes = eina_list_append(ic->exes, exe);
+continue;
+ }
 }
   _ibar_sep_create(b);
-  _ibar_icon_notinorder_new(b, exe);
+  _ibar_icon_notinorder_new(b, exe, NULL);
}
   }
 eina_iterator_free(it);
+EINA_LIST_FOREACH(e_comp->clients, l, ec)
+  {
+ if ((!e_client_util_ignored_get(ec)) && (!e_object_is_del(E_OBJECT(ec))) &&
+ (!e_client_util_is_popup(ec)))
+   {
+  _ibar_sep_create(b);
+  _ibar_icon_notinorder_new(b, NULL, ec);
+   }
+  }
  }
 
_ibar_empty_handle(b);
@@ -732,17 +746,17 @@ _ibar_config_update(Config_Item *ci)
{
 case 0:
   edje_object_part_text_set(ic->o_holder2, "e.text.label",
-ic->app->name);
+  

[EGIT] [enlightenment] 01/07: xkbswitch: Support for X11 keyboard repeat (rate/delay)

2025-07-04 Thread Enlightenment Git

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

git pushed a commit to branch master
in repository enlightenment.


View the commit online.
commit a4a1b5f62a63dab59bf556c94e63332902a744fc
Author: Swagtoy 
AuthorDate: Thu Jun 26 03:08:44 2025 -0400

xkbswitch: Support for X11 keyboard repeat (rate/delay)

I am surprised this feature is not supported yet. Will allow me to delete my xresources file.

Wayland may actually work since I'm using a struct that is used by the wayland compositor, though I have not tested it. (though, I am not certain it will work when apply is pressed, only on E restart)
---
 src/bin/e_xkb.c  | 16 +
 src/bin/e_xkb.h  |  2 ++
 src/modules/xkbswitch/e_mod_config.c | 70 ++--
 3 files changed, 86 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_xkb.c b/src/bin/e_xkb.c
index d54fee190..7addbf82f 100644
--- a/src/bin/e_xkb.c
+++ b/src/bin/e_xkb.c
@@ -252,6 +252,7 @@ _e_x_xkb_reconfig(void)
}
   }
  }
+   e_xkb_repeat_set(e_config->keyboard.repeat_delay, e_config->keyboard.repeat_rate);
 #ifndef HAVE_WAYLAND_ONLY
skip_new_keyboard ++;
 #endif
@@ -525,6 +526,21 @@ e_xkb_flag_file_get(char *buf, size_t bufsize, const char *name)
   e_prefix_data_get());
 }
 
+E_API void
+e_xkb_repeat_set(int delay, int rate)
+{
+#ifndef HAVE_WAYLAND_ONLY
+   Ecore_X_Display *display = ecore_x_display_get();
+   if (!display)
+ return;
+   Ecore_X_Keyboard_Repeat repeat = {
+ .delay = delay,
+ .rate = rate,
+   };
+   ecore_x_keyboard_repeat_set(display, &repeat);
+#endif
+}
+
 E_API Eina_Bool
 e_config_xkb_layout_eq(const E_Config_XKB_Layout *a, const E_Config_XKB_Layout *b)
 {
diff --git a/src/bin/e_xkb.h b/src/bin/e_xkb.h
index 49f153fb4..cc0fa1a55 100644
--- a/src/bin/e_xkb.h
+++ b/src/bin/e_xkb.h
@@ -10,7 +10,9 @@ E_API void e_xkb_update(int);
 E_API void e_xkb_layout_next(void);
 E_API void e_xkb_layout_prev(void);
 E_API E_Config_XKB_Layout *e_xkb_layout_get(void);
+E_API void e_xkb_repeat_set(int delay, int rate);
 E_API void e_xkb_layout_set(const E_Config_XKB_Layout *cl);
+E_API void e_xkb_keyboard_repeat_get();
 E_API const char *e_xkb_layout_name_reduce(const char *name);
 E_API void e_xkb_e_icon_flag_setup(Evas_Object *eicon, const char *name);
 E_API void e_xkb_flag_file_get(char *buf, size_t bufsize, const char *name);
diff --git a/src/modules/xkbswitch/e_mod_config.c b/src/modules/xkbswitch/e_mod_config.c
index e40516512..4e8b5aa75 100644
--- a/src/modules/xkbswitch/e_mod_config.c
+++ b/src/modules/xkbswitch/e_mod_config.c
@@ -1,3 +1,4 @@
+#include "Evas.h"
 #include "e.h"
 #include "e_mod_main.h"
 #include "e_mod_parse.h"
@@ -14,6 +15,8 @@ struct _E_Config_Dialog_Data
 
Evas_Object *btn_layout;
Evas_Object *led_list;
+   Evas_Object *key_rate_slider;
+   Evas_Object *key_delay_slider;
Evas_Object *switch_list;
Evas_Object *ctrl_list;
Evas_Object *lv3_list;
@@ -59,6 +62,8 @@ struct _E_Config_Dialog_Data
 
int  only_label;
int  dont_touch_my_damn_keyboard;
+   int  key_rate;
+   int  key_delay;
 
E_Dialog *dlg_add_new;
E_Config_Dialog *cfd;
@@ -76,6 +81,8 @@ static int  _check_changed(E_Config_Dialog_Data *cfdata);
 
 static void _dont_touch_my_damn_keyboard_changed(void *data, Evas_Object *obj, void *event);
 static void _only_label_changed(void *data, Evas_Object *obj, void *event);
+static void _key_rate_changed(void *data, Evas_Object *obj, void *event);
+static void _key_delay_changed(void *data, Evas_Object *obj, void *event);
 
 static void _layout_clicked(void *data, Evas_Object *obj, void *event);
 static void _cb_add(void *data, Evas_Object *obj, void *event);
@@ -164,6 +171,7 @@ _fill_data(E_XKB_Option *op, const char *name, int size, Eina_List *check, Eina_
}
   }
  }
+   
return EINA_FALSE;
 }
 
@@ -197,6 +205,8 @@ _create_data(E_Config_Dialog *cfd)
 
cfdata->_only_label_ = e_config->xkb.only_label;
cfdata->dont_touch_my_damn_keyboard = e_config->xkb.dont_touch_my_damn_keyboard;
+   cfdata->key_rate = e_config->keyboard.repeat_rate;
+   cfdata->key_delay = e_config->keyboard.repeat_delay;
 
 #undef FILL_DATA
 #define FILL_DATA(name, list_name) \
@@ -293,7 +303,9 @@ _check_changed(E_Config_Dialog_Data *cfdata)
 eina_list_count(cfdata->cfg_layouts)) ||
(e_config->xkb.default_model != cfdata->default_model) ||
(e_config->xkb.only_label != cfdata->only_label) ||
-   (e_config->xkb.dont_touch_my_damn_keyboard != cfdata->dont_touch_my_damn_keyboard))
+   (e_config->xkb.dont_touch_my_damn_keyboard != cfdata->dont_touch_my_damn_keyboard) ||
+	   (e_config->keyboard.repeat_delay != cfdata->key_delay) ||
+	   (e_config->keyboard.repeat_rate != cfdata->key_rate))
  return 1;
 
l2 = cfdata->cfg_layouts;
@@ -435,6 +

[EGIT] [enlightenment] 05/07: Fix \tindention

2025-07-04 Thread Enlightenment Git

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

git pushed a commit to branch master
in repository enlightenment.


View the commit online.
commit 9c8c66b59d88575f332417f023165299b7501327
Author: Swagtoy 
AuthorDate: Wed Jul 2 14:35:57 2025 -0400

Fix \tindention
---
 src/modules/xkbswitch/e_mod_config.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/xkbswitch/e_mod_config.c b/src/modules/xkbswitch/e_mod_config.c
index 10927ed20..a67891b77 100644
--- a/src/modules/xkbswitch/e_mod_config.c
+++ b/src/modules/xkbswitch/e_mod_config.c
@@ -626,7 +626,7 @@ _config_basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfd
 {
Evas_Object *mainn, *configs, *buttons, *only_label,
*dont_touch_my_damn_keyboard, *key_rate,
-			   *key_delay;
+   *key_delay;
Evas_Object *listh, *frame;
Evas_Object *o;
 


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





[EGIT] [enlightenment] 03/07: E_Xkb: Polarity with EFL

2025-07-04 Thread Enlightenment Git

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

git pushed a commit to branch master
in repository enlightenment.


View the commit online.
commit fd944665fe4dea68c690a2ed6980ac5f03b079de
Author: Swagtoy 
AuthorDate: Fri Jun 27 13:27:49 2025 -0400

E_Xkb: Polarity with EFL
---
 src/bin/e_xkb.c | 5 +
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/src/bin/e_xkb.c b/src/bin/e_xkb.c
index 7addbf82f..e38117dc1 100644
--- a/src/bin/e_xkb.c
+++ b/src/bin/e_xkb.c
@@ -530,14 +530,11 @@ E_API void
 e_xkb_repeat_set(int delay, int rate)
 {
 #ifndef HAVE_WAYLAND_ONLY
-   Ecore_X_Display *display = ecore_x_display_get();
-   if (!display)
- return;
Ecore_X_Keyboard_Repeat repeat = {
  .delay = delay,
  .rate = rate,
};
-   ecore_x_keyboard_repeat_set(display, &repeat);
+   ecore_x_keyboard_repeat_set(&repeat);
 #endif
 }
 


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





[EGIT] [enlightenment] 07/07: xkbswitch: Fix math

2025-07-04 Thread Enlightenment Git

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

git pushed a commit to branch master
in repository enlightenment.


View the commit online.
commit a976499286031022911af1d2bd9ad874767e6d73
Author: Swagtoy 
AuthorDate: Fri Jul 4 14:51:22 2025 -0400

xkbswitch: Fix math
---
 src/modules/xkbswitch/e_mod_config.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/modules/xkbswitch/e_mod_config.c b/src/modules/xkbswitch/e_mod_config.c
index 881d79691..a0efe1513 100644
--- a/src/modules/xkbswitch/e_mod_config.c
+++ b/src/modules/xkbswitch/e_mod_config.c
@@ -206,7 +206,10 @@ _create_data(E_Config_Dialog *cfd)
 
cfdata->_only_label_ = e_config->xkb.only_label;
cfdata->dont_touch_my_damn_keyboard = e_config->xkb.dont_touch_my_damn_keyboard;
-   cfdata->key_rate = -1000.0f / -e_config->keyboard.repeat_rate;
+   if (e_config->keyboard.repeat_rate != 0)
+ cfdata->key_rate = 1000.0f / e_config->keyboard.repeat_rate;
+   else
+ cfdata->key_rate = 1000.0f / 20.0f;
cfdata->key_delay = e_config->keyboard.repeat_delay / 1000.0f;
 
 #undef FILL_DATA


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





[EGIT] [enlightenment] 04/07: Xkbswitch: Suppress unused var

2025-07-04 Thread Enlightenment Git

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

git pushed a commit to branch master
in repository enlightenment.


View the commit online.
commit 2b5e49bf037c90c64513e59c1a7e5ce23d56d130
Author: Swagtoy 
AuthorDate: Fri Jun 27 13:39:04 2025 -0400

Xkbswitch: Suppress unused var
---
 src/modules/xkbswitch/e_mod_config.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/modules/xkbswitch/e_mod_config.c b/src/modules/xkbswitch/e_mod_config.c
index 4e8b5aa75..10927ed20 100644
--- a/src/modules/xkbswitch/e_mod_config.c
+++ b/src/modules/xkbswitch/e_mod_config.c
@@ -1311,7 +1311,7 @@ _only_label_changed(void *data, Evas_Object *obj, void *event EINA_UNUSED)
 }
 
 static void
-_key_rate_changed(void *data, Evas_Object *obj, void *event)
+_key_rate_changed(void *data, Evas_Object *obj, void *event EINA_UNUSED)
 {
E_Config_Dialog_Data *cfdata;
double val = elm_slider_value_get(obj);
@@ -1322,7 +1322,7 @@ _key_rate_changed(void *data, Evas_Object *obj, void *event)
 }
 
 static void
-_key_delay_changed(void *data, Evas_Object *obj, void *event)
+_key_delay_changed(void *data, Evas_Object *obj, void *event EINA_UNUSED)
 {
E_Config_Dialog_Data *cfdata;
double val = elm_slider_value_get(obj);


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





[EGIT] [enlightenment] 06/07: xkbswitch: Show units and align functionality with xset better

2025-07-04 Thread Enlightenment Git

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

git pushed a commit to branch master
in repository enlightenment.


View the commit online.
commit 1c884de6fa122e6ad8fa58327db421d4a7fdeb94
Author: Swagtoy 
AuthorDate: Fri Jul 4 00:02:12 2025 -0400

xkbswitch: Show units and align functionality with xset better
---
 src/modules/xkbswitch/e_mod_config.c | 32 ++--
 1 file changed, 18 insertions(+), 14 deletions(-)

diff --git a/src/modules/xkbswitch/e_mod_config.c b/src/modules/xkbswitch/e_mod_config.c
index a67891b77..881d79691 100644
--- a/src/modules/xkbswitch/e_mod_config.c
+++ b/src/modules/xkbswitch/e_mod_config.c
@@ -1,3 +1,4 @@
+#include "Elementary.h"
 #include "Evas.h"
 #include "e.h"
 #include "e_mod_main.h"
@@ -62,8 +63,8 @@ struct _E_Config_Dialog_Data
 
int  only_label;
int  dont_touch_my_damn_keyboard;
-   int  key_rate;
-   int  key_delay;
+   floatkey_rate;
+   floatkey_delay;
 
E_Dialog *dlg_add_new;
E_Config_Dialog *cfd;
@@ -205,8 +206,8 @@ _create_data(E_Config_Dialog *cfd)
 
cfdata->_only_label_ = e_config->xkb.only_label;
cfdata->dont_touch_my_damn_keyboard = e_config->xkb.dont_touch_my_damn_keyboard;
-   cfdata->key_rate = e_config->keyboard.repeat_rate;
-   cfdata->key_delay = e_config->keyboard.repeat_delay;
+   cfdata->key_rate = -1000.0f / -e_config->keyboard.repeat_rate;
+   cfdata->key_delay = e_config->keyboard.repeat_delay / 1000.0f;
 
 #undef FILL_DATA
 #define FILL_DATA(name, list_name) \
@@ -304,8 +305,8 @@ _check_changed(E_Config_Dialog_Data *cfdata)
(e_config->xkb.default_model != cfdata->default_model) ||
(e_config->xkb.only_label != cfdata->only_label) ||
(e_config->xkb.dont_touch_my_damn_keyboard != cfdata->dont_touch_my_damn_keyboard) ||
-	   (e_config->keyboard.repeat_delay != cfdata->key_delay) ||
-	   (e_config->keyboard.repeat_rate != cfdata->key_rate))
+   (e_config->keyboard.repeat_delay != (int)cfdata->key_delay) ||
+   (e_config->keyboard.repeat_rate != (int)cfdata->key_rate))
  return 1;
 
l2 = cfdata->cfg_layouts;
@@ -447,8 +448,8 @@ _basic_apply(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfdata)
/* Save options */
e_config->xkb._only_label_ = cfdata->only_label;
e_config->xkb.dont_touch_my_damn_keyboard = cfdata->dont_touch_my_damn_keyboard;
-   e_config->keyboard.repeat_delay = cfdata->key_delay;
-   e_config->keyboard.repeat_rate = cfdata->key_rate;
+   e_config->keyboard.repeat_delay = cfdata->key_delay * 1000;
+   e_config->keyboard.repeat_rate = 1000 / cfdata->key_rate;
 
EINA_LIST_FREE(e_config->xkb.used_options, oc)
  {
@@ -662,9 +663,10 @@ _config_basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfd
elm_separator_horizontal_set(o, EINA_TRUE);

key_rate = elm_slider_add(mainn);
-   elm_slider_min_max_set(key_rate, 30, 1000);
-   elm_slider_value_set(mainn, cfdata->key_rate);
-   elm_object_text_set(key_rate, _("Key rate"));
+   elm_slider_min_max_set(key_rate, 1, 333);
+   elm_slider_value_set(key_rate, 1000.0f / cfdata->key_rate);
+   elm_slider_indicator_format_set(key_rate, "%.0f keys/second");
+   elm_object_text_set(key_rate, _("Repeat rate"));
evas_object_smart_callback_add(key_rate, "changed",
   _key_rate_changed, cfdata);
evas_object_size_hint_fill_set(key_rate, EVAS_HINT_FILL, 0.5);
@@ -674,9 +676,11 @@ _config_basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfd
cfdata->key_rate_slider = key_rate;

key_delay = elm_slider_add(mainn);
-   elm_slider_min_max_set(key_delay, 30, 3000);
-   elm_slider_value_set(mainn, cfdata->key_delay);
-   elm_object_text_set(key_delay, _("Key delay"));
+   elm_slider_min_max_set(key_delay, 0.1, 3);
+   elm_slider_step_set(key_delay, 0.05);
+   elm_slider_value_set(key_delay, cfdata->key_delay);
+   elm_object_text_set(key_delay, _("Repeat delay"));
+   elm_slider_indicator_format_set(key_delay, "%.2f seconds");
evas_object_smart_callback_add(key_delay, "changed",
   _key_delay_changed, cfdata);
evas_object_size_hint_fill_set(key_delay, EVAS_HINT_FILL, 0.5);


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





[EGIT] [enlightenment] 02/07: Kbd: Remove unused func prototype

2025-07-04 Thread Enlightenment Git

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

git pushed a commit to branch master
in repository enlightenment.


View the commit online.
commit 1ce4596e5802fcb92c1cc45c737eba99bdc25654
Author: Swagtoy 
AuthorDate: Thu Jun 26 03:14:00 2025 -0400

Kbd: Remove unused func prototype
---
 src/bin/e_xkb.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/bin/e_xkb.h b/src/bin/e_xkb.h
index cc0fa1a55..66844760e 100644
--- a/src/bin/e_xkb.h
+++ b/src/bin/e_xkb.h
@@ -12,7 +12,6 @@ E_API void e_xkb_layout_prev(void);
 E_API E_Config_XKB_Layout *e_xkb_layout_get(void);
 E_API void e_xkb_repeat_set(int delay, int rate);
 E_API void e_xkb_layout_set(const E_Config_XKB_Layout *cl);
-E_API void e_xkb_keyboard_repeat_get();
 E_API const char *e_xkb_layout_name_reduce(const char *name);
 E_API void e_xkb_e_icon_flag_setup(Evas_Object *eicon, const char *name);
 E_API void e_xkb_flag_file_get(char *buf, size_t bufsize, const char *name);


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





[EGIT] [enlightenment] 01/01: xkbswitch: Fix math

2025-07-04 Thread Enlightenment Git

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

git pushed a commit to branch x11-keeb-repeat-delay
in repository enlightenment.


View the commit online.
commit ccbc8ac2eaecb9cd57887331d1d84a10045c9e85
Author: Swagtoy 
AuthorDate: Fri Jul 4 14:51:22 2025 -0400

xkbswitch: Fix math
---
 src/modules/xkbswitch/e_mod_config.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/modules/xkbswitch/e_mod_config.c b/src/modules/xkbswitch/e_mod_config.c
index 881d79691..a0efe1513 100644
--- a/src/modules/xkbswitch/e_mod_config.c
+++ b/src/modules/xkbswitch/e_mod_config.c
@@ -206,7 +206,10 @@ _create_data(E_Config_Dialog *cfd)
 
cfdata->_only_label_ = e_config->xkb.only_label;
cfdata->dont_touch_my_damn_keyboard = e_config->xkb.dont_touch_my_damn_keyboard;
-   cfdata->key_rate = -1000.0f / -e_config->keyboard.repeat_rate;
+   if (e_config->keyboard.repeat_rate != 0)
+ cfdata->key_rate = 1000.0f / e_config->keyboard.repeat_rate;
+   else
+ cfdata->key_rate = 1000.0f / 20.0f;
cfdata->key_delay = e_config->keyboard.repeat_delay / 1000.0f;
 
 #undef FILL_DATA


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





[EGIT] [enlightenment] 01/01: xkbswitch: Fix math

2025-07-04 Thread Enlightenment Git

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

git pushed a commit to reference refs/pull/118/head
in repository enlightenment.


View the commit online.
commit ccbc8ac2eaecb9cd57887331d1d84a10045c9e85
Author: Swagtoy 
AuthorDate: Fri Jul 4 14:51:22 2025 -0400

xkbswitch: Fix math
---
 src/modules/xkbswitch/e_mod_config.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/modules/xkbswitch/e_mod_config.c b/src/modules/xkbswitch/e_mod_config.c
index 881d79691..a0efe1513 100644
--- a/src/modules/xkbswitch/e_mod_config.c
+++ b/src/modules/xkbswitch/e_mod_config.c
@@ -206,7 +206,10 @@ _create_data(E_Config_Dialog *cfd)
 
cfdata->_only_label_ = e_config->xkb.only_label;
cfdata->dont_touch_my_damn_keyboard = e_config->xkb.dont_touch_my_damn_keyboard;
-   cfdata->key_rate = -1000.0f / -e_config->keyboard.repeat_rate;
+   if (e_config->keyboard.repeat_rate != 0)
+ cfdata->key_rate = 1000.0f / e_config->keyboard.repeat_rate;
+   else
+ cfdata->key_rate = 1000.0f / 20.0f;
cfdata->key_delay = e_config->keyboard.repeat_delay / 1000.0f;
 
 #undef FILL_DATA


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





[EGIT] [enlightenment] 01/01: Ibar: Don't show clients twice

2025-07-04 Thread Enlightenment Git

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

git pushed a commit to branch ibar-show-tasks
in repository enlightenment.


View the commit online.
commit 36412beccb8664249a7dfa09ab57c356005aa173
Author: Swagtoy 
AuthorDate: Fri Jul 4 15:39:56 2025 -0400

Ibar: Don't show clients twice
---
 src/modules/ibar/e_mod_main.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c
index 339adb279..2acaa0e85 100644
--- a/src/modules/ibar/e_mod_main.c
+++ b/src/modules/ibar/e_mod_main.c
@@ -594,6 +594,7 @@ _ibar_fill(IBar *b)
 eina_iterator_free(it);
 EINA_LIST_FOREACH(e_comp->clients, l, ec)
   {
+ if (ec->exe_inst) continue;
  if ((!e_client_util_ignored_get(ec)) && (!e_object_is_del(E_OBJECT(ec))) &&
  (!e_client_util_is_popup(ec)))
{
@@ -2776,7 +2777,7 @@ _ibar_cb_client_del(void *d EINA_UNUSED, int t EINA_UNUSED, E_Event_Client *ev)
  }
  continue;
   }
-		
+
 ic = eina_hash_find(b->icon_hash, _desktop_name_get(ev->ec->desktop));
 if (ic)
   {


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





[EGIT] [enlightenment] 01/01: Ibar: Don't show clients twice

2025-07-04 Thread Enlightenment Git

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

git pushed a commit to reference refs/pull/119/head
in repository enlightenment.


View the commit online.
commit 36412beccb8664249a7dfa09ab57c356005aa173
Author: Swagtoy 
AuthorDate: Fri Jul 4 15:39:56 2025 -0400

Ibar: Don't show clients twice
---
 src/modules/ibar/e_mod_main.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c
index 339adb279..2acaa0e85 100644
--- a/src/modules/ibar/e_mod_main.c
+++ b/src/modules/ibar/e_mod_main.c
@@ -594,6 +594,7 @@ _ibar_fill(IBar *b)
 eina_iterator_free(it);
 EINA_LIST_FOREACH(e_comp->clients, l, ec)
   {
+ if (ec->exe_inst) continue;
  if ((!e_client_util_ignored_get(ec)) && (!e_object_is_del(E_OBJECT(ec))) &&
  (!e_client_util_is_popup(ec)))
{
@@ -2776,7 +2777,7 @@ _ibar_cb_client_del(void *d EINA_UNUSED, int t EINA_UNUSED, E_Event_Client *ev)
  }
  continue;
   }
-		
+
 ic = eina_hash_find(b->icon_hash, _desktop_name_get(ev->ec->desktop));
 if (ic)
   {


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





[EGIT] [enlightenment] 01/01: Ibar: Show tasks for clients without FDO instances

2025-07-04 Thread Enlightenment Git

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

git pushed a commit to branch ibar-show-tasks
in repository enlightenment.


View the commit online.
commit 344adeb7cb86ff5084792469eafa1588b9e9c6fc
Author: Swagtoy 
AuthorDate: Fri Jul 4 14:31:41 2025 -0400

Ibar: Show tasks for clients without FDO instances

For a long while, I used to think ibar not showing clients with .desktop files was a bug (in fact, i used to think that some clients simple didn't like showing up). Turns out that is intended.

This will now show those when dont_add_nonorder is false. More Notably, all of Enlightenment's builtin clients will now show (like config, popups, etc.) and stuff like Steam games.
---
 src/modules/ibar/e_mod_main.c | 205 ++
 1 file changed, 150 insertions(+), 55 deletions(-)

diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c
index 38581484a..339adb279 100644
--- a/src/modules/ibar/e_mod_main.c
+++ b/src/modules/ibar/e_mod_main.c
@@ -70,6 +70,7 @@ struct _IBar_Icon
Evas_Object *o_holder, *o_icon;
Evas_Object *o_holder2, *o_icon2;
Eina_List   *client_objs;
+   E_Client*single_client;
Efreet_Desktop  *app;
Ecore_Timer *reset_timer;
Ecore_Timer *timer;
@@ -105,8 +106,8 @@ static void _ibar_resize_handle(IBar *b);
 static void _ibar_instance_drop_zone_recalc(Instance *inst);
 static Config_Item *_ibar_config_item_get(const char *id);
 static IBar_Icon   *_ibar_icon_at_coord(IBar *b, Evas_Coord x, Evas_Coord y);
-static IBar_Icon   *_ibar_icon_new(IBar *b, Efreet_Desktop *desktop, Eina_Bool notinorder);
-static IBar_Icon   *_ibar_icon_notinorder_new(IBar *b, E_Exec_Instance *exe);
+static IBar_Icon   *_ibar_icon_new(IBar *b, E_Client *ec, Efreet_Desktop *desktop, Eina_Bool notinorder);
+static IBar_Icon   *_ibar_icon_notinorder_new(IBar *b, E_Exec_Instance *exe, E_Client *ec);
 static void _ibar_icon_free(IBar_Icon *ic);
 static void _ibar_icon_fill(IBar_Icon *ic);
 static void _ibar_icon_empty(IBar_Icon *ic);
@@ -542,7 +543,7 @@ _ibar_fill(IBar *b)
 EINA_LIST_FOREACH(b->io->eo->desktops, l, desktop)
   {
  const Eina_List *ll;
- ic = _ibar_icon_new(b, desktop, 0);
+ ic = _ibar_icon_new(b, NULL, desktop, 0);
  ll = e_exec_desktop_instances_find(desktop);
  if (ll)
{
@@ -556,18 +557,19 @@ _ibar_fill(IBar *b)
 const Eina_Hash *execs = e_exec_instances_get();
 Eina_Iterator *it;
 const Eina_List *l, *ll;
+const Eina_Inlist *il;
 E_Exec_Instance *exe;
+E_Client *ec;
 
 it = eina_hash_iterator_data_new(execs);
 EINA_ITERATOR_FOREACH(it, l)
   {
  EINA_LIST_FOREACH(l, ll, exe)
{
-  E_Client *ec;
   Eina_List *lll;
   Eina_Bool skip = EINA_TRUE;
 
-  if (!exe->desktop) continue;
+  //if (!exe->desktop) continue;
   EINA_LIST_FOREACH(exe->clients, lll, ec)
 if (!ec->netwm.state.skip_taskbar)
   {
@@ -575,18 +577,30 @@ _ibar_fill(IBar *b)
  break;
   }
   if (skip) continue;
-  ic = eina_hash_find(b->icon_hash, _desktop_name_get(exe->desktop));
-  if (ic)
+  if (exe->desktop)
 {
-   if (!eina_list_data_find(ic->exes, exe))
- ic->exes = eina_list_append(ic->exes, exe);
-   continue;
+   ic = eina_hash_find(b->icon_hash, _desktop_name_get(exe->desktop));
+   if (ic)
+ {
+if (!eina_list_data_find(ic->exes, exe))
+  ic->exes = eina_list_append(ic->exes, exe);
+continue;
+ }
 }
   _ibar_sep_create(b);
-  _ibar_icon_notinorder_new(b, exe);
+  _ibar_icon_notinorder_new(b, exe, NULL);
}
   }
 eina_iterator_free(it);
+EINA_LIST_FOREACH(e_comp->clients, l, ec)
+  {
+ if ((!e_client_util_ignored_get(ec)) && (!e_object_is_del(E_OBJECT(ec))) &&
+ (!e_client_util_is_popup(ec)))
+   {
+  _ibar_sep_create(b);
+  _ibar_icon_notinorder_new(b, NULL, ec);
+   }
+  }
  }
 
_ibar_empty_handle(b);
@@ -732,17 +746,17 @@ _ibar_config_update(Config_Item *ci)
{
 case 0:
   edje_object_part_text_set(ic->o_holder2, "e.text.label",
-ic->app->name);
+