You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

139 lines
4.0 KiB

/*
SPDX-FileCopyrightText: 2012 Jekyll Wu <adaptee@gmail.com>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef ENUMERATION_H
#define ENUMERATION_H
namespace Konsole
{
/**
* This class serves as a place for putting enum definitions that are
* used or referenced in multiple places in the code. Keep it small.
*/
class Enum
{
public:
/**
* This enum describes the modes available to remember lines of output
* produced by the terminal.
*/
enum HistoryModeEnum {
/** No output is remembered. As soon as lines of text are scrolled
* off-screen they are lost.
*/
NoHistory = 0,
/** A fixed number of lines of output are remembered. Once the
* limit is reached, the oldest lines are lost.
*/
FixedSizeHistory = 1,
/** All output is remembered for the duration of the session.
* Typically this means that lines are recorded to
* a file as they are scrolled off-screen.
*/
UnlimitedHistory = 2,
};
/**
* This enum describes the positions where the terminal display's
* scroll bar may be placed.
*/
enum ScrollBarPositionEnum {
/** Show the scroll-bar on the left of the terminal display. */
ScrollBarLeft = 0,
/** Show the scroll-bar on the right of the terminal display. */
ScrollBarRight = 1,
/** Do not show the scroll-bar. */
ScrollBarHidden = 2,
};
/**
* This enum describes the amount that Page Up/Down scroll by.
*/
enum ScrollPageAmountEnum {
/** Scroll half page */
ScrollPageHalf = 0,
/** Scroll full page */
ScrollPageFull = 1,
};
/** This enum describes the shapes used to draw the cursor in terminal
* displays.
*/
enum CursorShapeEnum {
/** Use a solid rectangular block to draw the cursor. */
BlockCursor = 0,
/** Use an 'I' shape, similar to that used in text editing
* applications, to draw the cursor.
*/
IBeamCursor = 1,
/** Draw a line underneath the cursor's position. */
UnderlineCursor = 2,
};
/** This enum describes the behavior of triple click action . */
enum TripleClickModeEnum {
/** Select the whole line underneath the cursor. */
SelectWholeLine = 0,
/** Select from the current cursor position to the end of the line. */
SelectForwardsFromCursor = 1,
};
/** This enum describes the source from which mouse middle click pastes data . */
enum MiddleClickPasteModeEnum {
/** Paste from X11 Selection. */
PasteFromX11Selection = 0,
/** Paste from Clipboard. */
PasteFromClipboard = 1,
};
/**
* This enum describes the text editor cmd used to open local text file URLs
* in Konsole, where line and column data are appended to the file URL, e.g.:
* /path/to/file:123:123
*/
enum TextEditorCmd {
Kate = 0,
KWrite,
KDevelop,
QtCreator,
Gedit,
gVim,
CustomTextEditor,
};
/**
* This enum describes the different types of sounds and visual effects which
* can be used to alert the user when a 'bell' occurs in the terminal
* session.
*/
enum BellModeEnum {
/** trigger system beep. */
SystemBeepBell = 0,
/** trigger system notification. */
NotifyBell = 1,
/** trigger visual bell(inverting the display's colors briefly). */
VisualBell = 2,
/** No bell effects */
NoBell = 3,
};
/**
* This enum describes the strategies available for searching
* through the session's output.
*/
enum SearchDirection {
/** Searches forwards through the output, starting at the
* current selection.
*/
ForwardsSearch,
/** Searches backwards through the output, starting at the
* current selection.
*/
BackwardsSearch,
};
};
}
#endif // ENUMERATION_H