File: bsd_daemon_removal.patch

package info (click to toggle)
oneko 1.2.sakura.6-16
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,000 kB
  • sloc: ansic: 1,283; perl: 25; makefile: 23
file content (345 lines) | stat: -rw-r--r-- 24,046 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
Description: Remove the option and the code to display a BSD daemon
 because of copyright issues (ver. 1.2.sakura.6-1)
Author: Steve Dunham <dunham@cse.msu.edu>
Last-Update: 2008-06-26

Index: b/cursors/cursor.include
===================================================================
--- a/cursors/cursor.include	2025-09-14 22:19:17.354862210 +0200
+++ b/cursors/cursor.include	2025-09-14 22:19:17.350862200 +0200
@@ -2,8 +2,6 @@
 #include "mouse_cursor_mask.xbm"
 #include "bone_cursor.xbm"
 #include "bone_cursor_mask.xbm"
-#include "bsd_cursor.xbm"
-#include "bsd_cursor_mask.xbm"
 #include "card_cursor.xbm"
 #include "card_cursor_mask.xbm"
 #include "petal_cursor.xbm"
Index: b/oneko.c
===================================================================
--- a/oneko.c	2025-09-14 22:19:17.354862210 +0200
+++ b/oneko.c	2025-09-14 22:19:17.350862200 +0200
@@ -8,6 +8,10 @@
 
 #include "oneko.h"
 #include "patchlevel.h"
+
+#include <X11/cursorfont.h>
+int restoredCursor = 0; 
+
 /*
  *	$@%0%m!<%P%kJQ?t(J
  */
@@ -33,7 +37,7 @@
 
 int Synchronous = False;
 /* Types of animals */
-#define BITMAPTYPES 6
+#define BITMAPTYPES 5
 typedef struct _AnimalDefaults {
   char *name;
   int speed, idle, bitmap_width, bitmap_height;
@@ -51,8 +55,6 @@
       mouse_cursor_width,mouse_cursor_height, mouse_cursor_x_hot,mouse_cursor_y_hot },
   { "dog" , 10, 6, 32, 32, 125000L, 0, 0, bone_cursor_bits,bone_cursor_mask_bits,
       bone_cursor_width,bone_cursor_height, bone_cursor_x_hot,bone_cursor_y_hot },
-  { "bsd_daemon" , 16, 6, 32, 32, 300000L, 22, 20, bsd_cursor_bits,bsd_cursor_mask_bits,
-      bsd_cursor_width,bsd_cursor_height, bsd_cursor_x_hot,bsd_cursor_y_hot },
   { "sakura" , 13, 6, 32, 32, 125000L, 0, 0, card_cursor_bits,card_cursor_mask_bits,
       card_cursor_width,card_cursor_height, card_cursor_x_hot,card_cursor_y_hot },
   { "tomoyo" , 10, 6, 32, 32, 125000L, 32, 32, petal_cursor_bits,petal_cursor_mask_bits,
@@ -154,70 +156,70 @@
 
 BitmapGCData	BitmapGCDataTable[] =
 {
-    { &Mati2GC, &Mati2Xbm,  mati2_bits, mati2_tora_bits, mati2_dog_bits, mati2_bsd_bits, mati2_sakura_bits, mati2_tomoyo_bits,
-      &Mati2Msk, mati2_mask_bits, mati2_mask_bits, mati2_dog_mask_bits, mati2_bsd_mask_bits, mati2_sakura_mask_bits, mati2_tomoyo_mask_bits },
-    { &Jare2GC, &Jare2Xbm,  jare2_bits, jare2_tora_bits, jare2_dog_bits, jare2_bsd_bits, jare2_sakura_bits, jare2_tomoyo_bits,
-      &Jare2Msk, jare2_mask_bits, jare2_mask_bits, jare2_dog_mask_bits, jare2_bsd_mask_bits, jare2_sakura_mask_bits, jare2_tomoyo_mask_bits },
-    { &Kaki1GC, &Kaki1Xbm,  kaki1_bits, kaki1_tora_bits, kaki1_dog_bits, kaki1_bsd_bits, kaki1_sakura_bits, kaki1_tomoyo_bits,
-      &Kaki1Msk, kaki1_mask_bits, kaki1_mask_bits, kaki1_dog_mask_bits, kaki1_bsd_mask_bits, kaki1_sakura_mask_bits, kaki1_tomoyo_mask_bits },
-    { &Kaki2GC, &Kaki2Xbm,  kaki2_bits, kaki2_tora_bits, kaki2_dog_bits, kaki2_bsd_bits, kaki2_sakura_bits, kaki2_tomoyo_bits,
-      &Kaki2Msk, kaki2_mask_bits, kaki2_mask_bits, kaki2_dog_mask_bits, kaki2_bsd_mask_bits, kaki2_sakura_mask_bits, kaki2_tomoyo_mask_bits },
-    { &Mati3GC, &Mati3Xbm,  mati3_bits, mati3_tora_bits, mati3_dog_bits, mati3_bsd_bits, mati3_sakura_bits, mati3_tomoyo_bits,
-      &Mati3Msk, mati3_mask_bits, mati3_mask_bits, mati3_dog_mask_bits, mati3_bsd_mask_bits, mati3_sakura_mask_bits, mati3_tomoyo_mask_bits },
-    { &Sleep1GC, &Sleep1Xbm,  sleep1_bits, sleep1_tora_bits, sleep1_dog_bits, sleep1_bsd_bits, sleep1_sakura_bits, sleep1_tomoyo_bits,
-      &Sleep1Msk, sleep1_mask_bits, sleep1_mask_bits, sleep1_dog_mask_bits, sleep1_bsd_mask_bits, sleep1_sakura_mask_bits, sleep1_tomoyo_mask_bits },
-    { &Sleep2GC, &Sleep2Xbm,  sleep2_bits, sleep2_tora_bits, sleep2_dog_bits, sleep2_bsd_bits, sleep2_sakura_bits, sleep2_tomoyo_bits,
-      &Sleep2Msk, sleep2_mask_bits, sleep2_mask_bits, sleep2_dog_mask_bits, sleep2_bsd_mask_bits, sleep2_sakura_mask_bits, sleep2_tomoyo_mask_bits },
-    { &AwakeGC, &AwakeXbm,  awake_bits, awake_tora_bits, awake_dog_bits, awake_bsd_bits, awake_sakura_bits, awake_tomoyo_bits,
-      &AwakeMsk, awake_mask_bits, awake_mask_bits, awake_dog_mask_bits, awake_bsd_mask_bits, awake_sakura_mask_bits, awake_tomoyo_mask_bits },
-    { &Up1GC, &Up1Xbm,  up1_bits, up1_tora_bits, up1_dog_bits, up1_bsd_bits, up1_sakura_bits, up1_tomoyo_bits,
-      &Up1Msk, up1_mask_bits, up1_mask_bits, up1_dog_mask_bits, up1_bsd_mask_bits, up1_sakura_mask_bits, up1_tomoyo_mask_bits },
-    { &Up2GC, &Up2Xbm,  up2_bits, up2_tora_bits, up2_dog_bits, up2_bsd_bits, up2_sakura_bits, up2_tomoyo_bits,
-      &Up2Msk, up2_mask_bits, up2_mask_bits, up2_dog_mask_bits, up2_bsd_mask_bits, up2_sakura_mask_bits, up2_tomoyo_mask_bits },
-    { &Down1GC, &Down1Xbm,  down1_bits, down1_tora_bits, down1_dog_bits, down1_bsd_bits, down1_sakura_bits, down1_tomoyo_bits,
-      &Down1Msk, down1_mask_bits, down1_mask_bits, down1_dog_mask_bits, down1_bsd_mask_bits, down1_sakura_mask_bits, down1_tomoyo_mask_bits },
-    { &Down2GC, &Down2Xbm,  down2_bits, down2_tora_bits, down2_dog_bits, down2_bsd_bits, down2_sakura_bits, down2_tomoyo_bits,
-      &Down2Msk, down2_mask_bits, down2_mask_bits, down2_dog_mask_bits, down2_bsd_mask_bits, down2_sakura_mask_bits, down2_tomoyo_mask_bits },
-    { &Left1GC, &Left1Xbm,  left1_bits, left1_tora_bits, left1_dog_bits, left1_bsd_bits, left1_sakura_bits, left1_tomoyo_bits,
-      &Left1Msk, left1_mask_bits, left1_mask_bits, left1_dog_mask_bits, left1_bsd_mask_bits, left1_sakura_mask_bits, left1_tomoyo_mask_bits },
-    { &Left2GC, &Left2Xbm,  left2_bits, left2_tora_bits, left2_dog_bits, left2_bsd_bits, left2_sakura_bits, left2_tomoyo_bits,
-      &Left2Msk, left2_mask_bits, left2_mask_bits, left2_dog_mask_bits, left2_bsd_mask_bits, left2_sakura_mask_bits, left2_tomoyo_mask_bits },
-    { &Right1GC, &Right1Xbm,  right1_bits, right1_tora_bits, right1_dog_bits, right1_bsd_bits, right1_sakura_bits, right1_tomoyo_bits,
-      &Right1Msk, right1_mask_bits, right1_mask_bits,right1_dog_mask_bits, right1_bsd_mask_bits, right1_sakura_mask_bits, right1_tomoyo_mask_bits },
-    { &Right2GC, &Right2Xbm,  right2_bits, right2_tora_bits, right2_dog_bits, right2_bsd_bits, right2_sakura_bits, right2_tomoyo_bits,
-      &Right2Msk, right2_mask_bits, right2_mask_bits, right2_dog_mask_bits, right2_bsd_mask_bits, right2_sakura_mask_bits, right2_tomoyo_mask_bits },
-    { &UpLeft1GC, &UpLeft1Xbm,  upleft1_bits, upleft1_tora_bits, upleft1_dog_bits, upleft1_bsd_bits, upleft1_sakura_bits, upleft1_tomoyo_bits,
-      &UpLeft1Msk, upleft1_mask_bits, upleft1_mask_bits, upleft1_dog_mask_bits, upleft1_bsd_mask_bits, upleft1_sakura_mask_bits, upleft1_tomoyo_mask_bits },
-    { &UpLeft2GC, &UpLeft2Xbm,  upleft2_bits, upleft2_tora_bits, upleft2_dog_bits, upleft2_bsd_bits, upleft2_sakura_bits, upleft2_tomoyo_bits,
-      &UpLeft2Msk, upleft2_mask_bits, upleft2_mask_bits,upleft2_dog_mask_bits, upleft2_bsd_mask_bits, upleft2_sakura_mask_bits, upleft2_tomoyo_mask_bits },
-    { &UpRight1GC, &UpRight1Xbm,  upright1_bits, upright1_tora_bits, upright1_dog_bits, upright1_bsd_bits, upright1_sakura_bits, upright1_tomoyo_bits,
-      &UpRight1Msk, upright1_mask_bits, upright1_mask_bits,upright1_dog_mask_bits, upright1_bsd_mask_bits, upright1_sakura_mask_bits, upright1_tomoyo_mask_bits },
-    { &UpRight2GC, &UpRight2Xbm,  upright2_bits, upright2_tora_bits, upright2_dog_bits, upright2_bsd_bits, upright2_sakura_bits, upright2_tomoyo_bits,
-      &UpRight2Msk, upright2_mask_bits, upright2_mask_bits,upright2_dog_mask_bits, upright2_bsd_mask_bits, upright2_sakura_mask_bits, upright2_tomoyo_mask_bits },
-    { &DownLeft1GC, &DownLeft1Xbm,  dwleft1_bits, dwleft1_tora_bits, dwleft1_dog_bits, dwleft1_bsd_bits, dwleft1_sakura_bits, dwleft1_tomoyo_bits,
-      &DownLeft1Msk, dwleft1_mask_bits, dwleft1_mask_bits, dwleft1_dog_mask_bits, dwleft1_bsd_mask_bits, dwleft1_sakura_mask_bits, dwleft1_tomoyo_mask_bits },
-    { &DownLeft2GC, &DownLeft2Xbm,  dwleft2_bits, dwleft2_tora_bits, dwleft2_dog_bits, dwleft2_bsd_bits, dwleft2_sakura_bits, dwleft2_tomoyo_bits,
-      &DownLeft2Msk, dwleft2_mask_bits, dwleft2_mask_bits, dwleft2_dog_mask_bits, dwleft2_bsd_mask_bits, dwleft2_sakura_mask_bits, dwleft2_tomoyo_mask_bits },
-    { &DownRight1GC, &DownRight1Xbm,  dwright1_bits, dwright1_tora_bits, dwright1_dog_bits, dwright1_bsd_bits, dwright1_sakura_bits, dwright1_tomoyo_bits,
-      &DownRight1Msk, dwright1_mask_bits, dwright1_mask_bits, dwright1_dog_mask_bits, dwright1_bsd_mask_bits, dwright1_sakura_mask_bits, dwright1_tomoyo_mask_bits },
-    { &DownRight2GC, &DownRight2Xbm,  dwright2_bits, dwright2_tora_bits, dwright2_dog_bits, dwright2_bsd_bits, dwright2_sakura_bits, dwright2_tomoyo_bits,
-      &DownRight2Msk, dwright2_mask_bits, dwright2_mask_bits, dwright2_dog_mask_bits, dwright2_bsd_mask_bits, dwright2_sakura_mask_bits, dwright2_tomoyo_mask_bits },
-    { &UpTogi1GC, &UpTogi1Xbm,  utogi1_bits, utogi1_tora_bits, utogi1_dog_bits, utogi1_bsd_bits, utogi1_sakura_bits, utogi1_tomoyo_bits,
-      &UpTogi1Msk, utogi1_mask_bits, utogi1_mask_bits, utogi1_dog_mask_bits, utogi1_bsd_mask_bits, utogi1_sakura_mask_bits, utogi1_tomoyo_mask_bits },
-    { &UpTogi2GC, &UpTogi2Xbm,  utogi2_bits, utogi2_tora_bits, utogi2_dog_bits, utogi2_bsd_bits, utogi2_sakura_bits, utogi2_tomoyo_bits,
-      &UpTogi2Msk, utogi2_mask_bits, utogi2_mask_bits, utogi2_dog_mask_bits, utogi2_bsd_mask_bits, utogi2_sakura_mask_bits, utogi2_tomoyo_mask_bits },
-    { &DownTogi1GC, &DownTogi1Xbm,  dtogi1_bits, dtogi1_tora_bits, dtogi1_dog_bits, dtogi1_bsd_bits, dtogi1_sakura_bits, dtogi1_tomoyo_bits,
-      &DownTogi1Msk, dtogi1_mask_bits, dtogi1_mask_bits, dtogi1_dog_mask_bits, dtogi1_bsd_mask_bits, dtogi1_sakura_mask_bits, dtogi1_tomoyo_mask_bits },
-    { &DownTogi2GC, &DownTogi2Xbm,  dtogi2_bits, dtogi2_tora_bits, dtogi2_dog_bits, dtogi2_bsd_bits, dtogi2_sakura_bits, dtogi2_tomoyo_bits,
-      &DownTogi2Msk, dtogi2_mask_bits, dtogi2_mask_bits, dtogi2_dog_mask_bits, dtogi2_bsd_mask_bits, dtogi2_sakura_mask_bits, dtogi2_tomoyo_mask_bits },
-    { &LeftTogi1GC, &LeftTogi1Xbm,  ltogi1_bits, ltogi1_tora_bits, ltogi1_dog_bits, ltogi1_bsd_bits, ltogi1_sakura_bits, ltogi1_tomoyo_bits,
-      &LeftTogi1Msk, ltogi1_mask_bits, ltogi1_mask_bits,ltogi1_dog_mask_bits, ltogi1_bsd_mask_bits, ltogi1_sakura_mask_bits, ltogi1_tomoyo_mask_bits },
-    { &LeftTogi2GC, &LeftTogi2Xbm,  ltogi2_bits, ltogi2_tora_bits, ltogi2_dog_bits, ltogi2_bsd_bits, ltogi2_sakura_bits, ltogi2_tomoyo_bits,
-      &LeftTogi2Msk, ltogi2_mask_bits, ltogi2_mask_bits,ltogi2_dog_mask_bits, ltogi2_bsd_mask_bits, ltogi2_sakura_mask_bits, ltogi2_tomoyo_mask_bits },
-    { &RightTogi1GC, &RightTogi1Xbm,  rtogi1_bits, rtogi1_tora_bits, rtogi1_dog_bits, rtogi1_bsd_bits, rtogi1_sakura_bits, rtogi1_tomoyo_bits,
-      &RightTogi1Msk, rtogi1_mask_bits, rtogi1_mask_bits,rtogi1_dog_mask_bits, rtogi1_bsd_mask_bits, rtogi1_sakura_mask_bits, rtogi1_tomoyo_mask_bits },
-    { &RightTogi2GC, &RightTogi2Xbm,  rtogi2_bits, rtogi2_tora_bits, rtogi2_dog_bits, rtogi2_bsd_bits, rtogi2_sakura_bits, rtogi2_tomoyo_bits,
-      &RightTogi2Msk, rtogi2_mask_bits, rtogi2_mask_bits,rtogi2_dog_mask_bits, rtogi2_bsd_mask_bits, rtogi2_sakura_mask_bits, rtogi2_tomoyo_mask_bits },
+    { &Mati2GC, &Mati2Xbm,  mati2_bits, mati2_tora_bits, mati2_dog_bits, mati2_sakura_bits, mati2_tomoyo_bits,
+      &Mati2Msk, mati2_mask_bits, mati2_mask_bits, mati2_dog_mask_bits, mati2_sakura_mask_bits, mati2_tomoyo_mask_bits },
+    { &Jare2GC, &Jare2Xbm,  jare2_bits, jare2_tora_bits, jare2_dog_bits, jare2_sakura_bits, jare2_tomoyo_bits,
+      &Jare2Msk, jare2_mask_bits, jare2_mask_bits, jare2_dog_mask_bits, jare2_sakura_mask_bits, jare2_tomoyo_mask_bits },
+    { &Kaki1GC, &Kaki1Xbm,  kaki1_bits, kaki1_tora_bits, kaki1_dog_bits, kaki1_sakura_bits, kaki1_tomoyo_bits,
+      &Kaki1Msk, kaki1_mask_bits, kaki1_mask_bits, kaki1_dog_mask_bits, kaki1_sakura_mask_bits, kaki1_tomoyo_mask_bits },
+    { &Kaki2GC, &Kaki2Xbm,  kaki2_bits, kaki2_tora_bits, kaki2_dog_bits, kaki2_sakura_bits, kaki2_tomoyo_bits,
+      &Kaki2Msk, kaki2_mask_bits, kaki2_mask_bits, kaki2_dog_mask_bits, kaki2_sakura_mask_bits, kaki2_tomoyo_mask_bits },
+    { &Mati3GC, &Mati3Xbm,  mati3_bits, mati3_tora_bits, mati3_dog_bits, mati3_sakura_bits, mati3_tomoyo_bits,
+      &Mati3Msk, mati3_mask_bits, mati3_mask_bits, mati3_dog_mask_bits, mati3_sakura_mask_bits, mati3_tomoyo_mask_bits },
+    { &Sleep1GC, &Sleep1Xbm,  sleep1_bits, sleep1_tora_bits, sleep1_dog_bits, sleep1_sakura_bits, sleep1_tomoyo_bits,
+      &Sleep1Msk, sleep1_mask_bits, sleep1_mask_bits, sleep1_dog_mask_bits, sleep1_sakura_mask_bits, sleep1_tomoyo_mask_bits },
+    { &Sleep2GC, &Sleep2Xbm,  sleep2_bits, sleep2_tora_bits, sleep2_dog_bits, sleep2_sakura_bits, sleep2_tomoyo_bits,
+      &Sleep2Msk, sleep2_mask_bits, sleep2_mask_bits, sleep2_dog_mask_bits, sleep2_sakura_mask_bits, sleep2_tomoyo_mask_bits },
+    { &AwakeGC, &AwakeXbm,  awake_bits, awake_tora_bits, awake_dog_bits, awake_sakura_bits, awake_tomoyo_bits,
+      &AwakeMsk, awake_mask_bits, awake_mask_bits, awake_dog_mask_bits, awake_sakura_mask_bits, awake_tomoyo_mask_bits },
+    { &Up1GC, &Up1Xbm,  up1_bits, up1_tora_bits, up1_dog_bits, up1_sakura_bits, up1_tomoyo_bits,
+      &Up1Msk, up1_mask_bits, up1_mask_bits, up1_dog_mask_bits, up1_sakura_mask_bits, up1_tomoyo_mask_bits },
+    { &Up2GC, &Up2Xbm,  up2_bits, up2_tora_bits, up2_dog_bits, up2_sakura_bits, up2_tomoyo_bits,
+      &Up2Msk, up2_mask_bits, up2_mask_bits, up2_dog_mask_bits, up2_sakura_mask_bits, up2_tomoyo_mask_bits },
+    { &Down1GC, &Down1Xbm,  down1_bits, down1_tora_bits, down1_dog_bits, down1_sakura_bits, down1_tomoyo_bits,
+      &Down1Msk, down1_mask_bits, down1_mask_bits, down1_dog_mask_bits, down1_sakura_mask_bits, down1_tomoyo_mask_bits },
+    { &Down2GC, &Down2Xbm,  down2_bits, down2_tora_bits, down2_dog_bits, down2_sakura_bits, down2_tomoyo_bits,
+      &Down2Msk, down2_mask_bits, down2_mask_bits, down2_dog_mask_bits, down2_sakura_mask_bits, down2_tomoyo_mask_bits },
+    { &Left1GC, &Left1Xbm,  left1_bits, left1_tora_bits, left1_dog_bits, left1_sakura_bits, left1_tomoyo_bits,
+      &Left1Msk, left1_mask_bits, left1_mask_bits, left1_dog_mask_bits, left1_sakura_mask_bits, left1_tomoyo_mask_bits },
+    { &Left2GC, &Left2Xbm,  left2_bits, left2_tora_bits, left2_dog_bits, left2_sakura_bits, left2_tomoyo_bits,
+      &Left2Msk, left2_mask_bits, left2_mask_bits, left2_dog_mask_bits, left2_sakura_mask_bits, left2_tomoyo_mask_bits },
+    { &Right1GC, &Right1Xbm,  right1_bits, right1_tora_bits, right1_dog_bits, right1_sakura_bits, right1_tomoyo_bits,
+      &Right1Msk, right1_mask_bits, right1_mask_bits,right1_dog_mask_bits, right1_sakura_mask_bits, right1_tomoyo_mask_bits },
+    { &Right2GC, &Right2Xbm,  right2_bits, right2_tora_bits, right2_dog_bits, right2_sakura_bits, right2_tomoyo_bits,
+      &Right2Msk, right2_mask_bits, right2_mask_bits, right2_dog_mask_bits, right2_sakura_mask_bits, right2_tomoyo_mask_bits },
+    { &UpLeft1GC, &UpLeft1Xbm,  upleft1_bits, upleft1_tora_bits, upleft1_dog_bits, upleft1_sakura_bits, upleft1_tomoyo_bits,
+      &UpLeft1Msk, upleft1_mask_bits, upleft1_mask_bits, upleft1_dog_mask_bits, upleft1_sakura_mask_bits, upleft1_tomoyo_mask_bits },
+    { &UpLeft2GC, &UpLeft2Xbm,  upleft2_bits, upleft2_tora_bits, upleft2_dog_bits, upleft2_sakura_bits, upleft2_tomoyo_bits,
+      &UpLeft2Msk, upleft2_mask_bits, upleft2_mask_bits,upleft2_dog_mask_bits, upleft2_sakura_mask_bits, upleft2_tomoyo_mask_bits },
+    { &UpRight1GC, &UpRight1Xbm,  upright1_bits, upright1_tora_bits, upright1_dog_bits, upright1_sakura_bits, upright1_tomoyo_bits,
+      &UpRight1Msk, upright1_mask_bits, upright1_mask_bits,upright1_dog_mask_bits, upright1_sakura_mask_bits, upright1_tomoyo_mask_bits },
+    { &UpRight2GC, &UpRight2Xbm,  upright2_bits, upright2_tora_bits, upright2_dog_bits, upright2_sakura_bits, upright2_tomoyo_bits,
+      &UpRight2Msk, upright2_mask_bits, upright2_mask_bits,upright2_dog_mask_bits, upright2_sakura_mask_bits, upright2_tomoyo_mask_bits },
+    { &DownLeft1GC, &DownLeft1Xbm,  dwleft1_bits, dwleft1_tora_bits, dwleft1_dog_bits, dwleft1_sakura_bits, dwleft1_tomoyo_bits,
+      &DownLeft1Msk, dwleft1_mask_bits, dwleft1_mask_bits, dwleft1_dog_mask_bits, dwleft1_sakura_mask_bits, dwleft1_tomoyo_mask_bits },
+    { &DownLeft2GC, &DownLeft2Xbm,  dwleft2_bits, dwleft2_tora_bits, dwleft2_dog_bits, dwleft2_sakura_bits, dwleft2_tomoyo_bits,
+      &DownLeft2Msk, dwleft2_mask_bits, dwleft2_mask_bits, dwleft2_dog_mask_bits, dwleft2_sakura_mask_bits, dwleft2_tomoyo_mask_bits },
+    { &DownRight1GC, &DownRight1Xbm,  dwright1_bits, dwright1_tora_bits, dwright1_dog_bits, dwright1_sakura_bits, dwright1_tomoyo_bits,
+      &DownRight1Msk, dwright1_mask_bits, dwright1_mask_bits, dwright1_dog_mask_bits, dwright1_sakura_mask_bits, dwright1_tomoyo_mask_bits },
+    { &DownRight2GC, &DownRight2Xbm,  dwright2_bits, dwright2_tora_bits, dwright2_dog_bits, dwright2_sakura_bits, dwright2_tomoyo_bits,
+      &DownRight2Msk, dwright2_mask_bits, dwright2_mask_bits, dwright2_dog_mask_bits, dwright2_sakura_mask_bits, dwright2_tomoyo_mask_bits },
+    { &UpTogi1GC, &UpTogi1Xbm,  utogi1_bits, utogi1_tora_bits, utogi1_dog_bits, utogi1_sakura_bits, utogi1_tomoyo_bits,
+      &UpTogi1Msk, utogi1_mask_bits, utogi1_mask_bits, utogi1_dog_mask_bits, utogi1_sakura_mask_bits, utogi1_tomoyo_mask_bits },
+    { &UpTogi2GC, &UpTogi2Xbm,  utogi2_bits, utogi2_tora_bits, utogi2_dog_bits, utogi2_sakura_bits, utogi2_tomoyo_bits,
+      &UpTogi2Msk, utogi2_mask_bits, utogi2_mask_bits, utogi2_dog_mask_bits, utogi2_sakura_mask_bits, utogi2_tomoyo_mask_bits },
+    { &DownTogi1GC, &DownTogi1Xbm,  dtogi1_bits, dtogi1_tora_bits, dtogi1_dog_bits, dtogi1_sakura_bits, dtogi1_tomoyo_bits,
+      &DownTogi1Msk, dtogi1_mask_bits, dtogi1_mask_bits, dtogi1_dog_mask_bits, dtogi1_sakura_mask_bits, dtogi1_tomoyo_mask_bits },
+    { &DownTogi2GC, &DownTogi2Xbm,  dtogi2_bits, dtogi2_tora_bits, dtogi2_dog_bits, dtogi2_sakura_bits, dtogi2_tomoyo_bits,
+      &DownTogi2Msk, dtogi2_mask_bits, dtogi2_mask_bits, dtogi2_dog_mask_bits, dtogi2_sakura_mask_bits, dtogi2_tomoyo_mask_bits },
+    { &LeftTogi1GC, &LeftTogi1Xbm,  ltogi1_bits, ltogi1_tora_bits, ltogi1_dog_bits, ltogi1_sakura_bits, ltogi1_tomoyo_bits,
+      &LeftTogi1Msk, ltogi1_mask_bits, ltogi1_mask_bits,ltogi1_dog_mask_bits, ltogi1_sakura_mask_bits, ltogi1_tomoyo_mask_bits },
+    { &LeftTogi2GC, &LeftTogi2Xbm,  ltogi2_bits, ltogi2_tora_bits, ltogi2_dog_bits, ltogi2_sakura_bits, ltogi2_tomoyo_bits,
+      &LeftTogi2Msk, ltogi2_mask_bits, ltogi2_mask_bits,ltogi2_dog_mask_bits, ltogi2_sakura_mask_bits, ltogi2_tomoyo_mask_bits },
+    { &RightTogi1GC, &RightTogi1Xbm,  rtogi1_bits, rtogi1_tora_bits, rtogi1_dog_bits, rtogi1_sakura_bits, rtogi1_tomoyo_bits,
+      &RightTogi1Msk, rtogi1_mask_bits, rtogi1_mask_bits,rtogi1_dog_mask_bits, rtogi1_sakura_mask_bits, rtogi1_tomoyo_mask_bits },
+    { &RightTogi2GC, &RightTogi2Xbm,  rtogi2_bits, rtogi2_tora_bits, rtogi2_dog_bits, rtogi2_sakura_bits, rtogi2_tomoyo_bits,
+      &RightTogi2Msk, rtogi2_mask_bits, rtogi2_mask_bits,rtogi2_dog_mask_bits, rtogi2_sakura_mask_bits, rtogi2_tomoyo_mask_bits },
     { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
 };
 
@@ -624,7 +626,7 @@
     fprintf(stderr, "Display not suported shape extension.\n");
     NoShape = True;
 				       }
-#endif SHAPE
+#endif /*SHAPE*/
 
   theScreen = DefaultScreen(theDisplay);
   theDepth = DefaultDepth(theDisplay, theScreen);
@@ -716,7 +718,15 @@
   XSetWindowAttributes	theWindowAttributes;
   BitmapGCData *BitmapGCDataTablePtr;
 
-  theWindowAttributes.cursor = None;
+  Cursor font_cursor;
+  if(restoredCursor >= XC_X_cursor && restoredCursor <  XC_X_cursor + XC_num_glyphs)
+     font_cursor=XCreateFontCursor(theDisplay, restoredCursor );
+  if(font_cursor)
+     theWindowAttributes.cursor = font_cursor;
+  else
+     theWindowAttributes.cursor = None;     
+   
+   
   XChangeWindowAttributes(theDisplay, theRoot, CWCursor,
 			  &theWindowAttributes);
   for (BitmapGCDataTablePtr = BitmapGCDataTable;
@@ -809,7 +819,7 @@
 			  0, 0, DrawMask, ShapeSet);
 
       }
-#endif SHAPE
+#endif /*SHAPE*/
       if (DontMapped) {
 	XMapWindow(theDisplay, theWindow);
 	DontMapped = 0;
@@ -1378,6 +1388,7 @@
 "-position <geometry>   : adjust position relative to mouse pointer.",
 "-debug                 : puts you in synchronous mode.",
 "-patchlevel            : print out your current patchlevel.",
+"-cursor <cursornumber> : cursor number to set when quitting.",
 NULL };
 
 void
@@ -1423,7 +1434,7 @@
     if (strcmp(argv[ArgCounter], "-display") == 0) {
       ArgCounter++;
       if (ArgCounter < argc) {
-	strcpy(theDisplayName, argv[ArgCounter]);
+	strncpy(theDisplayName, argv[ArgCounter], sizeof(theDisplayName)-1);
       } else {
 	fprintf(stderr, "%s: -display option error.\n", ProgramName);
 	exit(1);
@@ -1510,10 +1521,12 @@
     else if (strcmp(argv[ArgCounter], "-patchlevel") == 0) {
       fprintf(stderr,"Patchlevel :%s\n",PATCHLEVEL);
     }
+    else if (strcmp(argv[ArgCounter], "-cursor") == 0) {
+      ArgCounter++;
+      restoredCursor=atoi(argv[ArgCounter]);
+    }
     else {
       char *av = argv[ArgCounter] + 1;
-      if (strcmp(av, "bsd") == 0)
-	av = "bsd_daemon";
       for (loop=0;loop<BITMAPTYPES;loop++) {
 	if (strcmp(av,AnimalDefaultsDataTable[loop].name)==0)
 	  {NekoMoyou = loop;found=1;}
Index: b/oneko.h
===================================================================
--- a/oneko.h	2025-09-14 22:19:17.354862210 +0200
+++ b/oneko.h	2025-09-14 22:19:17.350862200 +0200
@@ -36,7 +36,6 @@
 #include "bitmaps/neko/neko.include"
 #include "bitmaps/tora/tora.include"
 #include "bitmaps/dog/dog.include"
-#include "bitmaps/bsd/bsd.include"
 #include "bitmaps/sakura/sakura.include"
 #include "bitmaps/tomoyo/tomoyo.include"
 
@@ -44,7 +43,6 @@
 
 #include "bitmasks/neko/neko.mask.include"
 #include "bitmasks/dog/dog.mask.include"
-#include "bitmasks/bsd/bsd.mask.include"
 #include "bitmasks/sakura/sakura.mask.include"
 #include "bitmasks/tomoyo/tomoyo.mask.include"
 
Index: b/oneko.man
===================================================================
--- a/oneko.man	2025-09-14 22:19:17.354862210 +0200
+++ b/oneko.man	2025-09-14 22:19:17.350862200 +0200
@@ -4,7 +4,7 @@
 .SH SYNOPSIS
 .B oneko
 [\fB-help\fP] [\fB-tora\fP]
-[\fB-dog\fP] [\fB-bsd_daemon\fP] [\fB-bsd\fP]
+[\fB-dog\fP]
 [\fB-sakura\fP] [\fB-tomoyo\fP]
 [\fB-time\fP \fIn\fP] [\fB-speed\fP \fIn\fP] [\fB-idle\fP \fIn\fP]
 [\fB-name\fP \fIname\fP] [\fB-towindow\fP] [\fB-toname\fP \fIname\fP]
@@ -22,19 +22,11 @@
 Prints help message on usage.
 .TP
 .B -tora
-Make cat into "tora-neko".  "Tora-neko" means cat wite tiger-like stripe.
-I don't know how to say it in English.
+Make cat into "tora-neko", a cat wite tiger-like stripe.
 .TP
 .B -dog
 Runs a dog instead of a cat.
 .TP
-.B -bsd_daemon
-Runs a 4.3BSD daemon instead of a cat.
-.TP
-.B -bsd
-Same as
-.B -bsd_daemon.
-.TP
 .B -sakura
 Runs Sakura Kinomoto instead of a cat.
 .TP
@@ -99,6 +91,10 @@
 .TP
 .BI \-bg " color"
 Background color.
+.TP
+.BI \-cursor " cursornumber"
+Specify a cursos number to set when quitting. For example, 132 is the
+default root cursor.
 .SS Resources
 Application name is "neko"(or "tora") and class name is "Oneko".
 .TP
Index: b/oneko.man.jp
===================================================================
--- a/oneko.man.jp	2025-09-14 22:19:17.354862210 +0200
+++ b/oneko.man.jp	2025-09-14 22:19:17.350862200 +0200
@@ -4,7 +4,7 @@
 .SH $@=q<0(J
 .B oneko
 [\fB-help\fP] [\fB-tora\fP]
-[\fB-dog\fP] [\fB-bsd_daemon\fP] [\fB-bsd\fP]
+[\fB-dog\fP] 
 [\fB-sakura\fP] [\fB-tomoyo\fP]
 [\fB-time\fP \fIn\fP] [\fB-speed\fP \fIn\fP] [\fB-idle\fP \fIn\fP]
 [\fB-name\fP \fIname\fP] [\fB-towindow\fP] [\fB-toname\fP \fIname\fP]
@@ -27,13 +27,6 @@
 .B -dog
 $@G-$KBe$o$j8$$,Av$j$^$9!#(J
 .TP
-.B -bsd_daemon
-$@G-$KBe$o$j(J 4.3BSD $@%G!<%b%s$,Av$j$^$9!#(J
-.TP
-.B -bsd
-.B -bsd_daemon
-$@$KF1$8!#(J
-.TP
 .B -sakura
 $@G-$KBe$o$jLZG7K\:y$,Av$j$^$9!#(J
 .TP