• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

res/H03-May-2022-609508

src/H03-May-2022-2,8622,374

sub/H03-May-2022-6,0854,761

.giteaH A D28-Jul-2020517 1615

.githubH A D28-Jul-2020492 1615

.gitignoreH A D28-Jul-202033 54

license.mdH A D28-Jul-2020483 149

makefileH A D03-May-20223.5 KiB131110

readme.mdH A D28-Jul-20203.2 KiB121101

readme.md

1# Ly - a TUI display manager
2![Ly screenshot](https://user-images.githubusercontent.com/5473047/42466218-8cb53d3c-83ae-11e8-8e53-bae3669f959c.png "Ly screenshot")
3
4Ly is a lightweight TUI (ncurses-like) display manager for Linux and BSD.
5
6## Dependencies
7 - a C99 compiler (tested with tcc and gcc)
8 - a C standard library
9 - GNU make
10 - pam
11 - xcb
12 - xorg
13 - xorg-xauth
14 - mcookie
15 - tput
16 - shutdown
17
18On Debian-based distros running `apt install build-essential libpam0g-dev libxcb-xkb-dev` as root should install all the dependencies for you.
19
20## Support
21The following desktop environments were tested with success
22 - budgie
23 - cinnamon
24 - deepin
25 - enlightenment
26 - gnome
27 - i3
28 - kde
29 - lxde
30 - lxqt
31 - mate
32 - sway
33 - xfce
34 - pantheon
35 - maxx
36 - windowmaker
37
38Ly should work with any X desktop environment, and provides
39basic wayland support (sway works very well, for example).
40
41## systemd?
42Unlike what you may have heard, Ly does not require `systemd`,
43and was even specifically designed not to depend on `logind`.
44You should be able to make it work easily with a better init,
45changing the source code won't be necessary :)
46
47## Cloning and Compiling
48Clone the repository
49```
50git clone https://github.com/nullgemm/ly.git
51```
52
53Fetch submodules
54```
55make github
56```
57
58Compile
59```
60make
61```
62
63Test in the configured tty (tty2 by default)
64or a terminal emulator (but desktop environments won't start)
65```
66sudo make run
67```
68
69Install Ly and the provided systemd service file
70```
71sudo make install
72```
73
74Enable the service
75```
76sudo systemctl enable ly.service
77```
78
79If you need to switch between ttys after Ly's start you also have to
80disable getty on Ly's tty to prevent "login" from spawning on top of it
81```
82sudo systemctl disable getty@tty2.service
83```
84
85## Configuration
86You can find all the configuration in `/etc/ly/config.ini`.
87The file is commented, and includes the default values.
88
89## Controls
90Use the up and down arrow keys to change the current field, and the
91left and right arrow keys to change the target desktop environment
92while on the desktop field (above the login field).
93
94## .xinitrc
95If your .xinitrc doesn't work make sure it is executable and includes a shebang.
96This file is supposed to be a shell script! Quoting from xinit's man page:
97```
98If no specific client program is given on the command line, xinit will look for
99a file in the user's home directory called .xinitrc to run as a shell script to
100start up client programs.
101```
102On ArchLinux, the example .xinitrc (/etc/X11/xinit/xinitrc) starts like this:
103```
104#!/bin/sh
105```
106
107## Tips
108The numlock and capslock state is printed in the top-right corner.
109Use the F1 and F2 keys to respectively shutdown and reboot.
110Take a look at your .xsession if X doesn't start, as it can interfere
111(this file is launched with X to configure the display properly).
112
113## PSX DOOM fire animation
114To enable the famous PSX DOOM fire described by [Fabien Sanglard](http://fabiensanglard.net/doom_fire_psx/index.html),
115just uncomment `animate = true` in `/etc/ly/config.ini`. You may also
116disable the main box borders with `hide_borders = true`.
117
118## Additional Information
119The name "Ly" is a tribute to the fairy from the game Rayman.
120Ly was tested by oxodao, who is some seriously awesome dude.
121