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
|