summaryrefslogtreecommitdiff
path: root/zwgc/xcut.c
diff options
context:
space:
mode:
authorGravatar Marc Horowitz <marc@mit.edu>1989-11-13 19:54:10 +0000
committerGravatar Marc Horowitz <marc@mit.edu>1989-11-13 19:54:10 +0000
commit05bb0c93268b1cc3d18dcbb2757412197983f0a3 (patch)
tree6283f1dbd2bab17688daf7504c6ab83a46c5f162 /zwgc/xcut.c
parent0e01e707e2d0899b98a87625f03699940b32cf96 (diff)
ICCCM reverse stacking implemented
(This is broken until the ICCCM mandates correct reporting of ConfigureNotify events)
Diffstat (limited to 'zwgc/xcut.c')
-rw-r--r--zwgc/xcut.c24
1 files changed, 9 insertions, 15 deletions
diff --git a/zwgc/xcut.c b/zwgc/xcut.c
index 184e4b4..8f2d46f 100644
--- a/zwgc/xcut.c
+++ b/zwgc/xcut.c
@@ -34,18 +34,12 @@ static char rcsid_xcut_c[] = "$Id$";
#include "xselect.h"
#include "xmark.h"
#include "error.h"
+#include "xrevstack.h"
/*
*
*/
-#ifdef REVSTACK
-extern void pull_to_top();
-extern void push_to_bottom();
-extern void add_to_bottom();
-extern void unlink_gram();
-#endif
-
extern char *xmarkGetText();
static char *selected_text=NULL;
@@ -209,16 +203,16 @@ void xcut(dpy,event,desc_context)
case ButtonRelease:
if (w == current_window_in && !((event->xbutton.state)&ShiftMask)) {
-#ifdef REVSTACK
- extern int reverse_stack;
-#endif /* REVSTACK */
- if (w == selecting_in) selecting_in = 0;
+ if (w == selecting_in) {
+ selecting_in = 0;
+ xmarkClear();
+ }
+ if (reverse_stack && (gram == bottom_gram))
+ bottom_gram = gram;
XDeleteContext(dpy, w, desc_context);
XDestroyWindow(dpy, w);
-#ifdef REVSTACK
if (reverse_stack)
- unlink_gram(gram);
-#endif
+ delete_gram(gram);
free(gram->text);
free(gram->blocks);
free(gram);
@@ -242,7 +236,7 @@ void xcut(dpy,event,desc_context)
}
break;
-#ifdef REVSTACK
+#ifdef notdef
case ConfigureNotify:
#ifdef DEBUG
if (zwgc_debug)