diff --git a/api/lua/example_config.lua b/api/lua/example_config.lua index 5bb6301..f39ba86 100644 --- a/api/lua/example_config.lua +++ b/api/lua/example_config.lua @@ -55,22 +55,12 @@ require("pinnacle").setup(function(pinnacle) -- Keybinds ---------------------------------------------------------------------- - input.keybind({ mod_key }, keys.t, function() - output.get_by_name("lkhewtlkhtwe"):add_tags("nut", "dsa") - end) - -- mod_key + Alt + q quits the compositor input.keybind({ mod_key, "Alt" }, keys.q, pinnacle.quit) -- mod_key + Alt + c closes the focused window input.keybind({ mod_key, "Alt" }, keys.c, function() - -- The commented out line may crash the config process if you have no windows open. - -- There is no nil warning here due to limitations in Lua LS type checking, so check for nil as shown below. - -- window.get_focused():close() - local win = window.get_focused() - if win ~= nil then - win:close() - end + window.get_focused():close() end) -- mod_key + return spawns a terminal @@ -82,26 +72,17 @@ require("pinnacle").setup(function(pinnacle) -- mod_key + Alt + Space toggle floating on the focused window input.keybind({ mod_key, "Alt" }, keys.space, function() - local win = window.get_focused() - if win ~= nil then - win:toggle_floating() - end + window.get_focused():toggle_floating() end) -- mod_key + f toggles fullscreen on the focused window input.keybind({ mod_key }, keys.f, function() - local win = window.get_focused() - if win ~= nil then - win:toggle_fullscreen() - end + window.get_focused():toggle_fullscreen() end) -- mod_key + m toggles maximized on the focused window input.keybind({ mod_key }, keys.m, function() - local win = window.get_focused() - if win ~= nil then - win:toggle_maximized() - end + window.get_focused():toggle_maximized() end) -- Tags --------------------------------------------------------------------------- @@ -165,11 +146,11 @@ require("pinnacle").setup(function(pinnacle) end) -- mod_key + Alt + 1-5 moves windows to tags input.keybind({ mod_key, "Alt" }, tag_name, function() - local _ = window.get_focused() and window:get_focused():move_to_tag(tag_name) + window:get_focused():move_to_tag(tag_name) end) -- mod_key + Shift + Alt + 1-5 toggles tags on windows input.keybind({ mod_key, "Shift", "Alt" }, tag_name, function() - local _ = window.get_focused() and window.get_focused():toggle_tag(tag_name) + window.get_focused():toggle_tag(tag_name) end) end end) diff --git a/api/lua/window.lua b/api/lua/window.lua index 8dbe0dc..2d62358 100644 --- a/api/lua/window.lua +++ b/api/lua/window.lua @@ -225,7 +225,8 @@ function window.get_by_title(title) end ---Get the currently focused window. ----@return WindowHandle +--- +---@return WindowHandle handle A handle to the currently focused window. If there are none, this returns a dummy handle that can still be used but will be ignored by the compositor. function window.get_focused() -- TODO: get focused on output local windows = window.get_all()