diff --git a/.config/ags/lib/cursorhover.js b/.config/ags/lib/cursorhover.js index c8c436b6c..89be913b9 100644 --- a/.config/ags/lib/cursorhover.js +++ b/.config/ags/lib/cursorhover.js @@ -1,6 +1,6 @@ const { Gdk } = imports.gi; -export function setupCursorHover(button) { +export function setupCursorHover(button) { // 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'); @@ -14,7 +14,7 @@ export function setupCursorHover(button) { } -export function setupCursorHoverAim(button) { +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'); @@ -28,7 +28,7 @@ export function setupCursorHoverAim(button) { }); } -export function setupCursorHoverGrab(button) { +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'); @@ -42,7 +42,7 @@ export function setupCursorHoverGrab(button) { }); } -export function setupCursorHoverInfo(button) { +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'); @@ -55,43 +55,3 @@ export function setupCursorHoverInfo(button) { }); } -// failed radial ripple experiment -// -// var clicked = false; -// var dummy = false; -// var cursorX = 0; -// var cursorY = 0; -// const styleContext = button.get_style_context(); -// var clickColor = styleContext.get_property('background-color', Gtk.StateFlags.HOVER); -// clickColor.green += CLICK_BRIGHTEN_AMOUNT; -// clickColor.blue += CLICK_BRIGHTEN_AMOUNT; -// clickColor.red += CLICK_BRIGHTEN_AMOUNT; -// clickColor = clickColor.to_string(); -// button.add_events(Gdk.EventMask.POINTER_MOTION_MASK); -// button.connect('motion-notify-event', (widget, event) => { -// [dummy, cursorX, cursorY] = event.get_coords(); // Get the mouse coordinates relative to the widget -// if(!clicked) widget.css = ` -// background-image: radial-gradient(circle at ${cursorX}px ${cursorY}px, rgba(0,0,0,0), rgba(0,0,0,0) 0%, rgba(0,0,0,0) 0%, ${clickColor} 0%, ${clickColor} 0%, ${clickColor} 0%, ${clickColor} 0%, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 0%); -// `; -// }); - -// button.connect('button-press-event', (widget, event) => { -// clicked = true; -// [dummy, cursorX, cursorY] = event.get_coords(); // Get the mouse coordinates relative to the widget -// cursorX = Math.round(cursorX); cursorY = Math.round(cursorY); -// widget.css = ` -// background-image: radial-gradient(circle at ${cursorX}px ${cursorY}px, rgba(0,0,0,0), rgba(0,0,0,0) 0%, rgba(0,0,0,0) 0%, ${clickColor} 0%, ${clickColor} 0%, ${clickColor} 0%, ${clickColor} 0%, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 0%); -// `; -// widget.toggleClassName('growingRadial', true); -// widget.css = ` -// background-image: radial-gradient(circle at ${cursorX}px ${cursorY}px, rgba(0,0,0,0), rgba(0,0,0,0) 0%, rgba(0,0,0,0) 0%, ${clickColor} 0%, ${clickColor} 0%, ${clickColor} 70%, ${clickColor} 70%, rgba(0,0,0,0) 70%, rgba(0,0,0,0) 70%); -// ` -// }); -// button.connect('button-release-event', (widget, event) => { -// widget.toggleClassName('growingRadial', false); -// widget.toggleClassName('fadingRadial', false); -// widget.css = ` -// background-image: radial-gradient(circle at ${cursorX}px ${cursorY}px, rgba(0,0,0,0), rgba(0,0,0,0) 0%, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 70%, rgba(0,0,0,0) 70%, rgba(0,0,0,0) 70%, rgba(0,0,0,0) 70%); -// ` -// clicked = false; -// }); diff --git a/.config/ags/widgets/sideleft/apiwidgets.js b/.config/ags/widgets/sideleft/apiwidgets.js index b3adc27f5..5bab156a4 100644 --- a/.config/ags/widgets/sideleft/apiwidgets.js +++ b/.config/ags/widgets/sideleft/apiwidgets.js @@ -72,6 +72,9 @@ export const chatEntry = TextView({ acceptsTab: false, className: 'sidebar-chat-entry txt txt-smallie', setup: (self) => self + .hook(App, (self, currentName, visible) => { + if (currentName === 'sideleft' && visible) self.grab_focus(); + }) .hook(ChatGPT, (self) => { if (APIS[currentApiId].name != 'Assistant (ChatGPT 3.5)') return; self.placeholderText = (ChatGPT.key.length > 0 ? 'Message ChatGPT...' : 'Enter OpenAI API Key...'); diff --git a/.config/ags/widgets/sideleft/sideleft.js b/.config/ags/widgets/sideleft/sideleft.js index 0b854f922..d2ab6c285 100644 --- a/.config/ags/widgets/sideleft/sideleft.js +++ b/.config/ags/widgets/sideleft/sideleft.js @@ -119,13 +119,7 @@ const pinButton = Button({ child: MaterialIcon('push_pin', 'larger'), tooltipText: 'Pin sidebar (Ctrl+P)', onClicked: (self) => self.attribute.toggle(self), - // Focus Pin button on open. Hit keybind -> space/enter = toggle pin state - setup: (self) => self - .hook(App, (self, currentName, visible) => { - if (currentName === 'sideleft' && visible) - self.grab_focus(); - }) - , + setup: setupCursorHover, }) export default () => Box({