Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
htop
Commits
1edcfad8
Commit
1edcfad8
authored
Jan 27, 2018
by
Hisham Muhammad
Browse files
Move responsibility for cursor placement to Panels
parent
d4ea7cd6
Changes
11
Hide whitespace changes
Inline
Side-by-side
CRT.c
View file @
1edcfad8
...
@@ -531,8 +531,6 @@ int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT] = {
...
@@ -531,8 +531,6 @@ int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT] = {
[
COLORSCHEME_BROKENGRAY
]
=
{
0
}
// dynamically generated.
[
COLORSCHEME_BROKENGRAY
]
=
{
0
}
// dynamically generated.
};
};
int
CRT_cursorX
=
0
;
int
CRT_scrollHAmount
=
5
;
int
CRT_scrollHAmount
=
5
;
int
CRT_scrollWheelVAmount
=
10
;
int
CRT_scrollWheelVAmount
=
10
;
...
...
CRT.h
View file @
1edcfad8
...
@@ -144,8 +144,6 @@ int* CRT_colors;
...
@@ -144,8 +144,6 @@ int* CRT_colors;
extern
int
CRT_colorSchemes
[
LAST_COLORSCHEME
][
LAST_COLORELEMENT
];
extern
int
CRT_colorSchemes
[
LAST_COLORSCHEME
][
LAST_COLORELEMENT
];
extern
int
CRT_cursorX
;
extern
int
CRT_scrollHAmount
;
extern
int
CRT_scrollHAmount
;
extern
int
CRT_scrollWheelVAmount
;
extern
int
CRT_scrollWheelVAmount
;
...
...
FunctionBar.c
View file @
1edcfad8
...
@@ -96,11 +96,12 @@ void FunctionBar_setLabel(FunctionBar* this, int event, const char* text) {
...
@@ -96,11 +96,12 @@ void FunctionBar_setLabel(FunctionBar* this, int event, const char* text) {
}
}
}
}
void
FunctionBar_draw
(
const
FunctionBar
*
this
,
char
*
buffer
)
{
int
FunctionBar_draw
(
const
FunctionBar
*
this
,
char
*
buffer
)
{
FunctionBar_drawAttr
(
this
,
buffer
,
CRT_colors
[
FUNCTION_BAR
]);
return
FunctionBar_drawAttr
(
this
,
buffer
,
CRT_colors
[
FUNCTION_BAR
]);
}
}
void
FunctionBar_drawAttr
(
const
FunctionBar
*
this
,
char
*
buffer
,
int
attr
)
{
int
FunctionBar_drawAttr
(
const
FunctionBar
*
this
,
char
*
buffer
,
int
attr
)
{
int
cursorX
=
0
;
attrset
(
CRT_colors
[
FUNCTION_BAR
]);
attrset
(
CRT_colors
[
FUNCTION_BAR
]);
mvhline
(
LINES
-
1
,
0
,
' '
,
COLS
);
mvhline
(
LINES
-
1
,
0
,
' '
,
COLS
);
int
x
=
0
;
int
x
=
0
;
...
@@ -115,12 +116,10 @@ void FunctionBar_drawAttr(const FunctionBar* this, char* buffer, int attr) {
...
@@ -115,12 +116,10 @@ void FunctionBar_drawAttr(const FunctionBar* this, char* buffer, int attr) {
if
(
buffer
)
{
if
(
buffer
)
{
attrset
(
attr
);
attrset
(
attr
);
mvaddstr
(
LINES
-
1
,
x
,
buffer
);
mvaddstr
(
LINES
-
1
,
x
,
buffer
);
CRT_cursorX
=
x
+
strlen
(
buffer
);
cursorX
=
x
+
strlen
(
buffer
);
curs_set
(
1
);
}
else
{
curs_set
(
0
);
}
}
attrset
(
CRT_colors
[
RESET_COLOR
]);
attrset
(
CRT_colors
[
RESET_COLOR
]);
return
cursorX
;
}
}
int
FunctionBar_synthesizeEvent
(
const
FunctionBar
*
this
,
int
pos
)
{
int
FunctionBar_synthesizeEvent
(
const
FunctionBar
*
this
,
int
pos
)
{
...
...
FunctionBar.h
View file @
1edcfad8
...
@@ -30,9 +30,9 @@ void FunctionBar_delete(FunctionBar* this);
...
@@ -30,9 +30,9 @@ void FunctionBar_delete(FunctionBar* this);
void
FunctionBar_setLabel
(
FunctionBar
*
this
,
int
event
,
const
char
*
text
);
void
FunctionBar_setLabel
(
FunctionBar
*
this
,
int
event
,
const
char
*
text
);
void
FunctionBar_draw
(
const
FunctionBar
*
this
,
char
*
buffer
);
int
FunctionBar_draw
(
const
FunctionBar
*
this
,
char
*
buffer
);
void
FunctionBar_drawAttr
(
const
FunctionBar
*
this
,
char
*
buffer
,
int
attr
);
int
FunctionBar_drawAttr
(
const
FunctionBar
*
this
,
char
*
buffer
,
int
attr
);
int
FunctionBar_synthesizeEvent
(
const
FunctionBar
*
this
,
int
pos
);
int
FunctionBar_synthesizeEvent
(
const
FunctionBar
*
this
,
int
pos
);
...
...
IncSet.c
View file @
1edcfad8
...
@@ -38,6 +38,7 @@ typedef struct IncMode_ {
...
@@ -38,6 +38,7 @@ typedef struct IncMode_ {
typedef struct IncSet_ {
typedef struct IncSet_ {
IncMode modes[2];
IncMode modes[2];
IncMode* active;
IncMode* active;
Panel* panel;
FunctionBar* defaultBar;
FunctionBar* defaultBar;
bool filtering;
bool filtering;
bool found;
bool found;
...
@@ -115,23 +116,35 @@ static void updateWeakPanel(IncSet* this, Panel* panel, Vector* lines) {
...
@@ -115,23 +116,35 @@ static void updateWeakPanel(IncSet* this, Panel* panel, Vector* lines) {
}
}
}
}
static
bool
search
(
Inc
Mode
*
mode
,
Panel
*
panel
,
IncMode_GetPanelValue
getPanelValue
)
{
static
bool
search
(
Inc
Set
*
this
,
Panel
*
panel
,
IncMode_GetPanelValue
getPanelValue
)
{
int
size
=
Panel_size
(
panel
);
int
size
=
Panel_size
(
panel
);
bool
found
=
false
;
bool
found
=
false
;
for
(
int
i
=
0
;
i
<
size
;
i
++
)
{
for
(
int
i
=
0
;
i
<
size
;
i
++
)
{
if
(
String_contains_i
(
getPanelValue
(
panel
,
i
),
mod
e
->
buffer
))
{
if
(
String_contains_i
(
getPanelValue
(
panel
,
i
),
this
->
activ
e
->
buffer
))
{
Panel_setSelected
(
panel
,
i
);
Panel_setSelected
(
panel
,
i
);
found
=
true
;
found
=
true
;
break
;
break
;
}
}
}
}
if
(
found
)
IncSet_drawBar
(
this
,
found
?
CRT_colors
[
FUNCTION_BAR
]
:
CRT_colors
[
FAILED_SEARCH
]);
FunctionBar_draw
(
mode
->
bar
,
mode
->
buffer
);
else
FunctionBar_drawAttr
(
mode
->
bar
,
mode
->
buffer
,
CRT_colors
[
FAILED_SEARCH
]);
return
found
;
return
found
;
}
}
void
IncSet_activate
(
IncSet
*
this
,
IncType
type
,
Panel
*
panel
)
{
this
->
active
=
&
(
this
->
modes
[
type
]);
panel
->
currentBar
=
this
->
active
->
bar
;
panel
->
cursorOn
=
true
;
this
->
panel
=
panel
;
IncSet_drawBar
(
this
,
CRT_colors
[
FUNCTION_BAR
]);
}
static
void
IncSet_deactivate
(
IncSet
*
this
,
Panel
*
panel
)
{
this
->
active
=
NULL
;
Panel_setDefaultBar
(
panel
);
panel
->
cursorOn
=
false
;
FunctionBar_draw
(
this
->
defaultBar
,
NULL
);
}
bool
IncSet_handleKey
(
IncSet
*
this
,
int
ch
,
Panel
*
panel
,
IncMode_GetPanelValue
getPanelValue
,
Vector
*
lines
)
{
bool
IncSet_handleKey
(
IncSet
*
this
,
int
ch
,
Panel
*
panel
,
IncMode_GetPanelValue
getPanelValue
,
Vector
*
lines
)
{
if
(
ch
==
ERR
)
if
(
ch
==
ERR
)
return
true
;
return
true
;
...
@@ -189,13 +202,11 @@ bool IncSet_handleKey(IncSet* this, int ch, Panel* panel, IncMode_GetPanelValue
...
@@ -189,13 +202,11 @@ bool IncSet_handleKey(IncSet* this, int ch, Panel* panel, IncMode_GetPanelValue
}
else
{
}
else
{
IncMode_reset
(
mode
);
IncMode_reset
(
mode
);
}
}
this
->
active
=
NULL
;
IncSet_deactivate
(
this
,
panel
);
Panel_setDefaultBar
(
panel
);
FunctionBar_draw
(
this
->
defaultBar
,
NULL
);
doSearch
=
false
;
doSearch
=
false
;
}
}
if
(
doSearch
)
{
if
(
doSearch
)
{
this
->
found
=
search
(
mode
,
panel
,
getPanelValue
);
this
->
found
=
search
(
this
,
panel
,
getPanelValue
);
}
}
if
(
filterChanged
&&
lines
)
{
if
(
filterChanged
&&
lines
)
{
updateWeakPanel
(
this
,
panel
,
lines
);
updateWeakPanel
(
this
,
panel
,
lines
);
...
@@ -210,15 +221,11 @@ const char* IncSet_getListItemValue(Panel* panel, int i) {
...
@@ -210,15 +221,11 @@ const char* IncSet_getListItemValue(Panel* panel, int i) {
return
""
;
return
""
;
}
}
void
IncSet_activate
(
IncSet
*
this
,
IncType
type
,
Panel
*
panel
)
{
void
IncSet_drawBar
(
IncSet
*
this
,
int
attr
)
{
this
->
active
=
&
(
this
->
modes
[
type
]);
FunctionBar_draw
(
this
->
active
->
bar
,
this
->
active
->
buffer
);
panel
->
currentBar
=
this
->
active
->
bar
;
}
void
IncSet_drawBar
(
IncSet
*
this
)
{
if
(
this
->
active
)
{
if
(
this
->
active
)
{
FunctionBar_draw
(
this
->
active
->
bar
,
this
->
active
->
buffer
);
int
cursorX
=
FunctionBar_drawAttr
(
this
->
active
->
bar
,
this
->
active
->
buffer
,
attr
);
this
->
panel
->
cursorY
=
LINES
-
1
;
this
->
panel
->
cursorX
=
cursorX
;
}
else
{
}
else
{
FunctionBar_draw
(
this
->
defaultBar
,
NULL
);
FunctionBar_draw
(
this
->
defaultBar
,
NULL
);
}
}
...
...
IncSet.h
View file @
1edcfad8
...
@@ -33,6 +33,7 @@ typedef struct IncMode_ {
...
@@ -33,6 +33,7 @@ typedef struct IncMode_ {
typedef
struct
IncSet_
{
typedef
struct
IncSet_
{
IncMode
modes
[
2
];
IncMode
modes
[
2
];
IncMode
*
active
;
IncMode
*
active
;
Panel
*
panel
;
FunctionBar
*
defaultBar
;
FunctionBar
*
defaultBar
;
bool
filtering
;
bool
filtering
;
bool
found
;
bool
found
;
...
@@ -45,13 +46,13 @@ IncSet* IncSet_new(FunctionBar* bar);
...
@@ -45,13 +46,13 @@ IncSet* IncSet_new(FunctionBar* bar);
void
IncSet_delete
(
IncSet
*
this
);
void
IncSet_delete
(
IncSet
*
this
);
void
IncSet_activate
(
IncSet
*
this
,
IncType
type
,
Panel
*
panel
);
bool
IncSet_handleKey
(
IncSet
*
this
,
int
ch
,
Panel
*
panel
,
IncMode_GetPanelValue
getPanelValue
,
Vector
*
lines
);
bool
IncSet_handleKey
(
IncSet
*
this
,
int
ch
,
Panel
*
panel
,
IncMode_GetPanelValue
getPanelValue
,
Vector
*
lines
);
const
char
*
IncSet_getListItemValue
(
Panel
*
panel
,
int
i
);
const
char
*
IncSet_getListItemValue
(
Panel
*
panel
,
int
i
);
void
IncSet_activate
(
IncSet
*
this
,
IncType
type
,
Panel
*
panel
);
void
IncSet_drawBar
(
IncSet
*
this
,
int
attr
);
void
IncSet_drawBar
(
IncSet
*
this
);
int
IncSet_synthesizeEvent
(
IncSet
*
this
,
int
x
);
int
IncSet_synthesizeEvent
(
IncSet
*
this
,
int
x
);
...
...
InfoScreen.c
View file @
1edcfad8
...
@@ -85,7 +85,7 @@ void InfoScreen_drawTitled(InfoScreen* this, char* fmt, ...) {
...
@@ -85,7 +85,7 @@ void InfoScreen_drawTitled(InfoScreen* this, char* fmt, ...) {
attrset
(
CRT_colors
[
DEFAULT_COLOR
]);
attrset
(
CRT_colors
[
DEFAULT_COLOR
]);
this
->
display
->
needsRedraw
=
true
;
this
->
display
->
needsRedraw
=
true
;
Panel_draw
(
this
->
display
,
true
);
Panel_draw
(
this
->
display
,
true
);
IncSet_drawBar
(
this
->
inc
);
IncSet_drawBar
(
this
->
inc
,
CRT_colors
[
FUNCTION_BAR
]
);
va_end
(
ap
);
va_end
(
ap
);
}
}
...
@@ -115,11 +115,7 @@ void InfoScreen_run(InfoScreen* this) {
...
@@ -115,11 +115,7 @@ void InfoScreen_run(InfoScreen* this) {
Panel_draw
(
panel
,
true
);
Panel_draw
(
panel
,
true
);
if
(
this
->
inc
->
active
)
{
int
ch
=
Panel_getCh
(
panel
);
(
void
)
move
(
LINES
-
1
,
CRT_cursorX
);
}
set_escdelay
(
25
);
int
ch
=
getch
();
if
(
ch
==
ERR
)
{
if
(
ch
==
ERR
)
{
if
(
As_InfoScreen
(
this
)
->
onErr
)
{
if
(
As_InfoScreen
(
this
)
->
onErr
)
{
...
...
Panel.c
View file @
1edcfad8
...
@@ -57,6 +57,7 @@ typedef struct PanelClass_ {
...
@@ -57,6 +57,7 @@ typedef struct PanelClass_ {
struct Panel_ {
struct Panel_ {
Object super;
Object super;
int x, y, w, h;
int x, y, w, h;
int cursorX, cursorY;
WINDOW* window;
WINDOW* window;
Vector* items;
Vector* items;
int selected;
int selected;
...
@@ -66,6 +67,7 @@ struct Panel_ {
...
@@ -66,6 +67,7 @@ struct Panel_ {
int scrollV;
int scrollV;
short scrollH;
short scrollH;
bool needsRedraw;
bool needsRedraw;
bool cursorOn;
FunctionBar* currentBar;
FunctionBar* currentBar;
FunctionBar* defaultBar;
FunctionBar* defaultBar;
RichString header;
RichString header;
...
@@ -85,6 +87,11 @@ struct Panel_ {
...
@@ -85,6 +87,11 @@ struct Panel_ {
#define KEY_CTRL(l) ((l)-'A'+1)
#define KEY_CTRL(l) ((l)-'A'+1)
void
Panel_setCursorToSelection
(
Panel
*
this
)
{
this
->
cursorY
=
this
->
y
+
this
->
selected
-
this
->
scrollV
+
1
;
this
->
cursorX
=
this
->
x
+
this
->
selectedLen
-
this
->
scrollH
;
}
PanelClass
Panel_class
=
{
PanelClass
Panel_class
=
{
.
super
=
{
.
super
=
{
.
extends
=
Class
(
Object
),
.
extends
=
Class
(
Object
),
...
@@ -112,6 +119,8 @@ void Panel_init(Panel* this, int x, int y, int w, int h, ObjectClass* type, bool
...
@@ -112,6 +119,8 @@ void Panel_init(Panel* this, int x, int y, int w, int h, ObjectClass* type, bool
this
->
y
=
y
;
this
->
y
=
y
;
this
->
w
=
w
;
this
->
w
=
w
;
this
->
h
=
h
;
this
->
h
=
h
;
this
->
cursorX
=
0
;
this
->
cursorY
=
0
;
this
->
eventHandlerState
=
NULL
;
this
->
eventHandlerState
=
NULL
;
this
->
items
=
Vector_new
(
type
,
owner
,
DEFAULT_SIZE
);
this
->
items
=
Vector_new
(
type
,
owner
,
DEFAULT_SIZE
);
this
->
scrollV
=
0
;
this
->
scrollV
=
0
;
...
@@ -367,7 +376,6 @@ void Panel_draw(Panel* this, bool focus) {
...
@@ -367,7 +376,6 @@ void Panel_draw(Panel* this, bool focus) {
RichString_end
(
old
);
RichString_end
(
old
);
}
}
this
->
oldSelected
=
this
->
selected
;
this
->
oldSelected
=
this
->
selected
;
move
(
0
,
0
);
}
}
bool
Panel_onKey
(
Panel
*
this
,
int
key
)
{
bool
Panel_onKey
(
Panel
*
this
,
int
key
)
{
...
@@ -499,3 +507,15 @@ HandlerResult Panel_selectByTyping(Panel* this, int ch) {
...
@@ -499,3 +507,15 @@ HandlerResult Panel_selectByTyping(Panel* this, int ch) {
}
}
return
IGNORED
;
return
IGNORED
;
}
}
int
Panel_getCh
(
Panel
*
this
)
{
if
(
this
->
cursorOn
)
{
move
(
this
->
cursorY
,
this
->
cursorX
);
curs_set
(
1
);
}
else
{
curs_set
(
0
);
}
set_escdelay
(
25
);
return
getch
();
}
Panel.h
View file @
1edcfad8
...
@@ -46,6 +46,7 @@ typedef struct PanelClass_ {
...
@@ -46,6 +46,7 @@ typedef struct PanelClass_ {
struct
Panel_
{
struct
Panel_
{
Object
super
;
Object
super
;
int
x
,
y
,
w
,
h
;
int
x
,
y
,
w
,
h
;
int
cursorX
,
cursorY
;
WINDOW
*
window
;
WINDOW
*
window
;
Vector
*
items
;
Vector
*
items
;
int
selected
;
int
selected
;
...
@@ -55,6 +56,7 @@ struct Panel_ {
...
@@ -55,6 +56,7 @@ struct Panel_ {
int
scrollV
;
int
scrollV
;
short
scrollH
;
short
scrollH
;
bool
needsRedraw
;
bool
needsRedraw
;
bool
cursorOn
;
FunctionBar
*
currentBar
;
FunctionBar
*
currentBar
;
FunctionBar
*
defaultBar
;
FunctionBar
*
defaultBar
;
RichString
header
;
RichString
header
;
...
@@ -73,6 +75,8 @@ struct Panel_ {
...
@@ -73,6 +75,8 @@ struct Panel_ {
#define KEY_CTRL(l) ((l)-'A'+1)
#define KEY_CTRL(l) ((l)-'A'+1)
void
Panel_setCursorToSelection
(
Panel
*
this
);
extern
PanelClass
Panel_class
;
extern
PanelClass
Panel_class
;
Panel
*
Panel_new
(
int
x
,
int
y
,
int
w
,
int
h
,
bool
owner
,
ObjectClass
*
type
,
FunctionBar
*
fuBar
);
Panel
*
Panel_new
(
int
x
,
int
y
,
int
w
,
int
h
,
bool
owner
,
ObjectClass
*
type
,
FunctionBar
*
fuBar
);
...
@@ -123,4 +127,7 @@ bool Panel_onKey(Panel* this, int key);
...
@@ -123,4 +127,7 @@ bool Panel_onKey(Panel* this, int key);
HandlerResult
Panel_selectByTyping
(
Panel
*
this
,
int
ch
);
HandlerResult
Panel_selectByTyping
(
Panel
*
this
,
int
ch
);
int
Panel_getCh
(
Panel
*
this
);
#endif
#endif
ScreenManager.c
View file @
1edcfad8
...
@@ -157,7 +157,8 @@ static void ScreenManager_drawPanels(ScreenManager* this, int focus) {
...
@@ -157,7 +157,8 @@ static void ScreenManager_drawPanels(ScreenManager* this, int focus) {
}
}
}
}
static
Panel
*
setCurrentPanel
(
Panel
*
panel
)
{
static
Panel
*
setCurrentPanel
(
ScreenManager
*
this
,
int
focus
)
{
Panel
*
panel
=
(
Panel
*
)
Vector_get
(
this
->
panels
,
focus
);
FunctionBar_draw
(
panel
->
currentBar
,
NULL
);
FunctionBar_draw
(
panel
->
currentBar
,
NULL
);
return
panel
;
return
panel
;
}
}
...
@@ -166,7 +167,7 @@ void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey) {
...
@@ -166,7 +167,7 @@ void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey) {
bool
quit
=
false
;
bool
quit
=
false
;
int
focus
=
0
;
int
focus
=
0
;
Panel
*
panelFocus
=
setCurrentPanel
(
(
Panel
*
)
Vector_get
(
this
->
panel
s
,
focus
)
)
;
Panel
*
panelFocus
=
setCurrentPanel
(
thi
s
,
focus
);
double
oldTime
=
0
.
0
;
double
oldTime
=
0
.
0
;
...
@@ -189,8 +190,7 @@ void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey) {
...
@@ -189,8 +190,7 @@ void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey) {
}
}
int
prevCh
=
ch
;
int
prevCh
=
ch
;
set_escdelay
(
25
);
ch
=
Panel_getCh
(
panelFocus
);
ch
=
getch
();
HandlerResult
result
=
IGNORED
;
HandlerResult
result
=
IGNORED
;
if
(
ch
==
KEY_MOUSE
)
{
if
(
ch
==
KEY_MOUSE
)
{
...
@@ -212,7 +212,7 @@ void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey) {
...
@@ -212,7 +212,7 @@ void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey) {
ch
=
KEY_MOUSE
;
ch
=
KEY_MOUSE
;
if
(
panel
==
panelFocus
||
this
->
allowFocusChange
)
{
if
(
panel
==
panelFocus
||
this
->
allowFocusChange
)
{
focus
=
i
;
focus
=
i
;
panelFocus
=
setCurrentPanel
(
panel
);
panelFocus
=
setCurrentPanel
(
this
,
i
);
Object
*
oldSelection
=
Panel_getSelected
(
panel
);
Object
*
oldSelection
=
Panel_getSelected
(
panel
);
Panel_setSelected
(
panel
,
mevent
.
y
-
panel
->
y
+
panel
->
scrollV
-
1
);
Panel_setSelected
(
panel
,
mevent
.
y
-
panel
->
y
+
panel
->
scrollV
-
1
);
if
(
Panel_getSelected
(
panel
)
==
oldSelection
)
{
if
(
Panel_getSelected
(
panel
)
==
oldSelection
)
{
...
@@ -288,7 +288,7 @@ void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey) {
...
@@ -288,7 +288,7 @@ void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey) {
tryLeft:
tryLeft:
if
(
focus
>
0
)
if
(
focus
>
0
)
focus
--
;
focus
--
;
panelFocus
=
setCurrentPanel
(
(
Panel
*
)
Vector_get
(
this
->
panel
s
,
focus
)
)
;
panelFocus
=
setCurrentPanel
(
thi
s
,
focus
);
if
(
Panel_size
(
panelFocus
)
==
0
&&
focus
>
0
)
if
(
Panel_size
(
panelFocus
)
==
0
&&
focus
>
0
)
goto
tryLeft
;
goto
tryLeft
;
break
;
break
;
...
@@ -303,7 +303,7 @@ void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey) {
...
@@ -303,7 +303,7 @@ void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey) {
tryRight:
tryRight:
if
(
focus
<
this
->
panelCount
-
1
)
if
(
focus
<
this
->
panelCount
-
1
)
focus
++
;
focus
++
;
panelFocus
=
setCurrentPanel
(
(
Panel
*
)
Vector_get
(
this
->
panel
s
,
focus
)
)
;
panelFocus
=
setCurrentPanel
(
thi
s
,
focus
);
if
(
Panel_size
(
panelFocus
)
==
0
&&
focus
<
this
->
panelCount
-
1
)
if
(
Panel_size
(
panelFocus
)
==
0
&&
focus
<
this
->
panelCount
-
1
)
goto
tryRight
;
goto
tryRight
;
break
;
break
;
...
...
TraceScreen.c
View file @
1edcfad8
...
@@ -86,7 +86,7 @@ void TraceScreen_draw(InfoScreen* this) {
...
@@ -86,7 +86,7 @@ void TraceScreen_draw(InfoScreen* this) {
mvhline
(
0
,
0
,
' '
,
COLS
);
mvhline
(
0
,
0
,
' '
,
COLS
);
mvprintw
(
0
,
0
,
"Trace of process %d - %s"
,
this
->
process
->
pid
,
this
->
process
->
comm
);
mvprintw
(
0
,
0
,
"Trace of process %d - %s"
,
this
->
process
->
pid
,
this
->
process
->
comm
);
attrset
(
CRT_colors
[
DEFAULT_COLOR
]);
attrset
(
CRT_colors
[
DEFAULT_COLOR
]);
IncSet_drawBar
(
this
->
inc
);
IncSet_drawBar
(
this
->
inc
,
CRT_colors
[
FUNCTION_BAR
]
);
}
}
bool
TraceScreen_forkTracer
(
TraceScreen
*
this
)
{
bool
TraceScreen_forkTracer
(
TraceScreen
*
this
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment