Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Jan 2010 11:47:17 GMT
From:      Eimar Koort <eimar.koort@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/142744: new port: x11/keyboardcast Broadcast keystrokes to multiple X windows for Gnome2
Message-ID:  <201001121147.o0CBlHp2080325@www.freebsd.org>
Resent-Message-ID: <201001121150.o0CBo1fM063139@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         142744
>Category:       ports
>Synopsis:       new port: x11/keyboardcast Broadcast keystrokes to multiple X windows for Gnome2
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jan 12 11:50:01 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Eimar Koort
>Release:        
>Organization:
>Environment:
FreeBSD box 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #0: Thu Jan  7 10:28:59 EET 2010     root@box:/usr/obj/usr/src/sys/GENERIC  amd64

>Description:
The purpose of keyboardcast is to allow you to send keystrokes to multiple
X windows at once. This allows you, for example, to control a number of
terminals connected to different but similar hosts for purposes of mass-
administration.

You can also select non-terminals. If you come up with a reasonable use
for this ability I'd be interested in hearing about it.
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	keyboardcast
#	keyboardcast/pkg-descr
#	keyboardcast/pkg-message
#	keyboardcast/distinfo
#	keyboardcast/Makefile
#	keyboardcast/files
#	keyboardcast/files/patch-Makefile
#	keyboardcast/files/patch-window-list.c
#	keyboardcast/pkg-plist
#
echo c - keyboardcast
mkdir -p keyboardcast > /dev/null 2>&1
echo x - keyboardcast/pkg-descr
sed 's/^X//' >keyboardcast/pkg-descr << 'bad25f853443b27f29fbef7e8076d0c3'
XThe purpose of keyboardcast is to allow you to send keystrokes to multiple
XX windows at once. This allows you, for example, to control a number of
Xterminals connected to different but similar hosts for purposes of mass-
Xadministration.
X
XYou can also select non-terminals. If you come up with a reasonable use
Xfor this ability I'd be interested in hearing about it.
X
XThe program can select windows to send to either by matching their titles
X(using a substring) or by clicking on them (in a method similar to GIMP's
Xscreenshot feature).
X
XThe program also features the ability to spawn off multiple instances of
Xgnome-terminal executing a single command on multiple arguments (for example
Xexecuting 'ssh' on several hosts). The gnome-terminals are invoked with
Xthe profile 'keyboardcast' if it exists (so, for example, your font size
Xcan be smaller).
X
XWWW: https://launchpad.net/keyboardcast
bad25f853443b27f29fbef7e8076d0c3
echo x - keyboardcast/pkg-message
sed 's/^X//' >keyboardcast/pkg-message << 'c24e408d383b5e9a6d7ce77a1be92da0'
X======================================================================
Xkeyboardcast requires /proc to be mounted!
X
XSee man procfs for more information.
X======================================================================
c24e408d383b5e9a6d7ce77a1be92da0
echo x - keyboardcast/distinfo
sed 's/^X//' >keyboardcast/distinfo << 'cc93c38c5f4d0a081f6dc0e2fc716a05'
XMD5 (keyboardcast-0.1.1.tar.gz) = 5ed46188c70f5622a64d90965db389dc
XSHA256 (keyboardcast-0.1.1.tar.gz) = d87c96c7f977c762ce7af81a8efeb60274d65de287d63abe15982c454cbcd710
XSIZE (keyboardcast-0.1.1.tar.gz) = 15469
cc93c38c5f4d0a081f6dc0e2fc716a05
echo x - keyboardcast/Makefile
sed 's/^X//' >keyboardcast/Makefile << '592ec8d5c61014bfd880fde36d355548'
X# New ports collection makefile for:   keyboardcast
X# Date created:        12 jaan 2010
X# Whom:                eimar.koort
X#
X# $FreeBSD$
X#
X
XPORTNAME=      keyboardcast
XPORTVERSION=   0.1.1
XCATEGORIES=    x11
XMASTER_SITES=  http://desrt.mcmaster.ca/code/keyboardcast/
X
XMAINTAINER=    eimar.koort@gmail.com
XCOMMENT=       Broadcast keystrokes to multiple X windows for Gnome2
X
XBUILD_DEPENDS= pkg-config:${PORTSDIR}/devel/pkg-config
X
XUSE_GNOME=     libwnck libglade2 gtk20
X
Xpost-install:
X	@${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.mk>
592ec8d5c61014bfd880fde36d355548
echo c - keyboardcast/files
mkdir -p keyboardcast/files > /dev/null 2>&1
echo x - keyboardcast/files/patch-Makefile
sed 's/^X//' >keyboardcast/files/patch-Makefile << 'fba47433816b86437c833e5f6ef7a993'
X--- Makefile.orig	2005-12-06 19:29:22.000000000 +0200
X+++ Makefile	2010-01-12 12:17:24.000000000 +0200
X@@ -1,3 +1,4 @@
X+CC = cc
X PREFIX = /usr/local
X SHAREDIR = $(PREFIX)/share/keyboardcast
X APPSDIR = $(PREFIX)/share/applications
X@@ -9,7 +10,10 @@
X LDLIBS += -lXmu
X CFLAGS += -Wall -O2 -DPREFIX=\"$(PREFIX)\"
X 
X-keyboardcast: keyboardcast.o window-list.o grab-window.o
X+all: keyboardcast
X+
X+keyboardcast: keyboardcast.o window-list.o grab-window.o 
X+	$(CC) $(CFLAGS) $(LDLIBS) keyboardcast.o window-list.o grab-window.o -o keyboardcast
X 
X clean:
X 	rm -f keyboardcast *.o *.gladep *.bak
fba47433816b86437c833e5f6ef7a993
echo x - keyboardcast/files/patch-window-list.c
sed 's/^X//' >keyboardcast/files/patch-window-list.c << '23c362204f73cc0ba48064bb6957f745'
X--- window-list.c.orig	2005-12-06 04:57:05.000000000 +0200
X+++ window-list.c	2010-01-11 13:37:39.000000000 +0200
X@@ -15,6 +15,12 @@
X  *   along with this program; if not, write to the Free Software
X  *   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110 USA
X  */
X+#include <sys/param.h>
X+#ifdef __FreeBSD__
X+#define  LINKPATH "/proc/%d/file"
X+#else
X+#define  LINKPATH "/proc/%d/exe"
X+#endif
X 
X #define WNCK_I_KNOW_THIS_IS_UNSTABLE wankfactor
X 
X@@ -57,7 +63,7 @@
X   if( pid < 0 || pid == getpid() ) // never list myself
X     return FALSE;
X 
X-  path = g_strdup_printf( "/proc/%d/exe", pid );
X+  path = g_strdup_printf( LINKPATH, pid );
X   len = readlink( path, destination, sizeof destination );
X   g_free( path );
X 
23c362204f73cc0ba48064bb6957f745
echo x - keyboardcast/pkg-plist
sed 's/^X//' >keyboardcast/pkg-plist << '592684cfb6bed811651de610093c598b'
Xbin/keyboardcast
Xshare/applications/keyboardcast.desktop
Xshare/keyboardcast/keyboardcast.glade
X@dirrm share/keyboardcast
592684cfb6bed811651de610093c598b
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001121147.o0CBlHp2080325>