|  | @@ -584,6 +584,7 @@ laLogEntry* logEnsure(int Create){
 | 
	
		
			
				|  |  |  void logPrintTV(int Continued, char* format, va_list v){
 | 
	
		
			
				|  |  |      if(!format || !format[0]) return;
 | 
	
		
			
				|  |  |      laLogEntry* le=logEnsure(Continued);
 | 
	
		
			
				|  |  | +    if(MAIN.EnableLogStdOut){ va_list v1; va_copy(v1,v); vprintf(format,v1); }
 | 
	
		
			
				|  |  |      strSafePrintV(&le->Content, format, v);
 | 
	
		
			
				|  |  |      laNotifyUsers("la.logs");
 | 
	
		
			
				|  |  |  }
 | 
	
	
		
			
				|  | @@ -798,7 +799,8 @@ void laProcessInitArguments(int argc, char* argv[],laInitArguments* ia) {
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              continue;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        if(strSame(argv[i], "--gl-debug")){ ia->GLDebug=1; }
 | 
	
		
			
				|  |  | +        if(strSame(argv[i], "--gl-debug")){ ia->GLDebug=1; printf("Enabled OpenGL Debug.\n"); }
 | 
	
		
			
				|  |  | +        if(strSame(argv[i], "--log")){ ia->EnableLogStdOut=1; printf("Enabled log output to stdout.\n"); }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  int laGetReadyWith(laInitArguments* ia){
 | 
	
	
		
			
				|  | @@ -1026,6 +1028,8 @@ int laGetReadyWith(laInitArguments* ia){
 | 
	
		
			
				|  |  |      MAIN.Animation=memAcquire(sizeof(laAnimation));
 | 
	
		
			
				|  |  |      MAIN.Audio=memAcquire(sizeof(laAudio));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    XSynchronize(MAIN.dpy,1);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      //interactions:
 | 
	
		
			
				|  |  |      MAIN.TopFramerate = 60;
 | 
	
		
			
				|  |  |      MAIN.ValuatorThreshold = 8;
 | 
	
	
		
			
				|  | @@ -1181,6 +1185,8 @@ void laEnsureUserPreferences(){
 | 
	
		
			
				|  |  |      laExtractUDF(udf,0,LA_UDF_MODE_OVERWRITE,0);
 | 
	
		
			
				|  |  |      laCloseUDF(udf);
 | 
	
		
			
				|  |  |      laRefreshUDFRegistries();
 | 
	
		
			
				|  |  | +    //restore forced settings
 | 
	
		
			
				|  |  | +    if(MAIN.InitArgs.EnableLogStdOut){ MAIN.EnableLogStdOut=1; }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  void laAddExtraExtension(int FileType, ...){
 | 
	
	
		
			
				|  | @@ -1352,7 +1358,7 @@ void la_MakeSpecialKeyBit(SYSWINDOW hwnd,laWindow*wnd,laEvent *e,int use_last_po
 | 
	
		
			
				|  |  |      laEvent* last_e=el->pLast;
 | 
	
		
			
				|  |  |      SYSWINDOW root_ret, win_ret; int rrx=0,rry=0,rx=e->x,ry=e->y,rmask=0;
 | 
	
		
			
				|  |  |  #ifdef __linux__
 | 
	
		
			
				|  |  | -    XQueryPointer(MAIN.dpy, wnd->win, &root_ret,&win_ret,&rrx,&rry,&rx,&ry,&rmask);
 | 
	
		
			
				|  |  | +    //XQueryPointer(MAIN.dpy, wnd->win, &root_ret,&win_ret,&rrx,&rry,&rx,&ry,&rmask);
 | 
	
		
			
				|  |  |      e->SpecialKeyBit = ((rmask&ShiftMask)?LA_KEY_SHIFT:0)|((rmask&ControlMask)?LA_KEY_CTRL:0)|((rmask&Mod1Mask)?LA_KEY_ALT:0);
 | 
	
		
			
				|  |  |  #endif
 | 
	
		
			
				|  |  |  #ifdef _WIN32
 |