mirror of
https://github.com/Dasharo/systemd.git
synced 2026-03-06 15:02:31 -08:00
Let's make systemd-nspawn use our own ptyfwd logic to handle the TTY by default. This adds a new setting --console=, inspired by nspawn's setting of the same name. If --console=interactive= is used, then we'll do the TTY dance on our own via ptyfwd, and thus get tinting, our usual hotkey handling and similar. Since qemu's own console is useful too, let's keep it around via --console=native. FInally, replace the --qemu-gui switch by --console=gui.
75 lines
2.4 KiB
C
75 lines
2.4 KiB
C
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
|
#pragma once
|
|
|
|
#include <errno.h>
|
|
#include <stdbool.h>
|
|
|
|
#include "macro.h"
|
|
|
|
typedef enum SpecialGlyph {
|
|
SPECIAL_GLYPH_TREE_VERTICAL,
|
|
SPECIAL_GLYPH_TREE_BRANCH,
|
|
SPECIAL_GLYPH_TREE_RIGHT,
|
|
SPECIAL_GLYPH_TREE_SPACE,
|
|
SPECIAL_GLYPH_TREE_TOP,
|
|
SPECIAL_GLYPH_VERTICAL_DOTTED,
|
|
SPECIAL_GLYPH_TRIANGULAR_BULLET,
|
|
SPECIAL_GLYPH_BLACK_CIRCLE,
|
|
SPECIAL_GLYPH_WHITE_CIRCLE,
|
|
SPECIAL_GLYPH_MULTIPLICATION_SIGN,
|
|
SPECIAL_GLYPH_CIRCLE_ARROW,
|
|
SPECIAL_GLYPH_BULLET,
|
|
SPECIAL_GLYPH_MU,
|
|
SPECIAL_GLYPH_CHECK_MARK,
|
|
SPECIAL_GLYPH_CROSS_MARK,
|
|
SPECIAL_GLYPH_LIGHT_SHADE,
|
|
SPECIAL_GLYPH_DARK_SHADE,
|
|
SPECIAL_GLYPH_FULL_BLOCK,
|
|
SPECIAL_GLYPH_SIGMA,
|
|
SPECIAL_GLYPH_ARROW_UP,
|
|
SPECIAL_GLYPH_ARROW_DOWN,
|
|
SPECIAL_GLYPH_ARROW_LEFT,
|
|
SPECIAL_GLYPH_ARROW_RIGHT,
|
|
SPECIAL_GLYPH_ELLIPSIS,
|
|
SPECIAL_GLYPH_EXTERNAL_LINK,
|
|
_SPECIAL_GLYPH_FIRST_EMOJI,
|
|
SPECIAL_GLYPH_ECSTATIC_SMILEY = _SPECIAL_GLYPH_FIRST_EMOJI,
|
|
SPECIAL_GLYPH_HAPPY_SMILEY,
|
|
SPECIAL_GLYPH_SLIGHTLY_HAPPY_SMILEY,
|
|
SPECIAL_GLYPH_NEUTRAL_SMILEY,
|
|
SPECIAL_GLYPH_SLIGHTLY_UNHAPPY_SMILEY,
|
|
SPECIAL_GLYPH_UNHAPPY_SMILEY,
|
|
SPECIAL_GLYPH_DEPRESSED_SMILEY,
|
|
SPECIAL_GLYPH_LOCK_AND_KEY,
|
|
SPECIAL_GLYPH_TOUCH,
|
|
SPECIAL_GLYPH_RECYCLING,
|
|
SPECIAL_GLYPH_DOWNLOAD,
|
|
SPECIAL_GLYPH_SPARKLES,
|
|
SPECIAL_GLYPH_LOW_BATTERY,
|
|
SPECIAL_GLYPH_WARNING_SIGN,
|
|
SPECIAL_GLYPH_COMPUTER_DISK,
|
|
SPECIAL_GLYPH_WORLD,
|
|
SPECIAL_GLYPH_RED_CIRCLE,
|
|
SPECIAL_GLYPH_YELLOW_CIRCLE,
|
|
SPECIAL_GLYPH_BLUE_CIRCLE,
|
|
SPECIAL_GLYPH_GREEN_CIRCLE,
|
|
_SPECIAL_GLYPH_MAX,
|
|
_SPECIAL_GLYPH_INVALID = -EINVAL,
|
|
} SpecialGlyph;
|
|
|
|
bool emoji_enabled(void);
|
|
|
|
const char *special_glyph_full(SpecialGlyph code, bool force_utf) _const_;
|
|
|
|
static inline const char *special_glyph(SpecialGlyph code) {
|
|
return special_glyph_full(code, false);
|
|
}
|
|
|
|
static inline const char *special_glyph_check_mark(bool b) {
|
|
return b ? special_glyph(SPECIAL_GLYPH_CHECK_MARK) : special_glyph(SPECIAL_GLYPH_CROSS_MARK);
|
|
}
|
|
|
|
static inline const char *special_glyph_check_mark_space(bool b) {
|
|
return b ? special_glyph(SPECIAL_GLYPH_CHECK_MARK) : " ";
|
|
}
|