Allow middle click & up/down mousewheel on the clock

The bulk of this commit originally came from David B. Cortarello's
patch (see here - https://gitlab.com/o9000/tint2/issues/430), with me
adding the up/down mousewheel elements.

Under Openbox the middle-click is normally used to display the Openbox
menu and the mousewheel to switch desktop. So I needed to modify tint.c
in order to prevent openbox intercepting the new actions.

This commit creates the following new configuration settings :-

clock_mclick_command
clock_uwheel_command
clock_dwheel_command
This commit is contained in:
berkley4
2015-07-13 03:39:14 +01:00
parent c4fbc2962e
commit e84d963ab6
4 changed files with 41 additions and 1 deletions

View File

@@ -39,7 +39,10 @@ char *time2_timezone;
char *time_tooltip_format;
char *time_tooltip_timezone;
char *clock_lclick_command;
char *clock_mclick_command;
char *clock_rclick_command;
char *clock_uwheel_command;
char *clock_dwheel_command;
struct timeval time_clock;
PangoFontDescription *time1_font_desc;
PangoFontDescription *time2_font_desc;
@@ -61,7 +64,10 @@ void default_clock()
time_tooltip_format = NULL;
time_tooltip_timezone = NULL;
clock_lclick_command = NULL;
clock_mclick_command = NULL;
clock_rclick_command = NULL;
clock_uwheel_command = NULL;
clock_dwheel_command = NULL;
time1_font_desc = NULL;
time2_font_desc = NULL;
}
@@ -86,8 +92,14 @@ void cleanup_clock()
time_tooltip_timezone = NULL;
free(clock_lclick_command);
clock_lclick_command = NULL;
free(clock_mclick_command);
clock_mclick_command = NULL;
free(clock_rclick_command);
clock_rclick_command = NULL;
free(clock_uwheel_command);
clock_uwheel_command = NULL;
free(clock_dwheel_command);
clock_dwheel_command = NULL;
stop_timeout(clock_timeout);
clock_timeout = NULL;
}
@@ -277,9 +289,18 @@ void clock_action(int button)
case 1:
command = clock_lclick_command;
break;
case 2:
command = clock_mclick_command;
break;
case 3:
command = clock_rclick_command;
break;
case 4:
command = clock_uwheel_command;
break;
case 5:
command = clock_dwheel_command;
break;
}
tint_exec(command);
}