73 lines
1.2 KiB
Lua
73 lines
1.2 KiB
Lua
local gears = require('gears')
|
|
local spawn = require('awful.spawn')
|
|
local app = require('configuration.apps').default.quake
|
|
-- local awful = require('awful')
|
|
|
|
local quake_id = 'notnil'
|
|
local quake_client
|
|
local opened = false
|
|
function create_shell()
|
|
quake_id =
|
|
spawn(
|
|
app,
|
|
{
|
|
skip_decoration = true
|
|
}
|
|
)
|
|
end
|
|
|
|
function open_quake()
|
|
quake_client.hidden = false
|
|
quake_client:emit_signal('request::activate')
|
|
end
|
|
|
|
function close_quake()
|
|
quake_client.hidden = true
|
|
end
|
|
|
|
toggle_quake = function()
|
|
opened = not opened
|
|
if not quake_client then
|
|
create_shell()
|
|
else
|
|
if opened then
|
|
open_quake()
|
|
else
|
|
close_quake()
|
|
end
|
|
end
|
|
end
|
|
|
|
client.connect_signal(
|
|
'manage',
|
|
function(c)
|
|
if c.pid == quake_id then
|
|
quake_client = c
|
|
c.opacity = 0.95
|
|
c.floating = true
|
|
c.skip_taskbar = true
|
|
c.ontop = true
|
|
c.above = true
|
|
c.sticky = true
|
|
c.hidden = not opened
|
|
c.maximized_horizontal = true
|
|
c.hide_titlebars = true
|
|
c.skip_center = true
|
|
c.round_corners = false
|
|
c.shape = function(cr, w, h)
|
|
gears.shape.rectangle(cr, w, h)
|
|
end
|
|
-- awful.placement.top(c)
|
|
end
|
|
end
|
|
)
|
|
|
|
client.connect_signal(
|
|
'unmanage',
|
|
function(c)
|
|
if c.pid == quake_id then
|
|
opened = false
|
|
quake_client = nil
|
|
end
|
|
end
|
|
) |