Move manpages to scdoc

This rewrites the existing manpages to use the `scdoc` format, making it
simpler to read and edit the manpages without intricate roff knowledge.

Some minor changes to the manpages were made in the process, mostly
focusing on correcting some of the wording. The list of maintainers has
also changed to ensure people not involved in the project anymore aren't
unnecessarily contacted for support.
This commit is contained in:
Christian Duerr 2023-05-28 12:13:09 +02:00 committed by GitHub
parent 32ea98deeb
commit e3746e49a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 163 additions and 164 deletions

View File

@ -16,3 +16,7 @@ indent_size = 2
[Makefile]
indent_style = tab
[*.scd]
indent_style = tab
tab_width = 4

View File

@ -67,13 +67,13 @@ jobs:
- name: Install dependencies
run: |
sudo apt-get install cmake pkg-config libfreetype6-dev libfontconfig1-dev \
libxcb-xfixes0-dev libxkbcommon-dev python3
libxcb-xfixes0-dev libxkbcommon-dev python3 scdoc
- name: Test
run: cargo test --release
- name: Gzip manpage
- name: Generate manpages
run: |
gzip -c "./extra/alacritty.man" > "./alacritty.1.gz"
gzip -c "./extra/alacritty-msg.man" > "./alacritty-msg.1.gz"
scdoc < extra/man/alacritty.1.scd | gzip -c > "./alacritty.1.gz"
scdoc < extra/man/alacritty-msg.1.scd | gzip -c > "./alacritty-msg.1.gz"
- name: Upload Assets
run: |
mv ./extra/logo/alacritty-term.svg ./Alacritty.svg

View File

@ -10,6 +10,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
### Packaging
- Minimum Rust version has been bumped to 1.65.0
- Manpages are now generated using `scdoc` (see `INSTALL.md`)
### Changed

View File

@ -327,12 +327,12 @@ directory.
### Manual Page
Installing the manual page requires the additional dependency `gzip`.
Installing the manual page requires the additional dependencies `gzip` and `scdoc`.
```sh
sudo mkdir -p /usr/local/share/man/man1
gzip -c extra/alacritty.man | sudo tee /usr/local/share/man/man1/alacritty.1.gz > /dev/null
gzip -c extra/alacritty-msg.man | sudo tee /usr/local/share/man/man1/alacritty-msg.1.gz > /dev/null
scdoc < extra/man/alacritty.1.scd | gzip -c | sudo tee /usr/local/share/man/man1/alacritty.1.gz > /dev/null
scdoc < extra/man/alacritty-msg.1.scd | gzip -c | sudo tee /usr/local/share/man/man1/alacritty-msg.1.gz > /dev/null
```
### Shell completions

View File

@ -1,64 +0,0 @@
.TH ALACRITTY-MSG "1" "October 2021" "alacritty 0.13.0-dev" "User Commands"
.SH NAME
alacritty-msg \- Send messages to Alacritty
.SH "SYNOPSIS"
alacritty msg [OPTIONS] <MESSAGE> [MESSAGE_OPTIONS]
.SH DESCRIPTION
This command communicates with running Alacritty instances through a socket,
making it possible to control Alacritty without directly accessing it.
.SH "OPTIONS"
\fB\-s\fR, \fB\-\-socket\fR <socket>
Path for IPC socket creation
.SH "MESSAGES"
.TP
\fBcreate-window\fR
Create a new window in the same Alacritty process
.TP
.SH "\tOPTIONS"
.RS 12
.TP
\fB\-\-hold\fR
Remain open after child process exits
.TP
\fB\-\-working\-directory\fR <working\-directory>
Start the shell in the specified working directory
.TP
\fB\-e\fR, \fB\-\-command\fR <command>...
Command and args to execute (must be last argument)
.RE
.TP
\fBconfig\fR
Update the Alacritty configuration
.TP
.SH "\tARGS"
.RS 12
.TP
\fB<CONFIG_OPTIONS>...\fR
Configuration file options [example: cursor.style=Beam]
.RE
.TP
.SH "\tOPTIONS"
.RS 12
.TP
\fB\-w\fR, \fB\-\-window\-id\fR <WINDOW_ID>
Window ID for the new config.
Use `-1` to apply this change to all windows.
[default: \fB$ALACRITTY_WINDOW_ID\fR]
.RE
.SH "SEE ALSO"
See the alacritty github repository at https://github.com/alacritty/alacritty for the full documentation.
.SH "BUGS"
Found a bug? Please report it at https://github.com/alacritty/alacritty/issues.
.SH "MAINTAINERS"
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Christian Duerr <contact@christianduerr.com>

View File

@ -1,93 +0,0 @@
.TH ALACRITTY "1" "August 2018" "alacritty 0.13.0-dev" "User Commands"
.SH NAME
Alacritty \- A fast, cross-platform, OpenGL terminal emulator
.SH "SYNOPSIS"
alacritty [SUBCOMMANDS] [FLAGS] [OPTIONS]
.SH DESCRIPTION
Alacritty is a modern terminal emulator that comes with sensible defaults, but
allows for extensive configuration. By integrating with other applications,
rather than reimplementing their functionality, it manages to provide a flexible
set of features with high performance.
.SH "FLAGS"
.TP
\fB\-h\fR, \fB\-\-help\fR
Prints help information
.TP
\fB\-\-hold\fR
Remain open after child process exits
.TP
\fB\-\-print\-events\fR
Print all events to stdout
.TP
\fB\-q\fR
Reduces the level of verbosity (the min level is \fB\-qq\fR)
.TP
\fB\-\-ref\-test\fR
Generates ref test
.TP
\fB\-v\fR
Increases the level of verbosity (the max level is \fB\-vvv\fR)
.TP
\fB\-V\fR, \fB\-\-version\fR
Prints version information
.SH "OPTIONS"
.TP
\fB\-\-class\fR <general> | <general>,<instance>
Defines the window class hint on Linux [default: Alacritty,Alacritty]
When only the general class is passed, instance will be set to the same value.
On Wayland the general class sets the `app_id`, while the instance class is ignored.
.TP
\fB\-e\fR, \fB\-\-command\fR <command>...
Command and args to execute (must be last argument)
.TP
\fB\-\-config\-file\fR <config\-file>
Specify alternative configuration file
Alacritty looks for the configuration file at the following paths:
1. $XDG_CONFIG_HOME/alacritty/alacritty.yml
2. $XDG_CONFIG_HOME/alacritty.yml
3. $HOME/.config/alacritty/alacritty.yml
4. $HOME/.alacritty.yml
On Windows, the configuration file is located at %APPDATA%\\alacritty\\alacritty.yml.
.TP
\fB\-\-embed\fR <parent>
X11 window ID to embed Alacritty within (decimal or hexadecimal with "0x" prefix)
.TP
\fB\-o\fR, \fB\-\-option\fR <option>...
Override configuration file options [example: cursor.style=Beam]
.TP
\fB\-\-socket\fR <socket>
Path for IPC socket creation
.TP
\fB\-T\fR, \fB\-\-title\fR <title>
Defines the window title [default: Alacritty]
.TP
\fB\-\-working\-directory\fR <working\-directory>
Start the shell in the specified working directory
.SH "SUBCOMMANDS"
.TP
\fBmsg\fR
Available socket messages
.SH "SEE ALSO"
See the alacritty github repository at https://github.com/alacritty/alacritty for the full documentation.
.SH "BUGS"
Found a bug? Please report it at https://github.com/alacritty/alacritty/issues.
.SH "MAINTAINERS"
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Christian Duerr <contact@christianduerr.com>
.sp
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
Joe Wilm <joe@jwilm.com>

View File

@ -0,0 +1,59 @@
ALACRITTY-MSG(1)
# NAME
alacritty-msg - Send messages to Alacritty
# SYNOPSIS
This command communicates with running Alacritty instances through a socket,
making it possible to control Alacritty without directly accessing it.
# OPTIONS
*-s, --socket* <socket>
Path for IPC socket communication
# MESSAGES
*create-window*
Create a new window in the same Alacritty process
*OPTIONS*
*--hold*
Remain open after child process exits
*--working-directory* <working-directory>
Start the shell in the specified working directory
*command* <command>...
Command and args to execute (must be last argument)
*config*
Update the Alacritty configuration
*ARGS*
*<CONFIG_OPTIONS>...*
Configuration file options [example: cursor.style=Beam]
*OPTIONS*
*-w, --window-id* <WINDOW_ID>
Window ID for the new config.
Use _-1_ to apply this change to all windows.
\[default: *$ALACRITTY_WINDOW_ID*]
# SEE ALSO
See the alacritty github repository at https://github.com/alacritty/alacritty
for the full documentation.
# BUGS
Found a bug? Please report it at https://github.com/alacritty/alacritty/issues.
# MAINTAINERS
- Christian Duerr <contact@christianduerr.com>
- Kirill Chibisov <contact@kchibisov.com>

92
extra/man/alacritty.1.scd Normal file
View File

@ -0,0 +1,92 @@
ALACRITTY(1)
# NAME
Alacritty - A fast, cross-platform, OpenGL terminal emulator
# SYNOPSIS
Alacritty is a modern terminal emulator that comes with sensible defaults, but
allows for extensive configuration. By integrating with other applications,
rather than reimplementing their functionality, it manages to provide a flexible
set of features with high performance.
# FLAGS
*-h, --help*
Prints help information
*--hold*
Remain open after child process exits
*--print-events*
Print all events to stdout
*-q*
Reduces the level of verbosity (the min level is *-qq*)
*--ref-test*
Generates ref test
*-v*
Increases the level of verbosity (the max level is *-vvv*)
*-V, --version*
Prints version information
# OPTIONS
*--class* <general> | <general>,<instance>
Defines the window class hint on Linux [default: Alacritty,Alacritty]
When only the general class is passed, instance will be set to the same value.
On Wayland the general class sets the _app\_id_, while the instance class is ignored.
*-e, --command* <command>...
Command and args to execute (must be last argument)
*--config-file* <config-file>
Specify alternative configuration file
Alacritty looks for the configuration file at the following paths:
. $XDG_CONFIG_HOME/alacritty/alacritty.yml
. $XDG_CONFIG_HOME/alacritty.yml
. $HOME/.config/alacritty/alacritty.yml
. $HOME/.alacritty.yml
On Windows, the configuration file is located at %APPDATA%\\alacritty\\alacritty.yml.
*--embed* <parent>
X11 window ID to embed Alacritty within (decimal or hexadecimal with _0x_ prefix)
*-o, --option* <option>...
Override configuration file options [example: cursor.style=Beam]
*--socket* <socket>
Path for IPC socket creation
*-T, --title* <title>
Defines the window title [default: Alacritty]
*--working-directory* <working-directory>
Start the shell in the specified working directory
# SUBCOMMANDS
*msg*
Send IPC socket messages (see *alacritty-msg*(1))
# SEE ALSO
See the alacritty github repository at https://github.com/alacritty/alacritty
for the full documentation.
# BUGS
Found a bug? Please report it at https://github.com/alacritty/alacritty/issues.
# MAINTAINERS
- Christian Duerr <contact@christianduerr.com>
- Kirill Chibisov <contact@kchibisov.com>