Mouse effects: highlight clickable areas even when the mouse is on the panel border

This commit is contained in:
o9000
2016-02-27 13:41:36 +01:00
parent b038b58015
commit 0a77293f7d
12 changed files with 105 additions and 109 deletions

View File

@@ -67,6 +67,7 @@ Task *add_task(Window win)
memset(&task_template, 0, sizeof(task_template));
task_template.area.has_mouse_over_effect = panel_config.mouse_effects;
task_template.area.has_mouse_press_effect = panel_config.mouse_effects;
task_template.area._is_under_mouse = full_width_area_is_under_mouse;
task_template.win = win;
task_template.desktop = get_window_desktop(win);
task_template.area.panel = &panels[monitor];
@@ -95,6 +96,7 @@ Task *add_task(Window win)
memcpy(&task_instance->area, &panels[monitor].g_task.area, sizeof(Area));
task_instance->area.has_mouse_over_effect = panel_config.mouse_effects;
task_instance->area.has_mouse_press_effect = panel_config.mouse_effects;
task_instance->area._is_under_mouse = full_width_area_is_under_mouse;
task_instance->win = task_template.win;
task_instance->desktop = task_template.desktop;
task_instance->win_x = task_template.win_x;

View File

@@ -149,6 +149,7 @@ void init_taskbar_panel(void *p)
panel->g_taskbar.area_name.panel = panel;
panel->g_taskbar.area_name.size_mode = LAYOUT_FIXED;
panel->g_taskbar.area_name._resize = resize_taskbarname;
panel->g_taskbar.area_name._is_under_mouse = full_width_area_is_under_mouse;
panel->g_taskbar.area_name._draw_foreground = draw_taskbarname;
panel->g_taskbar.area_name._on_change_layout = 0;
panel->g_taskbar.area_name.resize_needed = 1;
@@ -160,6 +161,7 @@ void init_taskbar_panel(void *p)
panel->g_taskbar.area.size_mode = LAYOUT_DYNAMIC;
panel->g_taskbar.area.alignment = taskbar_alignment;
panel->g_taskbar.area._resize = resize_taskbar;
panel->g_taskbar.area._is_under_mouse = full_width_area_is_under_mouse;
panel->g_taskbar.area.resize_needed = 1;
panel->g_taskbar.area.on_screen = TRUE;
if (panel_horizontal) {

View File

@@ -89,4 +89,6 @@ void sort_taskbar_for_win(Window win);
void sort_tasks(Taskbar *taskbar);
gboolean taskbar_is_under_mouse(void *obj, int x, int y);
#endif