@@ -122,7 +122,8 @@ func (c *clientImpl) selectTaskName(tasks Tasks) (string, error) {
122
122
i := 0
123
123
for {
124
124
w , h := c .screenClient .ScreenSize ()
125
- limit := int (math .Min (float64 (offset + h ), float64 (len (tasks ))))
125
+ selectedHeight := h - 1
126
+ limit := int (math .Min (float64 (offset + selectedHeight ), float64 (len (tasks ))))
126
127
127
128
for y , t := range tasks [offset :limit ] {
128
129
name := fmt .Sprintf ("%3d. %s" , y + 1 , t .Name )
@@ -139,6 +140,16 @@ func (c *clientImpl) selectTaskName(tasks Tasks) (string, error) {
139
140
_ = draw .Sentence (c .screenClient .GetScreen (), 0 , y , w , name , true , opts ... )
140
141
}
141
142
143
+ draw .Sentence (
144
+ c .screenClient .GetScreen (),
145
+ 0 ,
146
+ h - 1 ,
147
+ w ,
148
+ "(n): add new task / (d): delete task" ,
149
+ true ,
150
+ draw .WithBackgroundColor (draw .StatusBarBackgroundColor ),
151
+ )
152
+
142
153
e := <- c .screenClient .GetEventChan ()
143
154
switch e := e .(type ) {
144
155
case screen.EventCancel :
@@ -151,11 +162,11 @@ func (c *clientImpl) selectTaskName(tasks Tasks) (string, error) {
151
162
continue
152
163
}
153
164
154
- if i < h - 1 {
165
+ if i < selectedHeight - 1 {
155
166
i ++
156
167
} else {
157
168
c .screenClient .Clear ()
158
- offset += h
169
+ offset += selectedHeight
159
170
i = 0
160
171
}
161
172
case screen.EventKeyUp :
@@ -167,8 +178,8 @@ func (c *clientImpl) selectTaskName(tasks Tasks) (string, error) {
167
178
i --
168
179
} else {
169
180
c .screenClient .Clear ()
170
- offset -= h
171
- i = h - 1
181
+ offset -= selectedHeight
182
+ i = selectedHeight - 1
172
183
}
173
184
case screen.EventRune :
174
185
s := c .screenClient .GetScreen ()
0 commit comments