Unity W7, Script c#, Siempre Encima, Transparencia, Sin Click, Sin icono en taskbar.

Les dejo aqui el script.
Busque en muchas fuentes por Internet, pero ninguna reunía todas las características. Ojala sea útil para alguien.

using System;
using System.Runtime.InteropServices;
using UnityEngine;

public class TransparentWindow : MonoBehaviour
{
[SerializeField]
private Material m_Material;

private struct MARGINS
{
public int cxLeftWidth;
public int cxRightWidth;
public int cyTopHeight;
public int cyBottomHeight;
}

[DllImport(“user32.dll”)]
private static extern IntPtr GetActiveWindow();

[DllImport(“user32.dll”)]
private static extern int SetWindowLong(IntPtr hWnd, int nIndex, long dwNewLong);

[DllImport(“user32.dll”,SetLastError = true)]
private static extern int GetWindowLong(IntPtr hWnd, int nIndex);

[DllImport(“user32.dll”, EntryPoint=”FindWindow”, SetLastError = true)]
static extern IntPtr FindWindowByCaption(IntPtr ZeroOnly, string lpWindowName);

[DllImport(“user32.dll”)]
private static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);

[DllImport(“Dwmapi.dll”)]
private static extern uint DwmExtendFrameIntoClientArea(IntPtr hWnd, ref MARGINS margins);

[DllImport(“user32.dll”)]
static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);

[DllImport(“user32.dll”, EntryPoint = “SetLayeredWindowAttributes”)]
static extern int SetLayeredWindowAttributes(IntPtr hwnd, int crKey, byte bAlpha, int dwFlags);

[DllImport(“user32.dll”, EntryPoint = “SetWindowPos”)]
private static extern int SetWindowPos(IntPtr hwnd, int hwndInsertAfter, int x, int y, int cx, int cy, int uFlags);

[DllImport(“user32.dll”)]
private static extern bool ShowWindow(IntPtr hWnd, uint uFlags);

const int GWL_HWNDPARENT = -8;
const int GWL_STYLE = -16;
const int GWL_EXSTYLE = -20;
const uint WS_POPUP = 0x80000000;
const uint WS_CHILD = 0x40000000;
const uint WS_CLIPCHILDREN = 0x02000000;
const uint WS_DLGFRAME = 0x00400000;
const uint WS_VISIBLE = 0x10000000;
const long WS_EX_TOOLWINDOW = 0x80;
const long WS_EX_APPWINDOW = 0x40000;
const long WS_CAPTION = 0x00C00000;
const long WS_EX_LAYERED = 0x80000;
const long WS_EX_TRANSPARENT = 0x20;
const int HWND_TOPMOST = -1;
const int WS_BORDER = 0X00800000;

void Start()
{

var resolutions = Screen.resolutions;
// Print the resolutions
var maxr = resolutions.Length – 1;

// Switch to the lowest supported fullscreen resolution
Screen.SetResolution (resolutions[maxr].width, resolutions[maxr].height, false);

#if !UNITY_EDITOR // You really don’t want to enable this in the editor..
var margins = new MARGINS() { cxLeftWidth = -1 };
var hwnd = GetActiveWindow();
//var Handle = FindWindowByCaption(IntPtr.Zero, “TransparentWindow”);

int fWidth = Screen.width;
int fHeight = Screen.height;

const int SW_HIDE = 0x00;
const int SW_SHOW = 0x05;

//HIDE TASKBAR
long style= GetWindowLong(hwnd, GWL_STYLE);
long exstyle= GetWindowLong(hwnd, GWL_EXSTYLE);

style &= ~(WS_CAPTION);
style &= ~(WS_BORDER);

exstyle &= ~(WS_EX_APPWINDOW);
exstyle |= WS_EX_TOOLWINDOW;
exstyle |= WS_EX_LAYERED;
exstyle |= WS_EX_TRANSPARENT;
// flags don’t work – windows remains in taskbar

ShowWindow(hwnd, SW_HIDE);
SetWindowLong(hwnd, GWL_STYLE, style);
SetWindowLong(hwnd, GWL_EXSTYLE, exstyle);
ShowWindow(hwnd, SW_SHOW);
//SetWindowLong(hwnd, GWL_STYLE, style);

//TRANSPARENTE ON TOP
SetWindowLong(hwnd, GWL_STYLE, WS_VISIBLE );
SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, fWidth, fHeight, 32 | 64); //SWP_FRAMECHANGED = 0x0020 (32); //SWP_SHOWWINDOW = 0x0040 (64)
SetLayeredWindowAttributes(hwnd, 0, 255, 2);// Transparency=51=20%, LWA_ALPHA=2
DwmExtendFrameIntoClientArea(hwnd, ref margins);

//#endif
}

void Update()
{
if (Input.GetKey(KeyCode.Escape))
{
Application.Quit();
}

}

void OnRenderImage(RenderTexture from, RenderTexture to)
{
Graphics.Blit(from, to, m_Material);
}

}

Fastidioso inicio de sesión XFCE, abre ventanas indeseadas.

XFCE suele abrir ventanas de ultima sesión incluso si tienes la opción de no hacerlo, seguramente por que se usa métodos alternativos de cerrar la sesión que talvez se consideren no limpios para XFCE. Es molestoso! por eso en /etc/rc.local agregue la linea *rm -Rf /home/tuUsuario/.cache/sessions/** Matar la mata de raíz aquí la fuente http://unix.stackexchange.com/questions/52087/clear-xfce4-session

Día de Cometas.

Hoy volamos cometas con mi hijo, es la primera vez que lo hace conmigo, y lo hizo muy bien, ya que voló solo la cometa por mucho tiempo. Las cometas que volamos fueron realizadas por nosotros, en la mañana fuimos a un lugar donde hacia torbellinos y todas salieron muy dañadas. Para no quedarnos con ganas compramos una para volar en la tarde, pero ahora hacen tan mal las cometas que ni siquiera vuelan, en la tarde volaron las dos comentas que hicimos con mijo, después de repararlas, toda una experiencia. La cometa de la imagen tiene como 30 remiendos, y me sorprendió verla volar ya que estaba muy dañada.

Rigear Armadura con un Mesh (Softbody)

El siguiente script por medio de Streach a grupos de huesos logra que una armadura pueda ser influida por un softbody.
La aplicación esta orientada básicamente a simulaciones de arboles con ligereza de calculo.

https://github.com/seyacat/blender_scripts/blob/master/mesho_armature_rig/mesho.py
http://www.niel3d.com/niel3/modules/newbb/viewtopic.php?topic_id=882

SSH Tunel Inverso

En el server en sshd_config

GatewayPorts yes

en el cliente en rc.local

su -c “/usr/bin/autossh -fnTNR 20000:127.0.0.1:22 usuario@server -g” usuario

Esto después de hacer el intercambio de llaves para el login sin passwd

para crontab
* * * * * flock -n 2223 -c “sshpass -p pass ssh usr@host -R *:2222:127.0.0.1:22 -N”

Montar sistema con CHROOT

Montar sistema con CHROOT

#mount /dev/sda6 /mnt/temp/
mount -o bind /proc /media/b13bd3d4-7812-4b5c-9d5d-33f6a0bbfa6c/proc
mount -o bind /dev /media/b13bd3d4-7812-4b5c-9d5d-33f6a0bbfa6c/dev
mount -o bind /sys /media/b13bd3d4-7812-4b5c-9d5d-33f6a0bbfa6c/sys
chroot /media/b13bd3d4-7812-4b5c-9d5d-33f6a0bbfa6c

Stream la salida de PulseAudio por Icecast

Esta página la probé y funciona mágicamente:

http://hstuart.dk/2010/11/07/gstreamer-and-pulseaudio-to-a-squeezebox/

instalar pavucontrol e icecast2

pactl load-module module-null-sink sink_name=squeezebox

gst-launch pulsesrc device=squeezebox.monitor ! audioconvert ! lamemp3enc target=1 bitrate=128 cbr=true ! shout2send ip=127.0.0.1 port=8000 password=PASSWORD mount=mystream.mp3

http://127.0.0.1:8000/mystream.mp3

cambiar en grabación de pavucontrol, de monitor nulo a Monitor de Audio incluido Estereo Analógico.

HUAWEY E173 en Ubuntu 12.04 Precise

basta con este comando para que funcione OK sudo usb_modeswitch -v 0x12d1 -p 0x1c24 -V 0x12d1 -P 0x140c -M “55534243123456780000000000000011062000000100000000000000000000”

Lastima que perdí la página de referencia donde lo encontré

 

EDITADO:

la encontré

http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?t=561

Wifi lento en ubuntu 12.04 precise pangolin, (intel 5100)

Saludos a todos, creo que a muchos les pasa que la red wifi funciona extremadamente mal con esta distribución de Ubuntu. el leído muchos foros y la solución que encontré es agregar la siguiente linea

en /etc/modprobe.d/options.conf

options iwlwifi 11n_disable=1

seguramente el nombre del modulo cambio ya que en los foros que e visitado lo usaban como iwlagn.