kwo pushed a commit to branch master.

http://git.enlightenment.org/e16/e16.git/commit/?id=02f0afd97b0111f4bf605df88cd5cee77061b3a3

commit 02f0afd97b0111f4bf605df88cd5cee77061b3a3
Author: Kim Woelders <k...@woelders.dk>
Date:   Sat Jun 27 19:35:23 2020 +0200

    Merge variables controlling click-to-raise configuration
---
 docs/e16.xml |  4 +---
 src/E.h      |  3 +--
 src/focus.c  | 27 ++++++++++++++++-----------
 3 files changed, 18 insertions(+), 16 deletions(-)

diff --git a/docs/e16.xml b/docs/e16.xml
index 442bc91e..dc90a411 100644
--- a/docs/e16.xml
+++ b/docs/e16.xml
@@ -1067,10 +1067,8 @@ effects.waves.enabled = 0
 
 # [int] Focus mode (0: pointer, 1: sloppy, 2: click)
 focus.mode = 1
-# [bool] Raise window when clicked
+# [int] Click-to-raise mode (0: Off, 1: Any button, 2: Only button 1)
 focus.clickraises = 1
-# [bool] Only primary mouse button can raise window
-focus.only_button1_can_raise = 0
 # [bool] Transients are placed where leader is
 focus.transientsfollowleader = 1
 # [bool] When a transient is mapped the desk/area is switched to where the 
transient appears
diff --git a/src/E.h b/src/E.h
index bb3c9650..032f5df9 100644
--- a/src/E.h
+++ b/src/E.h
@@ -185,8 +185,7 @@ typedef struct {
    } dock;
    struct {
       int                 mode;
-      char                clickraises;
-      char                only_button1_can_raise;
+      int                 clickraises;
       char                transientsfollowleader;
       char                switchfortransientmap;
       char                all_new_windows_get_focus;
diff --git a/src/focus.c b/src/focus.c
index 03e36d25..658dc63f 100644
--- a/src/focus.c
+++ b/src/focus.c
@@ -227,7 +227,7 @@ ClickGrabsSet(EWin * ewin)
    int                 set = 0;
    unsigned int        raise_button = AnyButton;
 
-   if (Conf.focus.only_button1_can_raise)
+   if (Conf.focus.clickraises == 2)
       raise_button = Button1;
 
    if ((Conf.focus.clickraises && !EwinListStackIsRaised(ewin)) ||
@@ -747,8 +747,7 @@ FocusHandleClick(EWin * ewin, Win win)
 typedef struct {
    struct {
       int                 mode;
-      char                clickalways;
-      char                button1_raises;
+      int                 clickalways;
       char                new_focus;
       char                new_focus_if_group;
       char                popup_focus;
@@ -784,7 +783,6 @@ _DlgApplyFocus(Dialog * d, int val __UNUSED__, void *data 
__UNUSED__)
 
    Conf.focus.mode = dd->focus.mode;
    Conf.focus.clickraises = dd->focus.clickalways;
-   Conf.focus.only_button1_can_raise = dd->focus.button1_raises;
    Conf.focus.all_new_windows_get_focus = dd->focus.new_focus;
    Conf.focus.new_windows_get_focus_if_group_focused =
       dd->focus.new_focus_if_group;
@@ -822,7 +820,6 @@ _DlgFillFocus(Dialog * d, DItem * table, void *data 
__UNUSED__)
 
    dd->focus.mode = Conf.focus.mode;
    dd->focus.clickalways = Conf.focus.clickraises;
-   dd->focus.button1_raises = Conf.focus.only_button1_can_raise;
    dd->focus.new_focus = Conf.focus.all_new_windows_get_focus;
    dd->focus.new_focus_if_group =
       Conf.focus.new_windows_get_focus_if_group_focused;
@@ -871,15 +868,24 @@ _DlgFillFocus(Dialog * d, DItem * table, void *data 
__UNUSED__)
    di = DialogAddItem(table, DITEM_SEPARATOR);
    DialogItemSetColSpan(di, 2);
 
-   di = DialogAddItem(table, DITEM_CHECKBUTTON);
+   radio = di = DialogAddItem(table, DITEM_RADIOBUTTON);
+   DialogItemSetColSpan(di, 2);
+   DialogItemSetText(di, _("Clicking in a window does not raise it"));
+   DialogItemRadioButtonSetFirst(di, radio);
+   DialogItemRadioButtonGroupSetVal(di, 0);
+
+   di = DialogAddItem(table, DITEM_RADIOBUTTON);
    DialogItemSetColSpan(di, 2);
    DialogItemSetText(di, _("Clicking in a window always raises it"));
-   DialogItemCheckButtonSetPtr(di, &dd->focus.clickalways);
+   DialogItemRadioButtonSetFirst(di, radio);
+   DialogItemRadioButtonGroupSetVal(di, 1);
 
-   di = DialogAddItem(table, DITEM_CHECKBUTTON);
+   di = DialogAddItem(table, DITEM_RADIOBUTTON);
    DialogItemSetColSpan(di, 2);
    DialogItemSetText(di, _("Only primary mouse button can raise window"));
-   DialogItemCheckButtonSetPtr(di, &dd->focus.button1_raises);
+   DialogItemRadioButtonSetFirst(di, radio);
+   DialogItemRadioButtonGroupSetVal(di, 2);
+   DialogItemRadioButtonGroupSetValPtr(radio, &dd->focus.clickalways);
 
    di = DialogAddItem(table, DITEM_SEPARATOR);
    DialogItemSetColSpan(di, 2);
@@ -1187,8 +1193,7 @@ static const IpcItem FocusIpcArray[] = {
 
 static const CfgItem FocusCfgItems[] = {
    CFG_ITEM_INT(Conf.focus, mode, MODE_FOCUS_SLOPPY),
-   CFG_ITEM_BOOL(Conf.focus, clickraises, 1),
-   CFG_ITEM_BOOL(Conf.focus, only_button1_can_raise, 0),
+   CFG_ITEM_INT(Conf.focus, clickraises, 1),
    CFG_ITEM_BOOL(Conf.focus, transientsfollowleader, 1),
    CFG_ITEM_BOOL(Conf.focus, switchfortransientmap, 1),
    CFG_ITEM_BOOL(Conf.focus, all_new_windows_get_focus, 0),

-- 


Reply via email to