4 Commits

Author SHA1 Message Date
8878fe7e98 removed st binary 2025-11-26 03:05:28 -05:00
a100e787e2 .gitignore: updated list to remove binary 2025-11-26 03:04:10 -05:00
3fb7e4c81b Merge pull request 'added w3m patch' (#2) from w3m into master
Reviewed-on: #2
2025-11-26 08:02:18 +00:00
cbc47d179c added w3m patch 2025-11-26 03:01:37 -05:00
4 changed files with 46 additions and 1 deletions

1
.gitignore vendored
View File

@@ -1 +1,2 @@
*.o
st

42
patches/st-w3m-0.8.3.diff Normal file
View File

@@ -0,0 +1,42 @@
From 69cffc587b54b0a9cd81adb87abad8e526d5b25b Mon Sep 17 00:00:00 2001
From: "Avi Halachmi (:avih)" <avihpit@yahoo.com>
Date: Thu, 4 Jun 2020 17:35:08 +0300
Subject: [PATCH] support w3m images
w3m images are a hack which renders on top of the terminal's drawable,
which didn't work in st because when using double buffering, the front
buffer (on which w3m draws its images) is ignored, and st draws only
on the back buffer, which is then copied to the front buffer.
There's a patch to make it work at the FAQ already, but that patch
canceles double-buffering, which can have negative side effects on
some cases such as flickering.
This patch achieves the same goal but instead of canceling the double
buffer it first copies the front buffer to the back buffer.
This has the same issues as the FAQ patch in that the cursor line is
deleted at the image (because st renders always full lines), but
otherwise it's simpler and does keeps double buffering.
---
x.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/x.c b/x.c
index e5f1737..b6ae162 100644
--- a/x.c
+++ b/x.c
@@ -1594,6 +1594,8 @@ xsettitle(char *p)
int
xstartdraw(void)
{
+ if (IS_SET(MODE_VISIBLE))
+ XCopyArea(xw.dpy, xw.win, xw.buf, dc.gc, 0, 0, win.w, win.h, 0, 0);
return IS_SET(MODE_VISIBLE);
}
base-commit: 43a395ae91f7d67ce694e65edeaa7bbc720dd027
--
2.17.1

BIN
st

Binary file not shown.

2
x.c
View File

@@ -1651,6 +1651,8 @@ xsettitle(char *p)
int
xstartdraw(void)
{
if (IS_SET(MODE_VISIBLE))
XCopyArea(xw.dpy, xw.win, xw.buf, dc.gc, 0, 0, win.w, win.h, 0, 0);
return IS_SET(MODE_VISIBLE);
}