QuakeConsole added.

This commit is contained in:
Kolan Sh 2022-01-25 16:17:46 +03:00 committed by Kolan Sh
parent a5ed9ac2e9
commit 38ad350475
1 changed files with 48 additions and 6 deletions

48
rc.lua
View File

@ -310,7 +310,35 @@ disk = wibox.widget.textbox()
vicious.register(disk, vicious.widgets.fs, '<span color="#E68347">${/ avail_gb}/${/home avail_gb}/${/mnt/1tb avail_gb}Gb </span>', 15)
disk:buttons(diskicon:buttons())
local mywibox_height = 14.5
local function update_quake_console(cli)
if cli == nil then
for c in awful.client.iterate(function (c) return c.instance == "QuakeConsole" end)
do
cli = c
break
end
end
if cli == nil then return end
if (not cli.hidden) then
cli.floating = true
if cli.maximized then
cli.border_width = 0
else
cli.border_width = 2
cli.width=awful.screen.focused().workarea.width * 0.96
cli.height=awful.screen.focused().workarea.height * 0.7
cli.x = awful.screen.focused().workarea.width * 0.02
cli.y = awful.screen.focused().workarea.height * 0.3 + mywibox_height
end
cli.ontop = true
cli:move_to_screen(awful.screen.focused ())
cli:tags({awful.screen.focused().selected_tag})
cli.skip_taskbar = true
client.focus = cli
end
end
----< Wibar >--------------------------------------------------
--
@ -408,7 +436,7 @@ awful.screen.connect_for_each_screen(function(s)
s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, tasklist_buttons)
-- Create the wibox
s.mywibox = awful.wibar({ position = "top", screen = s, height = 14.5 })
s.mywibox = awful.wibar({ position = "top", screen = s, height = mywibox_height })
-- Add widgets to the wibox
s.mywibox:setup {
@ -588,7 +616,18 @@ globalkeys = gears.table.join(
awful.key({ }, "Print", function () awful.util.spawn_with_shell ("DATE=`date +%Y%m%d_%H%M%S`;"..
"xsnap -nogui -file $HOME/screenshots/$DATE && geeqie -r $HOME/screenshots/$DATE.png") end, {description = "print screen", group = "screen"}),
-- Lock Screen --
awful.key({ "Mod4" }, "l", function () os.execute ("xscreensaver-command --lock") end, {description = "Lock screen", group = "login"})
awful.key({ "Mod4" }, "l", function () os.execute ("xscreensaver-command --lock") end, {description = "Lock screen", group = "login"}),
-- Quake Console --
awful.key({ modkey }, "grave",
function ()
os.execute ("pgrep -O1 -f QuakeConsole || urxvt -name QuakeConsole -title QuakeConsole &")
for c in awful.client.iterate(function (c) return c.instance == "QuakeConsole" end)
do c.hidden = not c.hidden end
update_quake_console(c)
end,
{description = "toggle quake console", group = "quake"}
)
)
clientkeys = gears.table.join(
@ -971,6 +1010,7 @@ client.connect_signal("manage", function (c)
-- Prevent clients from being unreachable after screen count changes.
awful.placement.no_offscreen(c)
end
if c.name == "QuakeConsole" then update_quake_console(c) end
end)
-- Add a titlebar if titlebars_enabled is set to true in the rules.
@ -1030,7 +1070,7 @@ client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_n
client.connect_signal("property::floating", function(c)
if c.maximized or c.fullscreen then return end
if c.floating and not c.maximized and not c.fullscreen then
if c.floating and not c.maximized and not c.fullscreen and not c.name == "QuakeConsole" then
if c.titlebar == nil then
c:emit_signal("request::titlebars", "rules", {})
end
@ -1048,8 +1088,10 @@ client.connect_signal("property::maximized", function(c)
c.border_width = 0
else
if c.floating then
if not c.name == "QuakeConsole" then
awful.titlebar.show(c)
c.border_width = 2
end
end
end
end)