Age | Commit message (Collapse) | Author |
|
|
|
Ownership of the slave file descriptor is passed to the process::Stdio
structs and will be closed when they are dropped. If the slave fd is
closed explicitly then the next fd that is opened during the same scope
will get silently closed by the Stdio structs when they are dropped.
|
|
|
|
Based on option `command` in key binding section in config, e.g.
- { key: N, mods: Control|Shift, command: alacritty }
# or
- {
key: N,
mods: Control|Shift,
command: {
program: "alacritty",
args: ["-e", "vttest"],
}}
specified command will be run in the background on key press. Alacritty
doesn't wait for its result nor block IO.
|
|
|
|
|
|
|
|
Background:
If a shell process exits with children still alive (typically due to the
`disown` shell builtin), POLLHUP will not be sent to the master PTY file
descriptor. This is due to the fact that the disowned process still has
the slave PTY open as its STDIN, STDOUT, and STDERR.
If a disowned process never reads or writes from its file descriptors
(which is often the case for graphical applications), the event loop
will end up blocking on poll()/select() when not handling user input
received over the mio channel. When Alacritty shuts down and joins on the
event loop thread, there can never be any more input on the mio channel -
the main thread is no longer handling user keystrokes from the window. Unless
a disowned process happens to access its slave PTY file descriptors, the
event loop will never get the chance to deetect that it should exit.
This commit extends the `Msg` enum to include an explicit `Shutdown`
message, which ensures a clean shutdown (e.g. closing the 'recording'
file). This allows the select()/poll() call to remain blocking, instead
of needing to periodically check the shutdown state in between
timed-out calls.
Fixes #339
|
|
Any action that results in 0 bytes, such as pasting 0 bytes
from the clipboard hangs the terminal (`pbcopy </dev/null`
followed by ctrl-v), hangs the terminal on both macOS and
Linux. This ensures we never send 0 bytes.
|
|
|
|
|
|
|
|
Closes #556
|
|
|
|
|
|
Descent was being reported as a positive value instead of negative. This
caused the background and text alignment to be off dramatically.
Resolves #545
|
|
Accidentally broke it when refactoring.
|
|
|
|
Padding can be configured by using the `padding` field in the config
file, like so:
padding:
x: 2
y: 2
which would result in a 2px padding within each side of the window.
|
|
We previously had a hard-coded value for aligning glyphs within cells.
The font descent is now used, and the offset should be correct by
default.
|
|
|
|
|
|
|
|
Closes #494.
Resolves #529.
Resolves #512.
Resolves #493.
|
|
The two structs are very similar, so there is no reason for them to be
separate. Instead combine them into a single Delta struct, which can be
used to shift a point in a two dimensional plane.
|
|
Add the ability to move glyphs within their cells on a global basis via
an option in the configuration file.
|
|
The changes to metric consumption rendered the size argument
unnecessary, remove it.
|
|
The font metrics function was using freetype metrics in an ineffective
way, improve the use of those metrics and remove the now unnecessary
separate default values for font offset in linux.
|
|
The script uses the recently added _NET_WM_PID window property for
finding the program running in Alacritty, fetching its working
directory, and spawning a new Alacritty using that directory.
|
|
Support is added for setting _NET_WM_PID automatically. This is to
support scripting of the window environment. For example, this makes it
possible to script opening a window with same CWD:
1. Retrieve the current window
2. (new) get PID of window
3. Check if it's Alacritty, find first child (presumably a shell), and
get the child's cwd.
4. Spawn new instance of terminal with cwd.
Unaddressed in this commit is how this will coexist on a Wayland system.
|
|
|
|
|
|
Adds implementations for TBC (tabulation clear) and HTS (set horizontal
tabstop).
|
|
|
|
|
|
The previous comment was ambiguous and lead to questions on the tracker
and in IRC.
|
|
|
|
|
|
back_color_erase should not set flags like bold, underline, etc.
|
|
|
|
|
|
|
|
It's not possible with DECCOLM to temporarily set 80 or 132 column mode
since the function is a toggle between the two. Instead, only the
additional affects are run in order to get closer to passing vttest.
vttest will never be perfect due to the column mode issue.
|
|
|
|
Resolves #478.
|
|
|
|
|
|
|
|
Resolves jwilm/alacritty#192.
|
|
|