⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 magnifier.lua.in

📁 awesome is a highly configurable, next generation framework window manager for X. It is very fast, l
💻 IN
字号:
----------------------------------------------------------------------------- @author Julien Danjou <julien@danjou.info>-- @copyright 2008 Julien Danjou-- @release @AWESOME_VERSION@----------------------------------------------------------------------------- Grab environment we needlocal setmetatable = setmetatablelocal ipairs = ipairslocal math = mathlocal tag = require("awful.tag")local capi ={    client = client,    screen = screen}local client = require("awful.client")--- Magnifier layout module for awfulmodule("awful.layout.suit.magnifier")local function magnifier(_, screen)    -- Fullscreen?    local area = capi.screen[screen].workarea    local cls = client.tiled(screen)    local focus = capi.client.focus    local t = tag.selected(screen)    local mwfact = tag.getmwfact(t)    local fidx -- Focus client index in cls table    -- Check that the focused window is on the right screen    if focus and focus.screen ~= screen then focus = nil end    if not focus and #cls > 0 then        focus = cls[1]        fidx = 1    end    -- Abort if no clients are present    if not focus then return end    -- If focused window is not tiled, take the first one which is tiled.    if client.floating.get(focus) then        focus = cls[1]        fidx = 1    end    local geometry = {}    if #cls > 1 then        geometry.width = area.width * math.sqrt(mwfact)        geometry.height = area.height * math.sqrt(mwfact)        geometry.x = area.x + (area.width - geometry.width) / 2        geometry.y = area.y + (area.height - geometry.height) /2    else        geometry.x = area.x        geometry.y = area.y        geometry.width = area.width        geometry.height = area.height    end    focus:geometry(geometry)    focus:raise()    if #cls > 1 then        geometry.x = area.x        geometry.y = area.y        geometry.height = area.height / (#cls - 1)        geometry.width = area.width        -- We don't know what the focus window index. Try to find it.        if not fidx then            for k, c in ipairs(cls) do                if c == focus then                    fidx = k                    break                end            end        end        -- First move clients that are before focused client.        for k = fidx + 1, #cls do            cls[k]:geometry(geometry)            geometry.y = geometry.y + geometry.height        end        -- Then move clients that are after focused client.        -- So the next focused window will be the one at the top of the screen.        for k = 1, fidx - 1 do            cls[k]:geometry(geometry)            geometry.y = geometry.y + geometry.height        end    endendsetmetatable(_M, { __call = magnifier })

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -