mirror of
https://github.com/xzeldon/htop.git
synced 2024-12-23 22:55:46 +00:00
Horizontally scroll in larger increments when on the
Linux console because of slow update of unaccelerated fb
This commit is contained in:
parent
eb2803ce79
commit
2ecf199cf7
6
CRT.c
6
CRT.c
@ -106,6 +106,8 @@ int CRT_colorScheme = 0;
|
||||
|
||||
int CRT_colors[LAST_COLORELEMENT] = { 0 };
|
||||
|
||||
char* CRT_termType;
|
||||
|
||||
// TODO: pass an instance of Settings instead.
|
||||
|
||||
void CRT_init(int delay, int colorScheme) {
|
||||
@ -124,8 +126,8 @@ void CRT_init(int delay, int colorScheme) {
|
||||
} else {
|
||||
CRT_hasColors = false;
|
||||
}
|
||||
char* termType = getenv("TERM");
|
||||
if (String_eq(termType, "xterm") || String_eq(termType, "xterm-color") || String_eq(termType, "vt220")) {
|
||||
CRT_termType = getenv("TERM");
|
||||
if (String_eq(CRT_termType, "xterm") || String_eq(CRT_termType, "xterm-color") || String_eq(CRT_termType, "vt220")) {
|
||||
define_key("\033[H", KEY_HOME);
|
||||
define_key("\033[F", KEY_END);
|
||||
define_key("\033OP", KEY_F(1));
|
||||
|
2
CRT.h
2
CRT.h
@ -107,6 +107,8 @@ extern int CRT_colorScheme;
|
||||
|
||||
extern int CRT_colors[LAST_COLORELEMENT];
|
||||
|
||||
char* CRT_termType;
|
||||
|
||||
// TODO: pass an instance of Settings instead.
|
||||
|
||||
void CRT_init(int delay, int colorScheme);
|
||||
|
@ -11,6 +11,8 @@ What's new in version 0.6.3
|
||||
ListBox (and related classes) to Panel.
|
||||
* Have configure actually fail when needed libraries or
|
||||
headers are not found.
|
||||
* Horizontally scroll in larger increments when on the
|
||||
Linux console because of slow update of unaccelerated fb
|
||||
|
||||
What's new in version 0.6.2
|
||||
|
||||
|
9
Panel.c
9
Panel.c
@ -40,6 +40,7 @@ struct Panel_ {
|
||||
Vector* items;
|
||||
int selected;
|
||||
int scrollV, scrollH;
|
||||
int scrollHAmount;
|
||||
int oldSelected;
|
||||
bool needsRedraw;
|
||||
RichString header;
|
||||
@ -92,6 +93,10 @@ void Panel_init(Panel* this, int x, int y, int w, int h, char* type, bool owner)
|
||||
this->oldSelected = 0;
|
||||
this->needsRedraw = true;
|
||||
this->header.len = 0;
|
||||
if (String_eq(CRT_termType, "linux"))
|
||||
this->scrollHAmount = 40;
|
||||
else
|
||||
this->scrollHAmount = 5;
|
||||
}
|
||||
|
||||
void Panel_done(Panel* this) {
|
||||
@ -327,12 +332,12 @@ void Panel_onKey(Panel* this, int key) {
|
||||
break;
|
||||
case KEY_LEFT:
|
||||
if (this->scrollH > 0) {
|
||||
this->scrollH -= 5;
|
||||
this->scrollH -= this->scrollHAmount;
|
||||
this->needsRedraw = true;
|
||||
}
|
||||
break;
|
||||
case KEY_RIGHT:
|
||||
this->scrollH += 5;
|
||||
this->scrollH += this->scrollHAmount;
|
||||
this->needsRedraw = true;
|
||||
break;
|
||||
case KEY_PPAGE:
|
||||
|
2
Panel.h
2
Panel.h
@ -13,6 +13,7 @@ in the source distribution for its full text.
|
||||
#include "Vector.h"
|
||||
#include "CRT.h"
|
||||
#include "RichString.h"
|
||||
#include "ListItem.h"
|
||||
|
||||
#include <math.h>
|
||||
#include <stdbool.h>
|
||||
@ -41,6 +42,7 @@ struct Panel_ {
|
||||
Vector* items;
|
||||
int selected;
|
||||
int scrollV, scrollH;
|
||||
int scrollHAmount;
|
||||
int oldSelected;
|
||||
bool needsRedraw;
|
||||
RichString header;
|
||||
|
Loading…
Reference in New Issue
Block a user