summaryrefslogtreecommitdiff
path: root/manage.c
diff options
context:
space:
mode:
authorsabetts <sabetts>2000-09-06 02:08:40 +0000
committersabetts <sabetts>2000-09-06 02:08:40 +0000
commit33fb61429337fc71292628e9dac1ddf599938304 (patch)
treedaecacc60264a99f20e5fbae757985ef0ebc4bd9 /manage.c
parentd355d02c47ee296064e55520c15252e5fad97ecf (diff)
downloadratpoison-33fb61429337fc71292628e9dac1ddf599938304.zip
added a rename window key.
Diffstat (limited to 'manage.c')
-rw-r--r--manage.c56
1 files changed, 27 insertions, 29 deletions
diff --git a/manage.c b/manage.c
index 6c4881d..592e391 100644
--- a/manage.c
+++ b/manage.c
@@ -32,35 +32,6 @@
extern Atom wm_state;
-void
-grab_keys (screen_info *s)
-{
- int i;
-
- for (i='0'; i<='9'; i++)
- XGrabKey(dpy, XKeysymToKeycode (dpy, i ), AnyModifier, s->key_window, True,
- GrabModeAsync, GrabModeAsync);
-
- XGrabKey(dpy, XKeysymToKeycode (dpy, KEY_XTERM ), AnyModifier, s->key_window, True,
- GrabModeAsync, GrabModeAsync);
- XGrabKey(dpy, XKeysymToKeycode (dpy, KEY_EMACS ), AnyModifier, s->key_window, True,
- GrabModeAsync, GrabModeAsync);
- XGrabKey(dpy, XKeysymToKeycode (dpy, KEY_PREVWINDOW ), AnyModifier, s->key_window, True,
- GrabModeAsync, GrabModeAsync);
- XGrabKey(dpy, XKeysymToKeycode (dpy, KEY_NEXTWINDOW ), AnyModifier, s->key_window, True,
- GrabModeAsync, GrabModeAsync);
- XGrabKey(dpy, XKeysymToKeycode (dpy, KEY_TOGGLEBAR ), AnyModifier, s->key_window, True,
- GrabModeAsync, GrabModeAsync);
- XGrabKey(dpy, XKeysymToKeycode (dpy, KEY_LASTWINDOW ), AnyModifier, s->key_window, True,
- GrabModeAsync, GrabModeAsync);
- XGrabKey(dpy, XKeysymToKeycode (dpy, KEY_DELETE ), AnyModifier, s->key_window, True,
- GrabModeAsync, GrabModeAsync);
- XGrabKey(dpy, XKeysymToKeycode (dpy, KEY_PREFIX ), AnyModifier, s->key_window, True,
- GrabModeAsync, GrabModeAsync);
- XGrabKey(dpy, XKeysymToKeycode (dpy, KEY_WINBYNAME ), AnyModifier, s->key_window, True,
- GrabModeAsync, GrabModeAsync);
-}
-
static void
grab_prefix_key (Window w)
{
@@ -77,6 +48,9 @@ update_window_name (rp_window *win)
int list_len;
int i;
+ /* Don't overwrite the window name if the user specified one. */
+ if (win->named) return 0;
+
if (!XGetWMName (dpy, win->w, &text))
{
fprintf (stderr, "ratpoison:manage.c: I can't get the WMName.\n");
@@ -122,6 +96,30 @@ update_window_name (rp_window *win)
}
void
+rename_current_window ()
+{
+ char winname[100];
+
+ if (rp_current_window == NULL) return;
+
+ get_input (rp_current_window->scr, "Name: ", winname, 100);
+ printf ("user entered: %s\n", winname);
+
+ free (rp_current_window->name);
+ rp_current_window->name = malloc (sizeof (char) * strlen (winname) + 1);
+ if (rp_current_window->name == NULL)
+ {
+ fprintf (stderr, "ratpoison:rename_window(): Out of memory\n");
+ exit (EXIT_FAILURE);
+ }
+ strcpy (rp_current_window->name, winname);
+ rp_current_window->named = 1;
+
+ /* Update the program bar. */
+ update_window_names (rp_current_window->scr);
+}
+
+void
manage (rp_window *win, screen_info *s)
{
if (!update_window_name (win)) return;