diff --git a/.config/ags/modules/.widgetutils/cursorhover.js b/.config/ags/modules/.widgetutils/cursorhover.js index 89be913b9..a368ae5c4 100644 --- a/.config/ags/modules/.widgetutils/cursorhover.js +++ b/.config/ags/modules/.widgetutils/cursorhover.js @@ -1,9 +1,10 @@ +// Cursor names reference: https://docs.gtk.org/gdk4/ctor.Cursor.new_from_name.html const { Gdk } = imports.gi; -export function setupCursorHover(button) { // Hand pointing cursor on hover +export function setupCursorHover(button, cursorName = 'pointer') { // Hand pointing cursor on hover const display = Gdk.Display.get_default(); button.connect('enter-notify-event', () => { - const cursor = Gdk.Cursor.new_from_name(display, 'pointer'); + const cursor = Gdk.Cursor.new_from_name(display, cursorName); button.get_window().set_cursor(cursor); }); @@ -15,43 +16,14 @@ export function setupCursorHover(button) { // Hand pointing cursor on hover } export function setupCursorHoverAim(button) { // Crosshair cursor on hover - button.connect('enter-notify-event', () => { - const display = Gdk.Display.get_default(); - const cursor = Gdk.Cursor.new_from_name(display, 'crosshair'); - button.get_window().set_cursor(cursor); - }); - - button.connect('leave-notify-event', () => { - const display = Gdk.Display.get_default(); - const cursor = Gdk.Cursor.new_from_name(display, 'default'); - button.get_window().set_cursor(cursor); - }); + setupCursorHover(button, 'crosshair'); } export function setupCursorHoverGrab(button) { // Hand ready to grab on hover - button.connect('enter-notify-event', () => { - const display = Gdk.Display.get_default(); - const cursor = Gdk.Cursor.new_from_name(display, 'grab'); - button.get_window().set_cursor(cursor); - }); - - button.connect('leave-notify-event', () => { - const display = Gdk.Display.get_default(); - const cursor = Gdk.Cursor.new_from_name(display, 'default'); - button.get_window().set_cursor(cursor); - }); + setupCursorHover(button, 'grab'); } export function setupCursorHoverInfo(button) { // "?" mark cursor on hover - const display = Gdk.Display.get_default(); - button.connect('enter-notify-event', () => { - const cursor = Gdk.Cursor.new_from_name(display, 'help'); - button.get_window().set_cursor(cursor); - }); - - button.connect('leave-notify-event', () => { - const cursor = Gdk.Cursor.new_from_name(display, 'default'); - button.get_window().set_cursor(cursor); - }); + setupCursorHover(button, 'help'); } diff --git a/.config/ags/modules/sideleft/apiwidgets.js b/.config/ags/modules/sideleft/apiwidgets.js index faa79ae39..3ed999416 100644 --- a/.config/ags/modules/sideleft/apiwidgets.js +++ b/.config/ags/modules/sideleft/apiwidgets.js @@ -3,7 +3,7 @@ import Widget from 'resource:///com/github/Aylur/ags/widget.js'; import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; const { Box, Button, CenterBox, Entry, EventBox, Icon, Label, Overlay, Revealer, Scrollable, Stack } = Widget; const { execAsync, exec } = Utils; -import { setupCursorHover, setupCursorHoverInfo } from '../.widgetutils/cursorhover.js'; +import { setupCursorHover } from '../.widgetutils/cursorhover.js'; // APIs import GPTService from '../../services/gpt.js'; import Gemini from '../../services/gemini.js';