about summary refs log tree commit diff stats
path: root/view.c
diff options
context:
space:
mode:
Diffstat (limited to 'view.c')
-rw-r--r--view.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/view.c b/view.c
index 9ee4c78..5cbab08 100644
--- a/view.c
+++ b/view.c
@@ -76,8 +76,10 @@ dofloat(Arg *arg)
 		else
 			ban(c);
 	}
-	if(!sel || !isvisible(sel))
-		focus(getnext(clients));
+	if(!sel || !isvisible(sel)) {
+		for(sel = stack; sel && !isvisible(sel); sel = sel->snext);
+		focus(sel);
+	}
 	restack();
 }
 
@@ -138,8 +140,10 @@ dotile(Arg *arg)
 		else
 			ban(c);
 	}
-	if(!sel || !isvisible(sel))
-		focus(getnext(clients));
+	if(!sel || !isvisible(sel)) {
+		for(sel = stack; sel && !isvisible(sel); sel = sel->snext);
+		focus(sel);
+	}
 	restack();
 }
 
@@ -227,7 +231,7 @@ restack()
 		XRaiseWindow(dpy, sel->win);
 		XRaiseWindow(dpy, sel->twin);
 	}
-	if(arrange != dofloat) 
+	if(arrange != dofloat)
 		for(c = nexttiled(clients); c; c = nexttiled(c->next)) {
 			XLowerWindow(dpy, c->twin);
 			XLowerWindow(dpy, c->win);
e the previous revision' href='/ingrix/lynx-snapshots/blame/src/LYCharUtils.h?id=bed9a2c79bfdde6e4ec89d9d02a5d6e88ae12f79'>^
c3ec4181 ^

1fc1d8af ^

































2d161b7d ^
1fc1d8af ^
e087f6d4
2d161b7d ^

1fc1d8af ^



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98



                     
                    

                      


                  
                                                                  




                                                                                                      
 



































                                                                  

                        

































                                                                      
 
                                                       
 

                                                             



                                                   
#ifndef LYCHARUTILS_H
#define LYCHARUTILS_H

#ifndef HTUTILS_H
#include <HTUtils.h>
#endif /* HTUTILS_H */

#ifdef __cplusplus
extern "C" {
#endif
#define CHECK_ID(code) LYCheckForID(me, present, value, (int)code)
    typedef enum {
	st_HTML = 0,		/* attributes and content found in HTML, probably meant for display */
	st_URL,			/* URLs, fragments, NAME and ID */
	st_other
    } CharUtil_st;

    extern char **LYUCFullyTranslateString(char **str,
					   int cs_from,
					   int cs_to,
					   BOOLEAN do_ent,
					   BOOL use_lynx_specials,
					   BOOLEAN plain_space,
					   BOOLEAN hidden,
					   BOOL Back,
					   CharUtil_st stype);
    extern BOOL LYUCTranslateHTMLString(char **str,
					int cs_from,
					int cs_to,
					BOOL use_lynx_specials,
					BOOLEAN plain_space,
					BOOLEAN hidden,
					CharUtil_st stype);
    extern BOOL LYUCTranslateBackFormData(char **str,
					  int cs_from,
					  int cs_to,
					  BOOLEAN plain_space);
    extern void LYEntify(char **str,
			 BOOLEAN isTITLE);
    extern void LYTrimHead(char *str);
    extern void LYTrimTail(char *str);
    extern char *LYFindEndOfComment(char *str);
    extern void LYFillLocalFileURL(char **href,
				   const char *base);
    extern void LYAddMETAcharsetToFD(FILE *fd,
				     int disp_chndl);
    extern void LYformTitle(char **dst,
			    const char *src);
    extern char *LYParseTagParam(char *from,
				 const char *name);
    extern void LYParseRefreshURL(char *content,
				  char **p_seconds,
				  char **p_address);

#ifdef Lynx_HTML_Handler
    extern int OL_CONTINUE;	/* flag for whether CONTINUE is set */
    extern int OL_VOID;		/* flag for whether a count is set */
    extern void LYZero_OL_Counter(HTStructured * me);
    extern char *LYUppercaseA_OL_String(int seqnum);
    extern char *LYLowercaseA_OL_String(int seqnum);
    extern char *LYUppercaseI_OL_String(int seqnum);
    extern char *LYLowercaseI_OL_String(int seqnum);
    extern void LYGetChartransInfo(HTStructured * me);
    extern void LYHandleMETA(HTStructured * me, const BOOL *present,
			     const char **value,
			     char **include);
    extern void LYHandlePlike(HTStructured * me, const BOOL *present,
			      const char **value,
			      char **include,
			      int align_idx,
			      BOOL start);
    extern void LYHandleSELECT(HTStructured * me, const BOOL *present,
			       const char **value,
			       char **include,
			       BOOL start);
    extern int LYLegitimizeHREF(HTStructured * me, char **href,
				BOOL force_slash,
				BOOL strip_dots);
    extern void LYCheckForContentBase(HTStructured * me);
    extern void LYCheckForID(HTStructured * me, const BOOL *present,
			     const char **value,
			     int attribute);
    extern void LYHandleID(HTStructured * me, const char *id);
    extern BOOLEAN LYoverride_default_alignment(HTStructured * me);
    extern void LYEnsureDoubleSpace(HTStructured * me);
    extern void LYEnsureSingleSpace(HTStructured * me);
    extern void LYResetParagraphAlignment(HTStructured * me);
    extern BOOLEAN LYCheckForCSI(HTParentAnchor *anchor,
				 char **url);

#endif				/* Lynx_HTML_Handler */

#define LYUCTranslateBackHeaderText LYUCTranslateBackFormData

#ifdef __cplusplus
}
#endif
#endif				/* LYCHARUTILS_H */