cleanup fake input
This commit is contained in:
parent
42d8e29db8
commit
6a2c72c643
163
init.lua
163
init.lua
|
@ -10,70 +10,76 @@ local function new(args)
|
||||||
local mod = keys.mod or "Mod4"
|
local mod = keys.mod or "Mod4"
|
||||||
local mod_keysym = keys.mod_keysym or "Super_L"
|
local mod_keysym = keys.mod_keysym or "Super_L"
|
||||||
|
|
||||||
local focus = function(dir)
|
local tmux = {}
|
||||||
local c = client.focus
|
tmux.left = function()
|
||||||
local client_name = c and c.name or ""
|
|
||||||
if string.find(client_name, "- N?VIM$") then
|
|
||||||
keygrabber.stop()
|
|
||||||
root.fake_input("key_release", mod_keysym)
|
|
||||||
root.fake_input("key_release", "Control_L")
|
|
||||||
root.fake_input("key_press", "Control_L")
|
|
||||||
if dir == "left" then
|
|
||||||
root.fake_input("key_release", "h")
|
|
||||||
root.fake_input("key_press", "h")
|
|
||||||
root.fake_input("key_release", "h")
|
|
||||||
else
|
|
||||||
if dir == "right" then
|
|
||||||
root.fake_input("key_release", "l")
|
|
||||||
root.fake_input("key_press", "l")
|
|
||||||
root.fake_input("key_release", "l")
|
|
||||||
else
|
|
||||||
if dir == "up" then
|
|
||||||
root.fake_input("key_release", "k")
|
|
||||||
root.fake_input("key_press", "k")
|
|
||||||
root.fake_input("key_release", "k")
|
|
||||||
else
|
|
||||||
if dir == "down" then
|
|
||||||
root.fake_input("key_release", "j")
|
|
||||||
root.fake_input("key_press", "j")
|
|
||||||
root.fake_input("key_release", "j")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
root.fake_input("key_release", "Control_L")
|
|
||||||
root.fake_input("key_press", mod_keysym)
|
|
||||||
return
|
|
||||||
else
|
|
||||||
if string.find(client_name, "- TMUX$") then
|
|
||||||
keygrabber.stop()
|
|
||||||
root.fake_input("key_release", mod_keysym)
|
|
||||||
root.fake_input("key_press", "Control_L")
|
|
||||||
if dir == "left" then
|
|
||||||
root.fake_input("key_release", "Left")
|
root.fake_input("key_release", "Left")
|
||||||
root.fake_input("key_press", "Left")
|
root.fake_input("key_press", "Left")
|
||||||
root.fake_input("key_release", "Left")
|
root.fake_input("key_release", "Left")
|
||||||
else
|
end
|
||||||
if dir == "right" then
|
tmux.right = function()
|
||||||
root.fake_input("key_release", "Right")
|
root.fake_input("key_release", "Right")
|
||||||
root.fake_input("key_press", "Right")
|
root.fake_input("key_press", "Right")
|
||||||
root.fake_input("key_release", "Right")
|
root.fake_input("key_release", "Right")
|
||||||
else
|
end
|
||||||
if dir == "up" then
|
tmux.up = function()
|
||||||
root.fake_input("key_release", "Up")
|
root.fake_input("key_release", "Up")
|
||||||
root.fake_input("key_press", "Up")
|
root.fake_input("key_press", "Up")
|
||||||
root.fake_input("key_release", "Up")
|
root.fake_input("key_release", "Up")
|
||||||
else
|
end
|
||||||
if dir == "down" then
|
tmux.down = function()
|
||||||
root.fake_input("key_release", "Down")
|
root.fake_input("key_release", "Down")
|
||||||
root.fake_input("key_press", "Down")
|
root.fake_input("key_press", "Down")
|
||||||
root.fake_input("key_release", "Down")
|
root.fake_input("key_release", "Down")
|
||||||
end
|
end
|
||||||
end
|
tmux.navigate = function(dir)
|
||||||
end
|
keygrabber.stop()
|
||||||
end
|
root.fake_input("key_release", mod_keysym)
|
||||||
|
root.fake_input("key_press", "Control_L")
|
||||||
|
tmux[dir]()
|
||||||
root.fake_input("key_release", "Control_L")
|
root.fake_input("key_release", "Control_L")
|
||||||
root.fake_input("key_press", mod_keysym)
|
root.fake_input("key_press", mod_keysym)
|
||||||
|
end
|
||||||
|
|
||||||
|
local vim = {}
|
||||||
|
vim.left = function()
|
||||||
|
root.fake_input("key_release", "h")
|
||||||
|
root.fake_input("key_press", "h")
|
||||||
|
root.fake_input("key_release", "h")
|
||||||
|
end
|
||||||
|
vim.right = function()
|
||||||
|
root.fake_input("key_release", "l")
|
||||||
|
root.fake_input("key_press", "l")
|
||||||
|
root.fake_input("key_release", "l")
|
||||||
|
end
|
||||||
|
vim.up = function()
|
||||||
|
root.fake_input("key_release", "k")
|
||||||
|
root.fake_input("key_press", "k")
|
||||||
|
root.fake_input("key_release", "k")
|
||||||
|
end
|
||||||
|
vim.down = function()
|
||||||
|
root.fake_input("key_release", "j")
|
||||||
|
root.fake_input("key_press", "j")
|
||||||
|
root.fake_input("key_release", "j")
|
||||||
|
end
|
||||||
|
vim.navigate = function(dir)
|
||||||
|
keygrabber.stop()
|
||||||
|
root.fake_input("key_release", mod_keysym)
|
||||||
|
root.fake_input("key_release", "Control_L")
|
||||||
|
root.fake_input("key_press", "Control_L")
|
||||||
|
vim[dir]()
|
||||||
|
root.fake_input("key_release", "Control_L")
|
||||||
|
root.fake_input("key_press", mod_keysym)
|
||||||
|
end
|
||||||
|
|
||||||
|
local focus = function(dir)
|
||||||
|
local c = client.focus
|
||||||
|
local client_name = c and c.name or ""
|
||||||
|
if string.find(client_name, "- N?VIM$") then
|
||||||
|
vim.navigate(dir)
|
||||||
|
return
|
||||||
|
else
|
||||||
|
if string.find(client_name, "- TMUX$") then
|
||||||
|
tmux.navigate(dir)
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
awful.client.focus.global_bydirection(dir)
|
awful.client.focus.global_bydirection(dir)
|
||||||
|
@ -88,67 +94,12 @@ local function new(args)
|
||||||
local pid = c and c.pid or -1
|
local pid = c and c.pid or -1
|
||||||
awful.spawn.easy_async("pstree -A -T " .. pid, function(out)
|
awful.spawn.easy_async("pstree -A -T " .. pid, function(out)
|
||||||
if string.find(out, "[^.*\n]%-tmux: client") then
|
if string.find(out, "[^.*\n]%-tmux: client") then
|
||||||
keygrabber.stop()
|
tmux.navigate(dir)
|
||||||
root.fake_input("key_release", mod_keysym)
|
|
||||||
root.fake_input("key_press", "Control_L")
|
|
||||||
if dir == "left" then
|
|
||||||
root.fake_input("key_release", "Left")
|
|
||||||
root.fake_input("key_press", "Left")
|
|
||||||
root.fake_input("key_release", "Left")
|
|
||||||
else
|
|
||||||
if dir == "right" then
|
|
||||||
root.fake_input("key_release", "Right")
|
|
||||||
root.fake_input("key_press", "Right")
|
|
||||||
root.fake_input("key_release", "Right")
|
|
||||||
else
|
|
||||||
if dir == "up" then
|
|
||||||
root.fake_input("key_release", "Up")
|
|
||||||
root.fake_input("key_press", "Up")
|
|
||||||
root.fake_input("key_release", "Up")
|
|
||||||
else
|
|
||||||
if dir == "down" then
|
|
||||||
root.fake_input("key_release", "Down")
|
|
||||||
root.fake_input("key_press", "Down")
|
|
||||||
root.fake_input("key_release", "Down")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
root.fake_input("key_release", "Control_L")
|
|
||||||
root.fake_input("key_press", mod_keysym)
|
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
if string.find(out, "[^.*\n]%-n?vim$") or string.find(out, "[^.*\n]%-n?vim%-") or
|
if string.find(out, "[^.*\n]%-n?vim$") or string.find(out, "[^.*\n]%-n?vim%-") or
|
||||||
string.find(out, "^gvim$") or string.find(out, "^gvim%-") then
|
string.find(out, "^gvim$") or string.find(out, "^gvim%-") then
|
||||||
keygrabber.stop()
|
vim.navigate(dir)
|
||||||
root.fake_input("key_release", mod_keysym)
|
|
||||||
root.fake_input("key_release", "Control_L")
|
|
||||||
root.fake_input("key_press", "Control_L")
|
|
||||||
if dir == "left" then
|
|
||||||
root.fake_input("key_release", "h")
|
|
||||||
root.fake_input("key_press", "h")
|
|
||||||
root.fake_input("key_release", "h")
|
|
||||||
else
|
|
||||||
if dir == "right" then
|
|
||||||
root.fake_input("key_release", "l")
|
|
||||||
root.fake_input("key_press", "l")
|
|
||||||
root.fake_input("key_release", "l")
|
|
||||||
else
|
|
||||||
if dir == "up" then
|
|
||||||
root.fake_input("key_release", "k")
|
|
||||||
root.fake_input("key_press", "k")
|
|
||||||
root.fake_input("key_release", "k")
|
|
||||||
else
|
|
||||||
if dir == "down" then
|
|
||||||
root.fake_input("key_release", "j")
|
|
||||||
root.fake_input("key_press", "j")
|
|
||||||
root.fake_input("key_release", "j")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
root.fake_input("key_release", "Control_L")
|
|
||||||
root.fake_input("key_press", mod_keysym)
|
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
awful.client.focus.global_bydirection(dir)
|
awful.client.focus.global_bydirection(dir)
|
||||||
|
|
Loading…
Reference in New Issue