Merge variables controlling click-to-raise configuration

This commit is contained in:
Kim Woelders 2020-06-27 19:35:23 +02:00
parent 79711672ab
commit 02f0afd97b
3 changed files with 18 additions and 16 deletions

View File

@ -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

View File

@ -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;

View File

@ -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),