<commit_before>slock2 - Simple X Screen Locker
===============================
**slock2** is a simple screen locker utility for X.
It is based on **slock** from http://tools.suckless.org/slock/ .

Features
--------
* **slock2** reimplements **slock** in C++11
* more transparent and better documented code
* a simple but powerful logger
* some command-line arguments


### Logger

The logger of **slock2** is a simple and lightweight logging utility.  The
logger features the different log levels `ERROR`, `WARNING`, `NORMAL`, `VERBOSE`
and `DEBUG`.  In `VERBOSE`-mode the logger mirrors all log output to `stdout`.
`DEBUG` subsumes `VERBOSE`, and adds further log output relevant for debugging.


### Command-line arguments

**slock2** provides some command-line arguments to modify it's behaviour:


| Short | Long              | Usage                                                                |
|-------|-------------------|----------------------------------------------------------------------|
| -h    | --help            | Prints a help message.                                               |
| -b    | --bell            | Rings the XBell on failed login attempt.                             |
| -v    | --verbose         | Sets the log level to `VERBOSE`.                                     |
|       | --debug           | Sets the log level to `DEBUG`.                                       |
|       | --logfile <FILE>  | Sets the used log file (by default `/var/log/slock.log`).            |
|       | --version         | Prints the version, the release date, and the author.                |


Requirements
------------
In order to build **slock2** you need the `Xlib` header files.


Installation
------------

Edit the `install.cfg` to match your local setup.

Afterwards enter the following command to build and install **slock2**

    $ make all clean install


### IMPORTANT: Root privileges

**slock2** needs root privileges to disable the Out-Of-Memory Killer in Linux,
and to access the password file.  Therefore, you need to make *root* the owner
of **slock2**, and set the *SetUID* bit.


Running slock
-------------

To run **slock2**, enter the command
<commit_msg>edit README<commit_after>slock2 - Simple X Screen Locker
===============================
**slock2** is a simple screen locker utility for X.
It is based on **slock** from http://tools.suckless.org/slock/ .

Features
--------
* **slock2** reimplements **slock** in C++11
* more transparent and better documented code
* a simple but powerful logger
* some command-line arguments


### Logger

**slock2** contains a simple and lightweight logging utility.  The
logger features the different log levels `ERROR`, `WARNING`, `NORMAL`, `VERBOSE`
and `DEBUG`.  In `VERBOSE`-mode the logger mirrors all log output to `stdout`.
`DEBUG` subsumes `VERBOSE`, and adds further log output relevant for debugging.


#### Command-line arguments

**slock2** provides some command-line arguments to modify it's behaviour:


| Short | Long              | Usage                                                                |
|-------|-------------------|----------------------------------------------------------------------|
| -h    | --help            | Prints a help message.                                               |
| -b    | --bell            | Rings the XBell on failed login attempt.                             |
| -v    | --verbose         | Sets the log level to `VERBOSE`.                                     |
|       | --debug           | Sets the log level to `DEBUG`.                                       |
|       | --logfile <FILE>  | Sets the used log file (by default `/var/log/slock.log`).            |
|       | --version         | Prints the version, the release date, and the author.                |


Requirements
------------
In order to build **slock2** you need the `Xlib` header files.


Installation
------------

Edit the `install.cfg` to match your local setup.

Afterwards enter the following command to build and install **slock2**

    $ make install


#### IMPORTANT: Root privileges

**slock2** needs root privileges to disable the Out-Of-Memory Killer in Linux,
and to access the password file.  Therefore, you need to make *root* the owner
of **slock2**, and set the *SetUID* bit.


Running slock
-------------

To run **slock2**, enter the command

{'fraction_non_alphanumeric': 0.1678865507776761, 'fraction_numerical': 0.0054894784995425435, 'mean_word_length': 1.677893447642376, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 12, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3031631', 'n_tokens_mistral': 1114, 'n_tokens_neox': 1065, 'n_words': 454}