From a0d4d729d3f8d39f578f5e1080ded8c00bdeab68 Mon Sep 17 00:00:00 2001 From: Uli Schlachter Date: Fri, 12 Feb 2016 18:27:40 +0100 Subject: [PATCH] Remove awful.mouse.finder This module is partly broken since 2009 (the way to use it that is mentioned in the docs doesn't actually work) because the mousefinder object doesn't have a find()-method (the line doing "self.find = find" should do "self.finder = finder.find"). Since no one really noticed, this module is apparently not used much. When someone wants to still use this, they are free to copy this to their own config. It's not much code, but it's enough code that I am annoyed that we ship something broken to users. Everyone who copies it to their own config will make sure it works the way they want. Signed-off-by: Uli Schlachter --- lib/awful/mouse/finder.lua | 167 ------------------------------------- lib/awful/mouse/init.lua | 2 - 2 files changed, 169 deletions(-) delete mode 100644 lib/awful/mouse/finder.lua diff --git a/lib/awful/mouse/finder.lua b/lib/awful/mouse/finder.lua deleted file mode 100644 index c3985a7db..000000000 --- a/lib/awful/mouse/finder.lua +++ /dev/null @@ -1,167 +0,0 @@ -------------------------------------------------------------------------- ---- Mouse finder for awful --- --- Find the mouse pointer on the screen. --- Mouse finder highlights the mouse cursor on the screen --- To enable this feature, a `awful.mouse.finder` object needs to be bound to a --- key: --- --- mymousefinder = awful.mouse.finder() --- --- Then bind the `find` function a key binding. --- --- Some configuration variable can be set in the theme: --- --- The mouse_finder display duration --- --- theme.mouse_finder_timeout = 3 --- --- The animation speed --- --- theme.mouse_finder_animate_timeout = 0.05 --- --- The mouse_finder radius --- --- theme.mouse_finder_radius = 20 --- --- The growth factor --- --- theme.mouse_finder_factor = 2 --- --- The mouse_finder color --- --- theme.mouse_finder_color = "#ff0000" --- --- @author Sébastien Gross <seb•ɱɩɲʋʃ•awesome•ɑƬ•chezwam•ɖɵʈ•org> --- @copyright 2009 Sébastien Gross --- @release @AWESOME_VERSION@ --- @module awful.mouse.finder -------------------------------------------------------------------------- - -local timer = require("gears.timer") -local wibox = require("wibox") -local a_placement = require("awful.placement") -local beautiful = require("beautiful") -local setmetatable = setmetatable - -local finder = { mt = {} } - ---- Mouse finder private data. --- @table data --- @field color Background color. --- @field hide The hide() function. --- @field show The show() function. --- @field timer Timer to hide the mouse finder. --- @field animate_timer Timer to animate the mouse finder. --- @field wibox The mouse finder wibox show on the screen. -local data = setmetatable({}, { __mode = 'k' }) - ---- Place a mouse finder on the screen. --- @param self A mouse finder object. -local function place(self) - a_placement.under_mouse(data[self].wibox) - a_placement.no_offscreen(data[self].wibox) -end - ---- Animate a mouse finder. --- @param self A mouse finder object. -local function animate(self) - local r = data[self].wibox:geometry().width - -- Check if the object should be grown or shrinked - -- the minimum radius is -data[self].factor because: - -- 1. factor is alway negative when shrinking - -- 2. geometry() does not handle negative values - if data[self].factor > 0 and r >= data[self].radius - or data[self].factor < 0 and r <= -data[self].factor then - data[self].factor = -data[self].factor - end - data[self].wibox:geometry({width = r + data[self].factor, - height = r + data[self].factor }) - -- need -1 to the radius to draw a full circle - -- FIXME: The rounded_corners() API was removed - -- a_wibox.rounded_corners(data[self].wibox, (r + data[self].factor)/2 -1) - -- make sure the mouse finder follows the pointer. Uh! - place(self) -end - - ---- Show a mouse finder. --- @param self The mouse finder to show. -local function show(self) - -- do nothing if the mouse finder is already shown - if data[self].wibox.visible then return end - if not data[self].timer.started then - data[self].wibox:geometry({width = data[self].radius, height = data[self].radius }) - -- FIXME: The rounded_corners() API was removed - -- a_wibox.rounded_corners(data[self].wibox, data[self].radius/2 -1) - data[self].timer:start() - data[self].animate_timer:start() - end - place(self) - data[self].wibox.visible = true -end - ---- Hide a mouse finder. --- @param self The mouse finder to hide. -local function hide(self) - -- do nothing if the mouse finder is already hidden - if not data[self].wibox.visible then return end - if data[self].timer.started then - data[self].timer:stop() - data[self].animate_timer:stop() - end - data[self].wibox.visible = false -end - ---- Load Default values. --- @param self A mouse finder object. -local function set_defaults(self) - data[self].wibox.border_width = 0 - data[self].wibox.opacity = beautiful.mouse_finder_opacity or 1 - data[self].wibox:set_bg(beautiful.mouse_finder_color or beautiful.bg_focus or "#ff0000") - data[self].timeout = beautiful.mouse_finder_timeout or 3 - data[self].animate_timeout = beautiful.mouse_finder_animate_timeout or 0.05 - data[self].radius = beautiful.mouse_finder_radius or 20 - data[self].factor = beautiful.mouse_finder_factor or 2 -end - ---- Find the mouse on the screen --- @param self A mouse finder object. -function finder.find(self) - show(self) -end - ---- Create a new mouse finder. -local function new() - local self = { } - -- private data - data[self] = { - wibox = wibox({ }), - show = function() show(self) end, - hide = function() hide(self) end, - animate = function() animate(self) end, - } - - -- export functions - self.find = find - - set_defaults(self) - - -- setup the timer action only if needed - data[self].timer = timer { timeout = data[self].timeout } - data[self].animate_timer = timer { timeout = data[self].animate_timeout } - data[self].timer:connect_signal("timeout", data[self].hide) - data[self].animate_timer:connect_signal("timeout", data[self].animate) - data[self].wibox.ontop = true - data[self].wibox.visible = false - - return self -end - -function finder.mt:__call(...) - return new(...) -end - -return setmetatable(finder, finder.mt) - --- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/lib/awful/mouse/init.lua b/lib/awful/mouse/init.lua index daa662d6e..285b3aecc 100644 --- a/lib/awful/mouse/init.lua +++ b/lib/awful/mouse/init.lua @@ -25,8 +25,6 @@ local capi = mousegrabber = mousegrabber, } -local finder = require("awful.mouse.finder") - local mouse = {} mouse.client = {}