mirror of
https://github.com/elenapan/dotfiles.git
synced 2026-01-10 11:12:37 +08:00
Make lock screen work with multiple monitors (#75)
* Make lockscreen work with multiple screens * Small refactoring * Fix function declaration Former-commit-id: de707acbb915f74d04e6ee5879f0b04c2d211ef5 Former-commit-id: fdba6451bade511547a7e9bb5c4183053073a098 Former-commit-id: 06a3b4328a5a51fc8bf98b52b21d07bf8b6bbf4f Former-commit-id: 7eadd93fe796535683f90622767e4fe6bd8fd657
This commit is contained in:
parent
5048251d05
commit
d13d4bb389
1 changed files with 28 additions and 3 deletions
|
|
@ -28,15 +28,40 @@ local lock_animation_icon = wibox.widget {
|
|||
-- It will not be visible anywhere.
|
||||
local some_textbox = wibox.widget.textbox()
|
||||
|
||||
-- This function adds blurry mask to a screen
|
||||
local function screen_mask(s)
|
||||
local mask = wibox({visible = false, ontop = true, type = "splash", screen = s})
|
||||
awful.placement.maximize(mask)
|
||||
mask.bg = beautiful.lock_screen_bg or "#21252b"
|
||||
mask.fg = beautiful.lock_screen_fg or "#abb2bf"
|
||||
return mask
|
||||
end
|
||||
|
||||
-- Create the lock screen wibox
|
||||
-- Set the type to "splash" and set all "splash" windows to be blurred in your
|
||||
-- compositor configuration file
|
||||
lock_screen = wibox({visible = false, ontop = true, type = "splash"})
|
||||
lock_screen = wibox({visible = false, ontop = true, type = "splash", screen = screen.primary})
|
||||
awful.placement.maximize(lock_screen)
|
||||
|
||||
lock_screen.bg = beautiful.lock_screen_bg or beautiful.exit_screen_bg or beautiful.wibar_bg or "#111111"
|
||||
lock_screen.fg = beautiful.lock_screen_fg or beautiful.exit_screen_fg or beautiful.wibar_fg or "#FEFEFE"
|
||||
|
||||
-- Add lockscreen to each screen
|
||||
for s in screen do
|
||||
if s == screen.primary then
|
||||
s.mylockscreen = lock_screen
|
||||
else
|
||||
s.mylockscreen = screen_mask(s)
|
||||
end
|
||||
end
|
||||
|
||||
-- Set visibility for lock screen on each monitor
|
||||
local function set_visibility(v)
|
||||
for s in screen do
|
||||
s.mylockscreen.visible = v
|
||||
end
|
||||
end
|
||||
|
||||
-- Items
|
||||
local day_of_the_week = wibox.widget {
|
||||
-- Fancy font
|
||||
|
|
@ -202,7 +227,7 @@ local function grab_password()
|
|||
if input == password then
|
||||
-- YAY
|
||||
reset()
|
||||
lock_screen.visible = false
|
||||
set_visibility(false)
|
||||
else
|
||||
-- NAY
|
||||
fail()
|
||||
|
|
@ -214,7 +239,7 @@ local function grab_password()
|
|||
end
|
||||
|
||||
function lock_screen_show()
|
||||
lock_screen.visible = true
|
||||
set_visibility(true)
|
||||
grab_password()
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue