diff options
| -rw-r--r-- | config.mk | 2 | ||||
| -rw-r--r-- | main.c | 22 |
2 files changed, 14 insertions, 10 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | # dmenu version | 1 | # dmenu version |
| 2 | VERSION = 1.7 | 2 | VERSION = 1.7.1 |
| 3 | 3 | ||
| 4 | # Customize below to fit your system | 4 | # Customize below to fit your system |
| 5 | 5 | ||
| @@ -200,11 +200,13 @@ kpress(XKeyEvent * e) { | |||
| 200 | } | 200 | } |
| 201 | break; | 201 | break; |
| 202 | case XK_End: | 202 | case XK_End: |
| 203 | if(!sel) | ||
| 204 | return; | ||
| 203 | while(next) { | 205 | while(next) { |
| 204 | sel = curr = next; | 206 | sel = curr = next; |
| 205 | calcoffsets(); | 207 | calcoffsets(); |
| 206 | } | 208 | } |
| 207 | while(sel->right) | 209 | while(sel && sel->right) |
| 208 | sel = sel->right; | 210 | sel = sel->right; |
| 209 | break; | 211 | break; |
| 210 | case XK_Escape: | 212 | case XK_Escape: |
| @@ -212,6 +214,8 @@ kpress(XKeyEvent * e) { | |||
| 212 | running = False; | 214 | running = False; |
| 213 | break; | 215 | break; |
| 214 | case XK_Home: | 216 | case XK_Home: |
| 217 | if(!item) | ||
| 218 | return; | ||
| 215 | sel = curr = item; | 219 | sel = curr = item; |
| 216 | calcoffsets(); | 220 | calcoffsets(); |
| 217 | break; | 221 | break; |
| @@ -225,16 +229,16 @@ kpress(XKeyEvent * e) { | |||
| 225 | } | 229 | } |
| 226 | break; | 230 | break; |
| 227 | case XK_Next: | 231 | case XK_Next: |
| 228 | if(next) { | 232 | if(!next) |
| 229 | sel = curr = next; | 233 | return; |
| 230 | calcoffsets(); | 234 | sel = curr = next; |
| 231 | } | 235 | calcoffsets(); |
| 232 | break; | 236 | break; |
| 233 | case XK_Prior: | 237 | case XK_Prior: |
| 234 | if(prev) { | 238 | if(!prev) |
| 235 | sel = curr = prev; | 239 | return; |
| 236 | calcoffsets(); | 240 | sel = curr = prev; |
| 237 | } | 241 | calcoffsets(); |
| 238 | break; | 242 | break; |
| 239 | case XK_Return: | 243 | case XK_Return: |
| 240 | if((e->state & ShiftMask) && text) | 244 | if((e->state & ShiftMask) && text) |
