Drew DeVault
79dd99cb3c
Merge pull request #19 from swaywm/async
...
Async password verification
2019-01-17 08:12:03 -05:00
William Hua
8de5a06883
Allow image file paths to contain colons
...
Colon characters are allowed in file paths, so if an image file named
'foo:bar.png' is passed as an --image argument, it's currently parsed as
image 'bar.png' on output 'foo'.
This fix allows the caller to pass the argument ':foo:bar.png' and treat
an output of '' the same as NULL. This is assuming there will never be
an output named '' however...
2019-01-17 07:41:10 -05:00
emersion
c77f0eb4ed
Check password without blocking
2019-01-17 12:42:13 +01:00
Brian Ashworth
e3935ad143
Implement logging and remove wlroots dependency
...
This implements a simpler version of the wlroots logger for swaylock.
With this logger, the dependency on wlroots can be dropped. This also
adds a debug flag and disables debugging output by default
2019-01-14 23:30:54 -05:00
Robinhuett
1e7696fceb
Add caps lock state to indicator
...
This implements customization for the indicator as proposed in sway#2788 with comments from sway#3367 in mind.
The default behaviour does not change exept for the caps lock text color.
Since these changes seem to be lost in the split I've remade them.
2019-01-14 16:51:04 +01:00
Drew DeVault
b90637e2a6
Convert swaylock into standalone project
2019-01-13 21:16:47 -05:00
Ian Fan
70ce4f9dc6
Remove readline.c
...
All occurrences of read_line have been replaced by getline.
peek_line has been absorbed into detect_brace.
2019-01-01 09:01:25 +00:00
Cameron Nemo
53f55a7140
swaylock: fix build with musl libc
...
Signed-off-by: Cameron Nemo <camerontnorman@gmail.com>
2018-11-30 23:22:09 -08:00
emersion
8191c2147b
Replace _XOPEN_SOURCE with _POSIX_C_SOURCE
...
And make sure we don't define both in the same source file.
2018-11-25 17:19:43 +01:00
Drew DeVault
28e5138fad
Merge pull request #2925 from ianyfan/swaylock
...
swaylock: exit early if unable to get input inhibitor
2018-10-24 18:54:22 +02:00
Ryan Dwyer
d7ffed8b49
Add multiseat support to swaylock
2018-10-24 22:04:16 +10:00
Ian Fan
274179a804
swaylock: exit on display error
2018-10-23 11:49:33 +01:00
Ian Fan
4b312c1389
swaylock: exit early if unable to inhibit input
...
This stops the program from going into a spinlock without exiting
2018-10-23 11:41:45 +01:00
Connor E
5521293dc7
Change initial background mode before arg parse.
2018-10-19 16:38:01 +01:00
Ryan Dwyer
b239eba5a9
Fix swaylock version string
...
The referenced constants were not defined so it always printed "version
unknown".
Also it would exit with code 1. It now exits with code 0.
2018-10-16 00:09:16 +10:00
Ryan Dwyer
529f5ce2e4
Sway clients: Exit gracefully when compositor is unavailable
2018-10-15 21:57:59 +10:00
Ryan Dwyer
1d0579aca4
swaylock: Use common event loop
2018-10-15 00:26:27 +10:00
Ryan Dwyer
ec35e9943e
swaylock: Support keyboard and pointer disconnects and reconnects
2018-10-06 09:38:12 +10:00
Arkadiusz Hiler
5ca9cd6d4e
Turn funcs() into funcs(void)
...
If they really do not take undefined number of arguments.
2018-09-30 14:09:05 +03:00
Drew DeVault
64259db8d6
Add support for building swaylock without PAM
...
This involves setuid'ing swaylock, which then forks and drops perms on
the parent process. The child process remains root and listens on a pipe
for requests to validate passwords against /etc/shadow.
2018-09-28 13:53:01 +02:00
Geoff Greer
1ba79a159e
swaybar, swaylock, & tree/container: Set cairo font options to render text and lines with subpixel hinting (if available).
2018-09-22 11:34:21 -07:00
Brian Ashworth
01e7492d70
Fix swaylock arguments
2018-07-17 21:50:15 -04:00
Brian Ashworth
2bb424ea89
Switch to using getopt_long for config flag
2018-07-16 12:17:40 -04:00
Brian Ashworth
96af98e976
Remove leftover parens
2018-07-16 12:17:40 -04:00
Brian Ashworth
bd4a8e0673
Remove int cast after changing to size_t
2018-07-16 12:17:40 -04:00
Brian Ashworth
e1ddb4373f
Change to size_t in swaylock's get_config_path
2018-07-16 12:17:40 -04:00
Brian Ashworth
6fb2cf9507
Implement swaylock configuration file parsing
2018-07-16 12:17:40 -04:00
Brian Ashworth
cd9295c9d9
Change formatting of swaylock usage in the code
2018-07-10 22:09:31 -04:00
Brian Ashworth
77cf57ae14
Implement swaylock customization flags
2018-07-10 21:29:15 -04:00
emersion
ecf5b656c9
Update for swaywm/wlroots#1126
2018-07-09 22:54:30 +01:00
emersion
d4886a3cd5
swaylock: daemonize after locking
2018-07-07 18:36:49 +01:00
Ryan Dwyer
1468d89395
Detect opaque lockscreen when using a solid color
2018-07-07 00:17:08 +10:00
Ryan Dwyer
788b771632
Use infinite opaque region in swaylock
2018-07-07 00:03:49 +10:00
Ryan Dwyer
f43f683720
Use opaque region to determine if frame done should be sent
2018-07-07 00:03:49 +10:00
Dominique Martinet
8406c501b9
swaylock daemonize: fix leak of devnull fd
2018-07-02 08:03:41 +09:00
emersion
515f03c94c
swaylock: implement a proper render loop
2018-05-27 13:39:38 +01:00
emersion
cc12bc3723
swaylock: remove unused field
2018-05-23 22:59:24 +01:00
emersion
ab7d22052a
Merge branch 'master' into fix-swaylock-hotplugging
2018-05-23 22:54:52 +01:00
Ryan Dwyer
7072f6112c
Swaylock: Use calloc instead of malloc
2018-05-20 22:54:09 +10:00
Ryan Dwyer
9a06de63e7
Swaylock: Log error if multiple images are defined for the same output
2018-05-20 22:54:09 +10:00
Ryan Dwyer
3afd535a3b
Swaylock: Allow per-output images
2018-05-20 22:54:09 +10:00
emersion
b0c5fa2bdf
Fix output hotplugging
2018-05-18 21:57:58 +01:00
emersion
af713a5adb
Fix swaylock crashing when unplugging output
2018-05-18 19:13:08 +01:00
Geoff Greer
d8f0fb1378
swaylock: Securely zero-out password.
...
- Replace char* with static array. Any chars > 1024 will be discarded.
- mlock() password buffer so it can't be written to swap.
- Clear password buffer after auth succeeds or fails.
This is basically the same treatment I gave the 0.15 branch in https://github.com/swaywm/sway/pull/1519
2018-04-12 17:49:21 -07:00
Drew DeVault
b9afbf0bd3
Error handling in swaylock daemonize()
...
Fixes #1741
2018-04-05 09:21:39 -04:00
Drew DeVault
f39499b139
Address review feedback from @emersion
2018-04-04 18:52:44 -04:00
Drew DeVault
61b2e71c0c
Add hidpi support to swaylock
2018-04-04 18:47:48 -04:00
Drew DeVault
f3f3e642bd
Implement input-inhibit in sway, swaylock
2018-04-04 18:47:48 -04:00
Drew DeVault
5e61e86883
Actually let's not do that TODO
2018-04-04 18:47:48 -04:00
Drew DeVault
d9287eb53b
R E N D E R I N G
2018-04-04 18:47:48 -04:00
Drew DeVault
3f21cd441b
Add password buffer, refactor rendering/surfaces
2018-04-04 18:47:48 -04:00
Drew DeVault
1ca6d92c34
Split seat code into its own file
2018-04-04 18:47:48 -04:00
Drew DeVault
26b58a7db8
Set up an XKB context for the keyboard
2018-04-04 18:47:48 -04:00
Drew DeVault
566703675e
Grab keyboard off of the seat
2018-04-04 18:47:48 -04:00
Drew DeVault
2d1a44703b
Initial swaylock port
2018-04-04 18:47:48 -04:00
Drew DeVault
a2ca567149
Clean up fallthrough issues
2017-08-09 18:34:51 -04:00
Calvin Lee
3c03e851b6
Allow swaylock indicator size to be configurable
2017-07-31 19:49:01 +02:00
Sebastian Noack
235e6b653d
Add -DVERSION flag for release version numbers
2017-04-26 15:56:46 +02:00
Drew DeVault
595a19c390
UnGNUify the codebase
2017-03-10 23:41:24 -05:00
Calvin Lee
a2273e2207
Documentation and style fixes for swaylock
2017-02-21 21:17:01 -07:00
Calvin Lee
84335e3cee
Feature for #1078 : Configurable swaylock colors
...
Colors are configured through the command line so that swaylock conforms
to the i3lock fork 'github.com/chrjguill/i3lock-color'. Differences from
it are that one letter options '-r' and '-s' are not implimentend because
'-s' is already used by '--scaling' in swaylock.
This commit also fixed whitespace in 'include/swaylock/swaylock.h' and
changed `parse_color` in 'common/util.h' so that it can accept colors
that do not start with a hash. This was done to keep compatability with
the i3lock fork.
2017-02-21 14:12:31 -07:00
Zandr Martin
4930451e32
fix #971
2016-12-27 17:54:50 -06:00
Drew DeVault
434e46b9d7
Clear swaylock properly during re-render
...
Fixes #999
2016-12-20 15:53:42 -05:00
Vasilij Schneidermann
bc3b7a870c
Explicitly set cairo font to avoid wonky fallback
...
See also https://github.com/i3/i3lock/pull/89
2016-10-05 22:07:54 +02:00
Drew DeVault
dd1eb78931
Add client support for HiDPI
...
This adds HiDPI support to swaybar, swaybg, and swaylock.
2016-09-05 11:36:48 -04:00
Drew DeVault
5fac02d278
Reorganize includes
2016-09-01 08:18:37 -04:00
Drew DeVault
91b7153dcf
Fix warning from unused daemon return value
2016-07-15 08:03:31 -04:00
David Eklov
43c84e68a4
swaylock: Add -f option to detach from the controlling terminal, fixes #725
2016-07-13 08:20:40 -05:00
David Eklov
12ded9a141
Bug fix: Add missing header file, unistd.h
...
Without unistd.h the following functions getuid, alarm and
close are implicitly declared causing compilation to fail due to
-Werror=implicit-function-declaration
2016-06-26 23:25:56 -05:00
Zandr Martin
6c1182716b
make numpad enter key work in swaylock
...
see issue #647
2016-06-04 13:35:41 -05:00
Zandr Martin
51d7c9bc00
add documentation for client commands
2016-06-04 10:43:23 -05:00
Zandr Martin
7fa862363c
add --no-unlock-indicator to swaylock
2016-05-26 10:16:34 -05:00
Zandr Martin
4911e97541
clear swaylock password buffer with esc
...
for i3lock compatibility
2016-05-26 08:41:22 -05:00
Zandr Martin
d0c8c394ca
clear password buffer with ctrl-u in swaylock
...
also prevent screen redraws on modifier key presses
2016-05-26 08:35:16 -05:00
Kevin Hamacher
480efede66
swaylock: fix double free
2016-04-25 20:24:33 +02:00
Mikkel Oscar Lyderik
a50ca76abe
swaylock: Handle possible fail on password realloc
2016-04-10 00:01:05 +02:00
Kevin Hamacher
d86b3496bf
Improve swaylock event flushing
2016-04-03 00:50:34 +02:00
Kevin Hamacher
41f22a57cd
swaylock: improve graphical feedback
2016-03-31 13:49:59 +02:00
Drew DeVault
f264c89d11
Squash warning about uninitialized variable
2016-03-27 10:01:06 -04:00
Kevin Hamacher
a8d9752726
Add graphical feedback to swaylock ( #526 )
2016-03-25 15:24:41 +01:00
Nuew
61ee70d26e
Replace with in swaylock
2016-03-24 19:55:00 -04:00
Nuew
49bf3ec118
Change 'display' to 'output' in swaylock error messages where necessary
2016-03-24 18:52:57 -04:00
Nuew
8b73c3db29
Change 'display' to 'output' in swaylock docs where necessary
2016-03-24 18:49:58 -04:00
Nuew
92b3963996
Add choice of display to --image.
...
Additionally
- Made background colors display when an image is enabled if
a --color is specified.
- Link CJson to swaylock.
- Add the --socket option to swaylock.
2016-03-24 18:02:34 -04:00
Julius Michaelis
f9276e440c
swaylock: Interpret XKB_KEY_BackSpace as a deletion instead of a normal key.
2016-03-24 19:41:33 +01:00
Mikkel Oscar Lyderik
12c8d40d89
swaylock: Fix crash when unable to connect to wl
...
Prevent swaylock from crashing when it can't connect to wayland for
whatever reason. i.e. XDG_RUNTIME_DIR not set.
Fix #534
2016-03-23 14:37:56 +01:00
Gökberk Yaltıraklı
f5bb2b8766
swaylock: Grow the password buffer
2016-03-21 22:17:48 +02:00
Mikkel Oscar Lyderik
381df20e24
Correctly exit sway on errors.
...
Calling `exit` in sway_terminate prevents sway from correctly shutting
down (freeing data, cleanly terminating the ipc server, etc.).
A better way is to exit straight away if the failure occurs before
`wlc_run` and use sway_abort as usual if it occur when wlc is running.
2016-02-26 09:42:21 +01:00
crondog
f62e05982f
swaylock: Allow for transparent color values
...
There is only a slight issue. When using a transparent color the views
are arranged to make room for swaylock which we can now see. I tried removing
the arrange call but that just made it worse by putting in an opaque view on the
workspace and not making the lockoverlay color. Ill raise an issue if
this is not easily solved
2016-01-28 13:44:18 +11:00
Drew DeVault
e592fe0f8c
Remove pointer from swaylock surface
2016-01-26 18:38:05 -05:00
Christoph Gysin
76cfde7813
extract cairo_set_source_u32()
2016-01-25 22:44:33 +02:00
Christoph Gysin
a1569545a1
swaylock: support --color
2016-01-25 21:46:26 +02:00
Christoph Gysin
a71baf816d
swaylock: extract render_image
2016-01-25 21:18:53 +02:00
Christoph Gysin
133c0cfdbc
swaylock: don't memset memory that has been freed
...
swaylock is randomly crashing because we write to password that has already been
freed in pam_authenticate().
2016-01-25 20:15:00 +02:00
Christoph Gysin
b8f8398ae6
swaylock: fix pam conversation
2016-01-25 20:14:59 +02:00
Christoph Gysin
1fc6e45a85
swaylock: add pam conversation debug output
2016-01-25 20:14:44 +02:00
Christoph Gysin
a17033fdd2
swaylock: remove global variable pam_reply
2016-01-25 19:43:51 +02:00
Christoph Gysin
7b74002576
swaylock: add i3lock compatible options
2016-01-23 16:36:19 +02:00
Christoph Gysin
39655c63eb
swaylock: add option parsing
2016-01-23 16:00:14 +02:00
Mikkel Oscar Lyderik
b1fc427c08
Fix whitespace issues.
2016-01-05 23:42:40 +01:00