Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37044481
en ru br
Репозитории ALT
S:0.2-alt4
5.1: 0.2-alt3
4.1: 0.2-alt2
4.0: 0.2-alt2
3.0: 0.2-alt2
www.altlinux.org/Changes

Группа :: Графические оболочки/Window Maker
Пакет: wmMatrix

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: wmMatrix-0.2-debian-fixes.patch
Скачать


diff -ur wmMatrix-0.2.orig/wmMatrix.c wmMatrix-0.2/wmMatrix.c
--- wmMatrix-0.2.orig/wmMatrix.c	2002-11-16 15:39:37 +0300
+++ wmMatrix-0.2/wmMatrix.c	2002-11-16 15:48:39 +0300
@@ -1,12 +1,12 @@
 /*
  *
  *  	wmMatrix-0.2 (C) 1999 Mike Henderson (mghenderson@lanl.gov)
- * 
+ *
  *  		- A DockApp version of Jamie Zawinski's xmatrix screensaver hack.
- *		  
- * 
- * 
- * 
+ *
+ *
+ *
+ *
  *
  * 	This program is free software; you can redistribute it and/or modify
  * 	it under the terms of the GNU General Public License as published by
@@ -39,11 +39,8 @@
  */
 
 
-
-
-
-/*  
- *   Includes  
+/*
+ *   Includes
  */
 #include <stdio.h>
 #include <unistd.h>
@@ -58,18 +55,13 @@
 #include "matrix.h"
 
 
-
-/* 
- *  Delay between refreshes (in microseconds) 
+/*
+ *  Delay between refreshes (in microseconds)
  */
 #define DELAY 10000UL
 #define WMMATRIX_VERSION "0.2"
 
 
-
-
-
-
 void 	 ParseCMDLine(int argc, char *argv[]);
 void 	 ButtonPressEvent(XButtonEvent *);
 void 	 print_usage();
@@ -77,64 +69,43 @@
 void 	 draw_matrix( m_state *, int );
 
 
-
-
 int     	 GotFirstClick1, GotDoubleClick1;
 int     	 GotFirstClick2, GotDoubleClick2;
 int     	 GotFirstClick3, GotDoubleClick3;
 int     	 DblClkDelay;
-int		 HasExecute;
-char    	 ExecuteCommand[1024];
+/*int		 HasExecute;*/
+char*    	 ExecuteCommand = "xmatrixsmall";
 char		*progname  = "wmMatrix";
 char		*progclass = "WMMatrix";
 int		 PixmapSize;
+char *DoubleClickCmd = NULL;
+char*   TimeColor    	= "#ffff00";
+char*   BackgroundColor	= "#181818";
 
 
-
-
-
-char    TimeColor[30]    	= "#ffff00";
-char    BackgroundColor[30]    	= "#181818";
-
-
-
-
-
-
-/*  
- *   main  
+/*
+ *   main
  */
 int main(int argc, char *argv[]) {
-
-
     XEvent		 event;
     int			 n, k, m;
-    float		 avg1, user;
+/*    float		 avg1;*/
     /*char 		 Command[512];*/
     m_state     	*state;
-    FILE		*fp;
-
+/*    FILE		*fp;*/
 
 
     /*
      *  Parse any command line arguments.
      */
     ParseCMDLine(argc, argv);
-
-
-    strcpy(ExecuteCommand, "xmatrixsmall");
-    HasExecute = 1;
-
-
-
-
-    
+    if(DoubleClickCmd==NULL)
+	DoubleClickCmd=strdup("xscreensaver-demo");
+    /*HasExecute = 1;*/
     initXwindow(argc, argv);
     openXwindow(argc, argv, wmMatrix_master, wmMatrix_mask_bits, wmMatrix_mask_width, wmMatrix_mask_height);
-
     state = init_matrix( display, iconwin );
 
-
 /*
     if (HasExecute){
         sprintf(Command, "%s -window-id 0x%x &", ExecuteCommand, (int)iconwin);
@@ -142,82 +113,53 @@
     }
 */
 
-
-
-
-
-   
     /*
      *  Loop until we die
      */
     n = k = m = 32000;
     while(1) {
-
-
 #if 0
 	if ( n>10 ){
-
 	    n = 0;
 	    if ( (fp = fopen("/proc/loadavg", "r")) != NULL ){
-
 	        fscanf(fp, "%f", &avg1); avg1 *= 10.0; fclose(fp);
 		m = (int)(40.0 - 1.00*avg1 + 0.5);
 		if (m < 0) m = 0;
-		
 	    } else {
-
 		printf("problem opening /proc/loadavg file for read\n");
 		exit(-1);
-
 	    }
-
 	} else {
-
 	    /*
 	     *  Update the counter. 
 	     */
 	    ++n;
-
 	}
 #endif
-
-m=0;
-
-
+	m=0;
 	if (k > m){
-
 	    k = 0;
 	    draw_matrix( state, 40 );
-
 	} else {
-
 	    ++k;
-
 	}
 
 
-
         /*
          *  Double Click Delays
          *  Keep track of click events. If Delay too long, set GotFirstClick's to False.
          */
         if (DblClkDelay > 150) {
-
             DblClkDelay = 0;
             GotFirstClick1 = 0; GotDoubleClick1 = 0;
             GotFirstClick2 = 0; GotDoubleClick2 = 0;
             GotFirstClick3 = 0; GotDoubleClick3 = 0;
-
         } else {
-
             ++DblClkDelay;
-
         }
 
 
-
-
-	/* 
+	/*
 	 *   Process any pending X events.
 	 */
         while(XPending(display)){
@@ -235,116 +177,59 @@
         }
 
 
-
-
-
-	
-	/* 
+	/*
 	 *  sleep till next update. I cant seem to get usleep or select to work properly
 	 *  with args smaller than 10000. A kernel tick problem? If I comment out the next line,
 	 *  the app screams (chews up cpu too). Or if I use DELAY of 0 it also screams.
 	 *  But a delay of 1 or higher is slow.....
-	 *  
+	 *
 	 */
 	short_uusleep(DELAY);
-
-
      }
-
-
-
 }
 
 
-
-
-
-
-
-
-/* 
- *   ParseCMDLine()  
+/*
+ *   ParseCMDLine()
  */
 void ParseCMDLine(int argc, char *argv[]) {
-
-int  i;
-
+    int  i;
     PixmapSize = 2;
-  
     for (i = 1; i < argc; i++) {
-
-        if (!strcmp(argv[i], "-display")){
-
+	if (!strcmp(argv[i], "-display")){
             ++i;
-
-        } else if (!strcmp(argv[i], "-tc")){
-
-            if ((i+1 >= argc)||(argv[i+1][0] == '-')) {
-                fprintf(stderr, "wmMatrix: No color found\n");
-                print_usage();
-                exit(-1);
-            }
-            strcpy(TimeColor, argv[++i]);
-
-        } else if (!strcmp(argv[i], "-bc")){
-
-            if ((i+1 >= argc)||(argv[i+1][0] == '-')) {
-                fprintf(stderr, "wmMatrix: No color found\n");
-                print_usage();
-                exit(-1);
-            }
-            strcpy(BackgroundColor, argv[++i]);
-
-        } else if (!strcmp(argv[i], "-e")){
-
+	} else if (!strcmp(argv[i], "-c")){
             if ((i+1 >= argc)||(argv[i+1][0] == '-')) {
                 fprintf(stderr, "wmMatrix: No command given\n");
                 print_usage();
                 exit(-1);
             }
-	    strcpy(ExecuteCommand, argv[++i]);
-	    HasExecute = 1;
-
+	    if(DoubleClickCmd!=NULL)
+	      free(DoubleClickCmd);
+	    DoubleClickCmd=strdup(argv[++i]);
         } else if (!strcmp(argv[i], "-sml")){
-
 	    PixmapSize  = 1;
-
         } else if (!strcmp(argv[i], "-med")){
-
 	    PixmapSize  = 2;
-
         } else if (!strcmp(argv[i], "-lrg")){
-
 	    PixmapSize  = 3;
-
         } else {
-
 	    print_usage();
             exit(1);
 	}
-
     }
-    
-
 }
 
 
-void print_usage(){
-
+void print_usage() {
     printf("\nwmMatrix version: %s\n", WMMATRIX_VERSION);
     printf("\t-h\t\tDisplay help screen.\n");
     printf("\t-sml\t\tUse small size pixmap.\n");
     printf("\t-med\t\tUse medium size pixmap.\n");
     printf("\t-lrg\t\tUse large size pixmap.\n");
-
 }
 
 
-
-
-
-
-
 /*
  *  This routine handles button presses.
  *
@@ -356,9 +241,6 @@
  *
  */
 void ButtonPressEvent(XButtonEvent *xev){
-
-
-
     DblClkDelay = 0;
     if ((xev->button == Button1) && (xev->type == ButtonPress)){
         if (GotFirstClick1) GotDoubleClick1 = 1;
@@ -378,12 +260,12 @@
     if (GotDoubleClick1) {
         GotFirstClick1 = 0;
         GotDoubleClick1 = 0;
-        system("xscreensaver-demo");
+        system(DoubleClickCmd);
     }
 
 
     /*
-     *  We got a double click on Mouse Button2 (i.e. the left one)
+     *  We got a double click on Mouse Button2 (i.e. the middle one)
      */
     if (GotDoubleClick2) {
         GotFirstClick2 = 0;
@@ -392,16 +274,11 @@
 
 
     /*
-     *  We got a double click on Mouse Button3 (i.e. the left one)
+     *  We got a double click on Mouse Button3 (i.e. the right one)
      */
     if (GotDoubleClick3) {
         GotFirstClick3 = 0;
-        GotDoubleClick3 = 0;
+	GotDoubleClick3 = 0;
     }
-
-
-
    return;
-
 }
-
diff -ur wmMatrix-0.2.orig/xutils.h wmMatrix-0.2/xutils.h
--- wmMatrix-0.2.orig/xutils.h	2002-11-16 15:39:37 +0300
+++ wmMatrix-0.2/xutils.h	2002-11-16 15:48:39 +0300
@@ -43,7 +43,8 @@
 unsigned long 	getColor(char *, float, int *, int *, int *);
 unsigned long 	getBlendedColor(char *, float, int, int, int);
 void 		RedrawWindow(void);
-void 		wusleep( unsigned int );
+void 		uusleep( unsigned long );
+void 		short_uusleep( unsigned long );
 
 
 
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin