aboutsummaryrefslogtreecommitdiff
path: root/x.c
diff options
context:
space:
mode:
authorDevin J. Pohly <djpohly@gmail.com>2018-02-24 16:16:12 -0600
committerDevin J. Pohly <djpohly@gmail.com>2018-02-25 21:56:26 -0600
commit30683c70ab62fd37b5921cf72077b9aef2cb842e (patch)
treef81bf19a9cf62cd9ac97c4c7e4eab6a4cc131c89 /x.c
parenta3beb626d2dae9d4d0883c7c8cb6ba58b0609105 (diff)
downloadst-30683c70ab62fd37b5921cf72077b9aef2cb842e.tar.gz
st-30683c70ab62fd37b5921cf72077b9aef2cb842e.zip
Limit usage of extern to config.h globals
Prefer passing arguments to declaring external global variables. The only remaining usage of extern is for config.h variables which are needed in st.c instead of x.c (where it is now included). Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
Diffstat (limited to 'x.c')
-rw-r--r--x.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/x.c b/x.c
index 873ff08..970d6dd 100644
--- a/x.c
+++ b/x.c
@@ -227,6 +227,8 @@ static char *opt_line = NULL;
227static char *opt_name = NULL; 227static char *opt_name = NULL;
228static char *opt_title = NULL; 228static char *opt_title = NULL;
229 229
230static int oldbutton = 3; /* button event on startup: 3 = release */
231
230void 232void
231clipcopy(const Arg *dummy) 233clipcopy(const Arg *dummy)
232{ 234{
@@ -1733,8 +1735,7 @@ cmessage(XEvent *e)
1733 win.mode &= ~MODE_FOCUSED; 1735 win.mode &= ~MODE_FOCUSED;
1734 } 1736 }
1735 } else if (e->xclient.data.l[0] == xw.wmdeletewin) { 1737 } else if (e->xclient.data.l[0] == xw.wmdeletewin) {
1736 /* Send SIGHUP to shell */ 1738 ttyhangup();
1737 kill(pid, SIGHUP);
1738 exit(0); 1739 exit(0);
1739 } 1740 }
1740} 1741}
@@ -1755,6 +1756,7 @@ run(void)
1755 int w = win.w, h = win.h; 1756 int w = win.w, h = win.h;
1756 fd_set rfd; 1757 fd_set rfd;
1757 int xfd = XConnectionNumber(xw.dpy), xev, blinkset = 0, dodraw = 0; 1758 int xfd = XConnectionNumber(xw.dpy), xev, blinkset = 0, dodraw = 0;
1759 int ttyfd;
1758 struct timespec drawtimeout, *tv = NULL, now, last, lastblink; 1760 struct timespec drawtimeout, *tv = NULL, now, last, lastblink;
1759 long deltatime; 1761 long deltatime;
1760 1762
@@ -1774,7 +1776,7 @@ run(void)
1774 } 1776 }
1775 } while (ev.type != MapNotify); 1777 } while (ev.type != MapNotify);
1776 1778
1777 ttynew(opt_line, opt_io, opt_cmd); 1779 ttyfd = ttynew(opt_line, shell, opt_io, opt_cmd);
1778 cresize(w, h); 1780 cresize(w, h);
1779 1781
1780 clock_gettime(CLOCK_MONOTONIC, &last); 1782 clock_gettime(CLOCK_MONOTONIC, &last);
@@ -1782,15 +1784,15 @@ run(void)
1782 1784
1783 for (xev = actionfps;;) { 1785 for (xev = actionfps;;) {
1784 FD_ZERO(&rfd); 1786 FD_ZERO(&rfd);
1785 FD_SET(cmdfd, &rfd); 1787 FD_SET(ttyfd, &rfd);
1786 FD_SET(xfd, &rfd); 1788 FD_SET(xfd, &rfd);
1787 1789
1788 if (pselect(MAX(xfd, cmdfd)+1, &rfd, NULL, NULL, tv, NULL) < 0) { 1790 if (pselect(MAX(xfd, ttyfd)+1, &rfd, NULL, NULL, tv, NULL) < 0) {
1789 if (errno == EINTR) 1791 if (errno == EINTR)
1790 continue; 1792 continue;
1791 die("select failed: %s\n", strerror(errno)); 1793 die("select failed: %s\n", strerror(errno));
1792 } 1794 }
1793 if (FD_ISSET(cmdfd, &rfd)) { 1795 if (FD_ISSET(ttyfd, &rfd)) {
1794 ttyread(); 1796 ttyread();
1795 if (blinktimeout) { 1797 if (blinktimeout) {
1796 blinkset = tattrset(ATTR_BLINK); 1798 blinkset = tattrset(ATTR_BLINK);
@@ -1834,7 +1836,7 @@ run(void)
1834 1836
1835 if (xev && !FD_ISSET(xfd, &rfd)) 1837 if (xev && !FD_ISSET(xfd, &rfd))
1836 xev--; 1838 xev--;
1837 if (!FD_ISSET(cmdfd, &rfd) && !FD_ISSET(xfd, &rfd)) { 1839 if (!FD_ISSET(ttyfd, &rfd) && !FD_ISSET(xfd, &rfd)) {
1838 if (blinkset) { 1840 if (blinkset) {
1839 if (TIMEDIFF(now, lastblink) \ 1841 if (TIMEDIFF(now, lastblink) \
1840 > blinktimeout) { 1842 > blinktimeout) {