1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-19 04:20:27 +01:00

cleaning the house today

This commit is contained in:
kojima
2002-02-15 21:34:46 +00:00
parent 5873385d32
commit 5db8b5660f
8 changed files with 605 additions and 14 deletions

View File

@@ -235,8 +235,8 @@ Subject: Re: El paquete WindowMaker funciona bien en Alpha?
> por favor probar esto? Deber<EFBFBD>a el par<EFBFBD>metro ser pasado al compilar
> en Alpha?
Descargo de responsabilidad: alphas bajo mi mando nunca han ejecutado X y are
least likely to suddenly start running it anytime soon.
Descargo de responsabilidad: alphas bajo mi mando nunca han ejecutado X
y es poco probable de que las ejecute repentinamente en alg<EFBFBD>n momento.
Alpha suele tener alguna rid<EFBFBD>cula poca cantidad de memoria compartida
configurada.

25
NEWS
View File

@@ -92,10 +92,27 @@ that this happened.
New dock option
---------------
Copy/paste launch in dock. For example, put
netscape %s in the Docked icon for Netscape,
select an url somewhere and then middle-click the icon.
The command will be launched with the "pasted" string.
Copy/paste launch in dock.
==========================
For example, put netscape %s in the Docked icon for Netscape, select an url
somewhere and then middle-click the icon. The command will be launched with
the "pasted" string.
Xinerama Support
================
Supported Xinerama features:
- Normal maximization of windows will maximize to only one of the screens,
the one where the cursor pointer is.
- Full Maximize command in window menu
- Place dialogs in the middle of the head where the pointer is
- Try to place windows inside one head in non-manual placement modes
Less dependancies

370
README.es Normal file
View File

@@ -0,0 +1,370 @@
GNU Window Maker
X11 Window Manager
<http://windowmaker.org>
<ftp://ftp.windowmaker.org>
por
Alfredo K. Kojima
Dan Pascu
]d
Web/FTP Master
Phillip Smith
Felicitaciones! A adquirido un dispositivo excelent<EFBFBD>simo
que le proporcionar<EFBFBD> miles de a<EFBFBD>os de uso sin problemas
,si no fuera porque indudablemente lo destruir<EFBFBD> a trav<EFBFBD>s de alguna
maniobra est<EFBFBD>pida t<EFBFBD>pica de consumidor. Por eso le pedimos
por EL AMOR DE DIOS LEA ESTE MANUAL DEL PROPIETARIO CUIDADOSAMENTE
ANTES DE DESEMPAQUETAR EL DISPOSITIVO. <EFBFBD>YA LO DESEMPAQUET<EFBFBD>, NO?
DESEMPAQUETELO Y ENCH<EFBFBD>FELO Y ENCI<EFBFBD>NDALO Y DEJE DE TOQUETEAR LAS PERILLAS,
Y AHORA SUS CHICOS, EL MISMO CHICO QUE UNA VEZ METI<EFBFBD> UNA SALCHICHA EN SU
VIDEOCASETERA Y DEFINI<EFBFBD> UN "AVANCE R<>PIDO", <EFBFBD>ESTE CHICO TAMBI<EFBFBD>N EST<EFBFBD>
TOQUETEANDO LAS PERILLAS, CIERTO? <EFBFBD>Y RECIEN AHORA EST<EFBFBD> COMENZANDO A LEER
LAS INSTRUCCIONES, CIERTO? PODEMOS TAMBI<EFBFBD>N ROMPER ESTOS DISPOSITIVOS
EN LA F<EFBFBD>BRICA ANTES DE DESPACH<EFBFBD>RLOS, SABIA ESO?
-- Dave Barry, "Lea Esto Primero!"
Descripci<EFBFBD>n
===========
Window Maker es el gestor de ventanas GNU para el Sistema de Ventanas X. Fue
dise<EFBFBD>ado para emular la apariencia y funcionalidad de parte del GUI de NEXTSTEP(mr).
Procura ser relativamente r<EFBFBD>pido y peque<EFBFBD>o, rico en caracter<EFBFBD>sticas, f<EFBFBD>cil de configurar
y usar, con una simple y elegante apariencia sacada desde NEXTSTEP(mr).
Window Maker fue dise<EFBFBD>ado teniendo en mente la integraci<EFBFBD>n con GNUstep y por eso
es el gestor de ventanas "oficial". Es tambi<EFBFBD>n parte del proyecto GNU (www.gnu.org)
. Lea mas sobre GNUstep m<EFBFBD>s adelante en este archivo.
Pistas (informaci<EFBFBD>n dada por las aplicaciones para integrarse bien con el gestor de
ventanas) para Motif(tm), OPEN LOOK(tm), KDE y GNOME tambi<EFBFBD>n son soportados.
Entonces puede reemplazar cualquiera de los gestores de ventana para estos entornos
con Window Maker manteniendo la mayor<EFBFBD>a, si no todo, de la funcionalidad del
gestor de ventanas nativo.
Window Maker antes se llamaba WindowMaker.
Window Maker no tiene relaci<EFBFBD>n con Windowmaker, el software para
hacer ventanas y puertas.
Documentaci<EFBFBD>n
=============
Lea antes de preguntar.
* Los archivos README distribuidos por todas partes del <EFBFBD>rbol de fuentes
contienen informaci<EFBFBD>n relacionada al contenido en los directorios.
* INSTALL tiene instrucciones de instalaci<EFBFBD>n y algunos consejos cuando tenga
alg<EFBFBD>n problema. Significa que deber<EFBFBD>a leerlo antes de la instalaci<EFBFBD>n.
No fue escrito solo para ocupar espacio en el paquete...
* FAQ: Preguntas Frecuentes. LEALO!!! FAQ.I18N es para
preguntas relacionadas con la internacionalizaci<EFBFBD>n.
* NEWS: lista los cambios visibles por el usuario desde la versi<EFBFBD>n anterior.
L<EFBFBD>alo si est<EFBFBD> actualizando.
* MIRRORS: algunos lugares alternativos donde puede obtener Window Maker,
incluyendo paquetes de Window Maker espec<EFBFBD>ficos para ciertas plataformas.
* BUGFORM: uselo para enviar reportes de errores. Por favor uselo.
* ChangeLog: <EFBFBD>que cambi<EFBFBD> desde la versi<EFBFBD>n anterior?
* BUGS: lista de errores conocidos.
*** Tutorial
Hay un tutorial mantenido por Georges Tarbouriech en:
http://www.linuxfocus.org/~georges.t/
*** Gu<EFBFBD>a del Usuario
La Gu<EFBFBD>a del Usuario de Window Maker puede ser bajada desde el ftp oficial
o por sitios web.
Puede tambi<EFBFBD>n ser vista en formato HTML en:
http://people.delphi.com/crc3419/WMUserGuide/index.htm
La Gu<EFBFBD>a del Usuario explica como usar Window Maker, los archivos de configuraci<EFBFBD>n
y opciones.
*** man pages
Tipee "man wmaker" en el prompt del shell para obtener ayuda general sobre Window Maker.
Directorios y Archivos en el <EFBFBD>rbol de Fuentes
=============================================
* Install es un script para configurar y compilar Window Maker de una forma
f<EFBFBD>cil (no es que la forma normal sea dif<EFBFBD>cil, pero...).
* AUTORES: los cr<EFBFBD>ditos
* TODO: planes para el futuro.
* contrib/ tiene algunos parches aportados que no est<EFBFBD>n soportados por Window Maker
porque entran en conflicto con la filosof<EFBFBD>a de dise<EFBFBD>o de los desarrolladores o por
alguna otra raz<EFBFBD>n.
* util/ tiene varios programas utilitarios.
* WPrefs.app/ es el programa de configuraci<EFBFBD>n.
* src/wconfig.h posee opciones de compilaci<EFBFBD>n que puede cambiar para
seleccionar algunas opciones/caracteristicas y otras cosas.
* WINGs/ biblioteca widget para imitaci<EFBFBD>n de NEXTSTEP.
* wrlib/ biblioteca de procesamiento de imagen.
* po/ posee cat<EFBFBD>logos de mensajes que son las versiones traducidas de los mensajes
mostrados por Window Maker.
* docklib-x.x.tar.gz es una biblioteca para escribir dockapps.
SOCORRO!!!
==========
Hay una lista de correo para discutir sobre Window Maker en
wm-user@windowmaker.org. Para suscribirse, envie un mensaje que contenga:
subscribe
en el tema del mensaje a wm-user-request@windowmaker.org
Si tiene algun problema, pregunte aqu<EFBFBD> (despu<EFBFBD>s de leer los docs, por supuesto). Es
m<EFBFBD>s probable que las personas de la lista sepan contestar sus preguntas
que nosotros. Para reportes de errores use el BUGFORM.
Si tiene un problema con una versi<EFBFBD>n precompilada de Window Maker
(rpm, deb etc), primero pregunte a la persona que hizo el paquete.
NOTA IMPORTANTE: cuando pida ayuda (en la lista de correo o a los desarrolladores,
directamente) *siempre* envie informaci<EFBFBD>n sobre el sistema que est<EFBFBD> usando. Puede
usar la secci<EFBFBD>n de informaci<EFBFBD>n del sistema al final del BUGFORM como una gu<EFBFBD>a.
Otra cosa: por favor no envie correo HTML.
Tambi<EFBFBD>n hay un canal de IRC #windowmaker en openprojects. <EFBFBD>nase aqu<EFBFBD>,
conecte su cliente de irc a irc.openprojects.net, irc.linux.com o alg<EFBFBD>n otro
servidor de esa red.
GNUstep
=======
GNUStep es un completo sistema de desarrollo orientado a objetos, basado en la
especificaci<EFBFBD>n OpenStep liberada por NeXT(tm) (ahora Apple(tm) y Sun(tm)). Ello
proveer<EFBFBD> todo lo que se necesita para producir aplicaciones multiplataforma,
orientadas a objetos, gr<EFBFBD>ficas (y no gr<EFBFBD>ficas); suministrando dentro de otras cosas,
bibliotecas base del sistema, una estructura de alto nivel para aplicaciones GUI que
usan un modelo de imagenes de tipo Display PostScript(tm) (DGS), objetos para acceso
a bases de datos relacionales, objetos distribuidos y un entorno de desarrollo gr<EFBFBD>fico,
con herramientas como un modelador de interfaces, un sistema para administraci<EFBFBD>n del
proyecto (central de proyecto) y otras herramientas.
El sistema de desarrollo de GNUStep ser<EFBFBD> usado para crear un entorno de usuario,
con todo lo necesario para una completa interface gr<EFBFBD>fica de usuario, tal como
un visualizador de archivos, editores de texto y otras aplicaciones. Note que el
entorno de usuario (o "entorno de escritorio") es solo un peque<EFBFBD>a parte de todo
el proyecto GNUStep y por lo tanto no "compite" con otros proyectos como KDE o GNOME,
simplemente porque son cosas completamente diferentes.
Para m<EFBFBD>s informaci<EFBFBD>n sobre el proyecto GNUStep, visite: http://www.gnustep.org y
http://gnustep.current.nu
Ejecutando multiples instancias de Window Maker
===============================================
No es una buena idea eejcutar m<EFBFBD>s de una instancia de Window Maker desde
el mismo usuario (ya que wmaker usar<EFBFBD> los mismos archivos de configuraci<EFBFBD>n)
al mismo tiempo. Podr<EFBFBD>a obtener un comportamiento inesperado cuando Window
Maker actualiza sus archivos de configuraci<EFBFBD>n.
Si de verdad desea hacer esto, intente ejecutar Window Maker con la opci<EFBFBD>n
de linea de comando --static ya que as<EFBFBD> no actualizar<EFBFBD> o cambiar<EFBFBD> ninguno de los
archivos de configuraci<EFBFBD>n.
Soporte para Sonido
===================
El sonido es soportado por los sistemas Linux y FreeBSD con el uso de
un m<EFBFBD>dulo distribuido separadamente llamado WSoundServer. Hay tambi<EFBFBD>n
una herramienta de configuracion gr<EFBFBD>fica para definir sus sonidos llamada
WSoundPref.
Puede bajar esto en:
http://shadowmere.student.utwente.nl/
Note que debe compilar Window Maker con el par<EFBFBD>metro --enable-sound
y definir la opci<EFBFBD>n DisableSound a NO.
Soporte para OpenL**k
=====================
Calculo que muchos usuarios, principalmente del mundo acad<EFBFBD>mico,
tienen que usar aplicaciones escritas usando los toolkits OpenL**k,
as<EFBFBD> que tener soporte para estas aplicaciones debe ser de alg<EFBFBD>n uso.
Para activarlo, use --enable-openlook al hacer el configure. Note que
no todo est<EFBFBD> implementado.
Las cosas implementadas incluyen consejos de adorno y el push-pin. Las cosas
no implementadas incluyen _SUN_WINDOW_STATE (la cosa compuesta que lleva el estado),
cosas que interesan sobre arrastrar y soltar, cabecera (no estoy seguro de que sea as<EFBFBD>)
y cadenas footer.
Por favor h<EFBFBD>game saber si algo no funciona. Si la caracter<EFBFBD>stica ya est<EFBFBD> implimentada,
pero no funciona por un error, intentar<EFBFBD> arreglarlo. Si esta es una caracter<EFBFBD>stica no
implementada y menciona que es importante (obs: no solo superficial), considerar<EFBFBD>
implementarlo.
El estado "out" del pushpin es emular un bot<EFBFBD>n presionado. Solo cliquee
en el bot<EFBFBD>n para hacer que se libere, lo cu<EFBFBD>l corresponde al estado
pinned-in del pushpin. Si pulsa otra vez en el boton liberado, servir<EFBFBD> de
bot<EFBFBD>n normal de cerrado: cerrar<EFBFBD> la ventana.
Ajuste de Rendimiento.
=====================
Si quiere disminuir el uso de memoria por parte de Window Maker y mejorar el
rendimiento, manteniendo una linda apariencia y buena funcionalidad, siga los
items de abajo:
- use texturas s<EFBFBD>lidas para todo, principalmente barras de t<EFBFBD>tulo y men<EFBFBD>es.
Si quiere un escritorio de aspecto lindo, use el estilo Tradicional.
- Apague NewStyle y Superfluous
- No una muchos atajos al men<EFBFBD> y mantenga solo los items esenciales en el men<EFBFBD>.
- Active DisableClip
- edite wconfig.h y desactive el NUMLOCK_HACK y lo mismo con las caracter<EFBFBD>sticas
que no use (tenga en mente que algunos de los #defines podr<EFBFBD>an no funcionar,
ya que ellos no est<EFBFBD>n completamente soportados). Aseg<EFBFBD>rese de mantener siempre
Numlock y ScrollLock apagados.
- Active DisableAnimations. Puede tambi<EFBFBD>n #undefine ANIMATIONS en wconfig.h
- quite las entradas por defecto IconPath y PixmapPath para contener solo las
rutas que en verdad tiene en su sistema.
- no use im<EFBFBD>genes grandes en el fondo ra<EFBFBD>z.
- quite el soporte para los formatos de imagen que no use.
- para reducir el uso de la memoria, desactive el cach<EFBFBD> de <EFBFBD>cono, definiendo
la variable de entorno RIMAGE_CACHE a 0. Si quiere aumentar el rendimiento
a expensas del uso de la memoria, defina este valor a un valor igual al
n<EFBFBD>mero de <EFBFBD>conos distintos que use.
Control del Mouse por Teclado
=============================
Muchas personas preguntan sobre agregar control por teclado al mouse, como
en fvwm, pero Window Maker no tendr<EFBFBD> tal caracter<EFBFBD>stica. La extensi<EFBFBD>n XKB
soporta simulaci<EFBFBD>n de mouse desde el teclado, de una manera mucho m<EFBFBD>s poderosa
que cualquier otra simulaci<EFBFBD>n hecha por un administrador de ventanas.
Para activarlo, presione la combinaci<EFBFBD>n de teclas Control+Shift+NumLock o
Shift+NumLock. Debiera escuchar el beep del parlante. Para desactivarlo,
haga lo mismo.
Para controlar el mouse el teclado num<EFBFBD>rico se usa as<EFBFBD>:
- 4 (flecha izquierda), 7 (Home), 8 (flecha arriba), 9 (PgUP), 6 (flecha derecha),
3 (PgDn), 2 (flecha abajo) y 1 (Fin) mueve el mouse a la correspondiente
direcci<EFBFBD>n;
- sosteniendo una de las teclas de arriba y luego sosteniendo la tecla 5 mover<EFBFBD>
el puntero m<EFBFBD>s r<EFBFBD>pido;
- / seleccionar<EFBFBD> el primer bot<EFBFBD>n del mouse (bot<EFBFBD>n izquierdo);
- * seleccionar<EFBFBD> el segundo bot<EFBFBD>n del mouse (bot<EFBFBD>n del medio);
- - seleccionar<EFBFBD> el tercer bot<EFBFBD>n del mouse (bot<EFBFBD>n derecho);
- 5 har<EFBFBD> un click con el bot<EFBFBD>n actualmente seleccionado del mouse;
- + har<EFBFBD> un doble click con el bot<EFBFBD>n actualmente seleccionado;
- 0 (Ins) cliquear<EFBFBD> y mantendr<EFBFBD> el bot<EFBFBD>n seleccionado actualmente;
- . (Del) liberar<EFBFBD> el bot<EFBFBD>n seleccionado actualmente que fue anteriormente
cliqueado con la tecla 0 (Ins).
Los valores anteriores de las teclas funcionar<EFBFBD>n en un servidor X XFree86 3.2
(X11R6.1) pero su alcance puede variar.
Como hacer un gdb backtrace
===========================
Backtraces pueden ayudarnos a arreglar errores que hicieron que Window Maker falle.
Si encuentra un bug que hace fallar a Window Maker, por favor envie un backtrace con su
reporte de error.
Para hacer un backtrace <EFBFBD>til, necesita un archivo core con informaci<EFBFBD>n de depuraci<EFBFBD>n
producida por Window Maker cuando fall<EFBFBD>. Deber<EFBFBD>a haber sido instalado sin stripping tambi<EFBFBD>n.
Para compilar wmaker con informaci<EFBFBD>n de depuraci<EFBFBD>n:
./configure
make CFLAGS=-g
Si obtiene el cuadro de di<EFBFBD>logo que le dice que wmaker fall<EFBFBD> y le
pregunta que hacer, resp<EFBFBD>ndale "Abortar y dejar un archivo core"
script
cd src
gdb .libs/wmaker path_to_the_core_file
Luego, en el prompt gdb escriba "bt". Salga de gdb escribiendo "quit"
y luego, en el prompt del shell, scriba "exit"
El archivo llamado typescript contendr<EFBFBD> el backtrace.
Derechos de Autor y Descargo de Responsabilidad
===============================================
Window Maker est<EFBFBD> registrado por Alfredo K. Kojima y est<EFBFBD> licensiado por la
Licensia P<EFBFBD>blica General GNU. Lea el archivo COPYING para leer la licensia
completa.
Los <EFBFBD>conos que son distribuidos con este programa y fueron hechos por Marco
van Hylckama Vlieg, est<EFBFBD>n licenciados por la Licencia P<EFBFBD>blica General GNU.
Lea el archivo COPYING para leer la licencia completa.
Los <EFBFBD>conos listados en COPYING.WTFPL y son distribuidos en este programa
fueron hechos por Banlu Kemiyatorn (]d), est<EFBFBD>n licenciados por la
"do What The Fuck you want to Public License". Lea el archivo COPYING.WTFPL
para leer la licencia completa.
NeXT, OpenStep y NEXTSTEP son marcas registradas de NeXT Computer, Inc.
Todas las otras marcas registradas son propiedad de sus respectivos due<EFBFBD>os.
Los autores se reservan el derecho de hacer cambios en el software sin previo
aviso.
Autores
=======
Alfredo K. Kojima <kojima@windowmaker.org>
Dan Pascu <dan@windowmaker.org>
]d <id@windowmaker.org>
Por favor no nos haga preguntas antes de leer la documentaci<EFBFBD>n (especialmente
la FAQ, este archivo y los archivos INSTALL) y sobre cosas "cool" que ve en
las capturas de pantalla del escritorio de las personas.
El archivo AUTHORS contiene una lista de las personas que han contribuido
con el proyecto. El nombre de las personas que han ayudado con localization
(traducci<EFBFBD>n) se puede encontrar en po/README y Window Maker/README
Si tiene alg<EFBFBD>n comentario, arreglos y reportes de errores (complete BUGFORMs)
y envi<EFBFBD>melos a developers@windowmaker.org
traducido por Efra<EFBFBD>n Maximiliano Palermo <max_drake2001@yahoo.com.ar>

View File

@@ -21,6 +21,9 @@
*/
#include "config.h" /* for HAVE_XCONVERTCASE */
#include "WPrefs.h"
#include <ctype.h>
@@ -120,6 +123,121 @@ static char *keyOptions[] = {
#ifndef HAVE_XCONVERTCASE
/* from Xlib */
static void
XConvertCase(sym, lower, upper)
register KeySym sym;
KeySym *lower;
KeySym *upper;
{
*lower = sym;
*upper = sym;
switch(sym >> 8) {
case 0: /* Latin 1 */
if ((sym >= XK_A) && (sym <= XK_Z))
*lower += (XK_a - XK_A);
else if ((sym >= XK_a) && (sym <= XK_z))
*upper -= (XK_a - XK_A);
else if ((sym >= XK_Agrave) && (sym <= XK_Odiaeresis))
*lower += (XK_agrave - XK_Agrave);
else if ((sym >= XK_agrave) && (sym <= XK_odiaeresis))
*upper -= (XK_agrave - XK_Agrave);
else if ((sym >= XK_Ooblique) && (sym <= XK_Thorn))
*lower += (XK_oslash - XK_Ooblique);
else if ((sym >= XK_oslash) && (sym <= XK_thorn))
*upper -= (XK_oslash - XK_Ooblique);
break;
case 1: /* Latin 2 */
/* Assume the KeySym is a legal value (ignore discontinuities) */
if (sym == XK_Aogonek)
*lower = XK_aogonek;
else if (sym >= XK_Lstroke && sym <= XK_Sacute)
*lower += (XK_lstroke - XK_Lstroke);
else if (sym >= XK_Scaron && sym <= XK_Zacute)
*lower += (XK_scaron - XK_Scaron);
else if (sym >= XK_Zcaron && sym <= XK_Zabovedot)
*lower += (XK_zcaron - XK_Zcaron);
else if (sym == XK_aogonek)
*upper = XK_Aogonek;
else if (sym >= XK_lstroke && sym <= XK_sacute)
*upper -= (XK_lstroke - XK_Lstroke);
else if (sym >= XK_scaron && sym <= XK_zacute)
*upper -= (XK_scaron - XK_Scaron);
else if (sym >= XK_zcaron && sym <= XK_zabovedot)
*upper -= (XK_zcaron - XK_Zcaron);
else if (sym >= XK_Racute && sym <= XK_Tcedilla)
*lower += (XK_racute - XK_Racute);
else if (sym >= XK_racute && sym <= XK_tcedilla)
*upper -= (XK_racute - XK_Racute);
break;
case 2: /* Latin 3 */
/* Assume the KeySym is a legal value (ignore discontinuities) */
if (sym >= XK_Hstroke && sym <= XK_Hcircumflex)
*lower += (XK_hstroke - XK_Hstroke);
else if (sym >= XK_Gbreve && sym <= XK_Jcircumflex)
*lower += (XK_gbreve - XK_Gbreve);
else if (sym >= XK_hstroke && sym <= XK_hcircumflex)
*upper -= (XK_hstroke - XK_Hstroke);
else if (sym >= XK_gbreve && sym <= XK_jcircumflex)
*upper -= (XK_gbreve - XK_Gbreve);
else if (sym >= XK_Cabovedot && sym <= XK_Scircumflex)
*lower += (XK_cabovedot - XK_Cabovedot);
else if (sym >= XK_cabovedot && sym <= XK_scircumflex)
*upper -= (XK_cabovedot - XK_Cabovedot);
break;
case 3: /* Latin 4 */
/* Assume the KeySym is a legal value (ignore discontinuities) */
if (sym >= XK_Rcedilla && sym <= XK_Tslash)
*lower += (XK_rcedilla - XK_Rcedilla);
else if (sym >= XK_rcedilla && sym <= XK_tslash)
*upper -= (XK_rcedilla - XK_Rcedilla);
else if (sym == XK_ENG)
*lower = XK_eng;
else if (sym == XK_eng)
*upper = XK_ENG;
else if (sym >= XK_Amacron && sym <= XK_Umacron)
*lower += (XK_amacron - XK_Amacron);
else if (sym >= XK_amacron && sym <= XK_umacron)
*upper -= (XK_amacron - XK_Amacron);
break;
case 6: /* Cyrillic */
/* Assume the KeySym is a legal value (ignore discontinuities) */
if (sym >= XK_Serbian_DJE && sym <= XK_Serbian_DZE)
*lower -= (XK_Serbian_DJE - XK_Serbian_dje);
else if (sym >= XK_Serbian_dje && sym <= XK_Serbian_dze)
*upper += (XK_Serbian_DJE - XK_Serbian_dje);
else if (sym >= XK_Cyrillic_YU && sym <= XK_Cyrillic_HARDSIGN)
*lower -= (XK_Cyrillic_YU - XK_Cyrillic_yu);
else if (sym >= XK_Cyrillic_yu && sym <= XK_Cyrillic_hardsign)
*upper += (XK_Cyrillic_YU - XK_Cyrillic_yu);
break;
case 7: /* Greek */
/* Assume the KeySym is a legal value (ignore discontinuities) */
if (sym >= XK_Greek_ALPHAaccent && sym <= XK_Greek_OMEGAaccent)
*lower += (XK_Greek_alphaaccent - XK_Greek_ALPHAaccent);
else if (sym >= XK_Greek_alphaaccent && sym <= XK_Greek_omegaaccent &&
sym != XK_Greek_iotaaccentdieresis &&
sym != XK_Greek_upsilonaccentdieresis)
*upper -= (XK_Greek_alphaaccent - XK_Greek_ALPHAaccent);
else if (sym >= XK_Greek_ALPHA && sym <= XK_Greek_OMEGA)
*lower += (XK_Greek_alpha - XK_Greek_ALPHA);
else if (sym >= XK_Greek_alpha && sym <= XK_Greek_omega &&
sym != XK_Greek_finalsmallsigma)
*upper -= (XK_Greek_alpha - XK_Greek_ALPHA);
break;
case 0x14: /* Armenian */
if (sym >= XK_Armenian_AYB && sym <= XK_Armenian_fe) {
*lower = sym | 1;
*upper = sym & ~1;
}
break;
}
}
#endif
static char*
captureShortcut(Display *dpy, _Panel *panel)
{
@@ -135,7 +253,8 @@ captureShortcut(Display *dpy, _Panel *panel)
ksym = XKeycodeToKeysym(dpy, ev.xkey.keycode, 0);
if (!IsModifierKey(ksym)) {
XConvertCase(ksym, &lksym, &uksym);
key=XKeysymToString(uksym);
key=XKeysymToString(uksym);
panel->capturing = 0;
break;
}

View File

@@ -83,6 +83,7 @@ typedef struct _Panel {
WMFrame *pipeF;
WMTextField *pipeT;
WMButton *pipeCacheB;
WMFrame *dpathF;
WMTextField *dpathT;
@@ -134,6 +135,7 @@ typedef struct {
} external;
struct {
char *command;
unsigned cached:1;
} pipe;
struct {
char *directory;
@@ -691,8 +693,8 @@ createPanel(_Panel *p)
/* pipe */
panel->pipeF = WMCreateFrame(panel->optionsF);
WMResizeWidget(panel->pipeF, width, 100);
WMMoveWidget(panel->pipeF, 10, 50);
WMResizeWidget(panel->pipeF, width, 150);
WMMoveWidget(panel->pipeF, 10, 30);
WMSetFrameTitle(panel->pipeF, _("Command"));
panel->pipeT = WMCreateTextField(panel->pipeF);
@@ -710,6 +712,14 @@ createPanel(_Panel *p)
WMSetLabelText(label, _("Enter a command that outputs a menu\n"
"definition to stdout when invoked."));
panel->pipeCacheB = WMCreateSwitchButton(panel->pipeF);
WMResizeWidget(panel->pipeCacheB, width - 20, 40);
WMMoveWidget(panel->pipeCacheB, 10, 110);
WMSetButtonText(panel->pipeCacheB,
_("Cache menu contents after opening for\n"
"the first time"));
WMMapSubwidgets(panel->pipeF);
@@ -983,11 +993,17 @@ parseCommand(WMPropList *item)
/*
* dir menu, menu file
* dir WITH
* |pipe (TODO: ||pipe)
* |pipe
*/
p = parameter;
while (isspace(*p) && *p) p++;
if (*p == '|') {
if (*(p+1) == '|') {
p++;
data->param.pipe.cached = 0;
} else {
data->param.pipe.cached = 1;
}
data->type = PipeInfo;
data->param.pipe.command = wtrimspace(p+1);
} else {
@@ -1226,6 +1242,10 @@ updateMenuItem(_Panel *panel, WEditMenuItem *item, WMWidget *changedWidget)
REPLACE(data->param.pipe.command,
WMGetTextFieldText(panel->pipeT));
}
if (changedWidget == panel->pipeCacheB) {
data->param.pipe.cached =
WMGetButtonSelected(panel->pipeCacheB);
}
break;
case ExternalInfo:
@@ -1290,6 +1310,7 @@ menuItemCloned(WEditMenuDelegate *delegate, WEditMenu *menu,
case PipeInfo:
newData->param.pipe.command = DUP(data->param.pipe.command);
newData->param.pipe.cached = data->param.pipe.cached;
break;
case ExternalInfo:
@@ -1415,6 +1436,7 @@ menuItemSelected(WEditMenuDelegate *delegate, WEditMenu *menu,
case PipeInfo:
WMSetTextFieldText(panel->pipeT, data->param.pipe.command);
WMSetButtonSelected(panel->pipeCacheB, data->param.pipe.cached);
break;
case ExternalInfo:
@@ -1682,11 +1704,14 @@ processData(char *title, ItemData *data)
if (!data->param.pipe.command)
return NULL;
WMAddToPLArray(item, pomenu);
s1 = wstrconcat("| ", data->param.pipe.command);
if (data->param.pipe.cached)
s1 = wstrconcat("| ", data->param.pipe.command);
else
s1 = wstrconcat("|| ", data->param.pipe.command);
WMAddToPLArray(item, WMCreatePLString(s1));
wfree(s1);
break;
case ExternalInfo:
if (!data->param.external.path)
return NULL;

View File

@@ -18,7 +18,8 @@ es.po Spanish Alvaro Herrera <alvherre@webhost.cl>
fi.po Finnish Tomi Kajala <tomi@iki.fi>
it.po Italian Michele Campeotto <micampe@f2s.com>
ru.po Russian Igor P. Roboul <igor@srcso.sochi.su>
de.po German Bernd Eggert <Bernd.Eggert@t-online.de>
de.po German Torsten Marek <torsten.marek@vbdnet.de>
Bernd Eggert <Bernd.Eggert@t-online.de>
Guido Scholz <guido.scholz@bayernline.de>
hu.po Hungarian Horvath Szabolcs <horvathsz@penguinpowered.com>
bg.po Bulgarian Slavei Karadjov <slaff@exco.net>

58
doc/wcopy.1 Normal file
View File

@@ -0,0 +1,58 @@
.TH wcopy,wpaste 1 04/09/01
.UC 4
.SH NAME
wcopy \- copy stdin to an X11 cut buffer
wpaste \- paste X11 cut buffer to stdout
.SH SYNOPSIS
.B wcopy [ [0-9]... ] [wxcopy's normal args]
.SH DESCRIPTION
\fBwcopy\fP reads from standard input and copies it to the nominated
X11 cut buffers.
The default is the first cut buffer.
.PP
\fBwpaste\fP pastes the nominated X11 cut buffers(s)
to standard output.
The default is the first cut buffer.
.PP
Note that the cut buffers are numbered starting from 0.
.PP
Simple integer arguments pick a cut-buffer.
.PP
For \fBwcopy\fP,
the argument number picks a cut-buffer to copy the standard input to.
(Subsequent copies are taken from the first nominated buffer \-
it does not try to re-read the input!))
.SH EXAMPLES
.TP 1.5i
.B echo fred | wcopy 1 2
This puts the word "fred" into the 2nd and 3rd cut-buffers.
.TP 1.5i
.B wpaste | tr "A-Z" "a-z" | wcopy 1
This copies the clipboard then translates all upper case letters to lower in
the 1st
cut buffer and copies the result into the 2nd.
.TP 1.5i
.B wpaste 0 | fmt -w 66 | sed 's/^/> /' | wcopy 1
This reformats the clipboard to paragraphs with lines no longer than 66
characters, inserts typical email quoting characters, and copies the
output to the 2nd cut-buffer.
.TP 1.5i
.B wpaste | sed 's/^> *//' | wcopy
This removes email quotes from the start of lines in the clipboard
and replaces the clipboard with the un-quoted material.
.TP 1.5i
.B wpaste > ~/.myclipboard
Copies the clipboard into a location where it can be pixked up from other
computers (e.g. even from a Windows machine) \- as per the file permissions
you choose for the ".myclipboard" file.
.SH ENVIRONMENT
If WXCOPY_DEFS or WXPASTE_DEFS are defined in your environment,
they will always be provided as the first argument(s) to the
respective underlying command.
.SH BUGS
Don't use "-cutbuffer N" notation as per wxcopy/wxpaste:
stick to just using the plain unadorned number(s) that wcopy/wpaste expect.
.SH SEE ALSO
wxcopy(1), wxpaste(1), xcb(1)
.SH AUTHOR
Luke Kendall

View File

@@ -7,7 +7,8 @@ ja.po Japanese 1 ABE Shige <sabe@ibm.net>
MANOME Tomonori <manome@itlb.te.noda.sut.ac.jp>
Takeo Hashimoto <HashimotoTakeo@mac.com>
pt.po Portuguese Eliphas Levy Theodoro <eliphas@conectiva.com.br>
de.po German Bernd Eggert <Bernd.Eggert@t-online.de>
de.po German Torsten Marek <torsten.marek@vbdnet.de>
Bernd Eggert <Bernd.Eggert@t-online.de>
Matthias Warkus <mawarkus@t-online.de>
Guido Scholz <guido.scholz@bayernline.de>
es.po Spanish Raul Benito Garcia <raul@fi.upm.es>