From 7741b8b3991e5acc21c3e3e5e17dab3503bed3a9 Mon Sep 17 00:00:00 2001 From: dox Date: Thu, 21 Jul 2022 15:45:33 -0400 Subject: [PATCH] remove color emoji check --- FUNDING.yml | 2 + LICENSE | 0 Makefile | 0 PKGBUILD | 0 README.md | 99 ++++++++++++++++++++++++++++++++++++++ Xdefaults | 128 +++++++++++++++++++++++++++++++++++++++++++++++++ arg.h | 0 boxdraw.c | 0 boxdraw_data.h | 0 config.h | 0 config.mk | 0 hb.c | 0 hb.h | 0 st.1 | 0 st.c | 0 st.h | 0 st.info | 0 win.h | 0 x.c | 0 19 files changed, 229 insertions(+) create mode 100755 FUNDING.yml mode change 100644 => 100755 LICENSE mode change 100644 => 100755 Makefile mode change 100644 => 100755 PKGBUILD create mode 100755 README.md create mode 100755 Xdefaults mode change 100644 => 100755 arg.h mode change 100644 => 100755 boxdraw.c mode change 100644 => 100755 boxdraw_data.h mode change 100644 => 100755 config.h mode change 100644 => 100755 config.mk mode change 100644 => 100755 hb.c mode change 100644 => 100755 hb.h mode change 100644 => 100755 st.1 mode change 100644 => 100755 st.c mode change 100644 => 100755 st.h mode change 100644 => 100755 st.info mode change 100644 => 100755 win.h mode change 100644 => 100755 x.c diff --git a/FUNDING.yml b/FUNDING.yml new file mode 100755 index 0000000..c7c9a22 --- /dev/null +++ b/FUNDING.yml @@ -0,0 +1,2 @@ +custom: ["https://lukesmith.xyz/donate.html"] +github: lukesmithxyz diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/Makefile b/Makefile old mode 100644 new mode 100755 diff --git a/PKGBUILD b/PKGBUILD old mode 100644 new mode 100755 diff --git a/README.md b/README.md new file mode 100755 index 0000000..c410e4b --- /dev/null +++ b/README.md @@ -0,0 +1,99 @@ +# Luke's build of st - the simple (suckless) terminal + +The [suckless terminal (st)](https://st.suckless.org/) with some additional +features that make it literally the best terminal emulator ever: + +## Unique features (using dmenu) + ++ **follow urls** by pressing `alt-l` ++ **copy urls** in the same way with `alt-y` ++ **copy the output of commands** with `alt-o` + +## Bindings for + ++ **scrollback** with `alt-↑/↓` or `alt-pageup/down` or `shift` while scrolling the + mouse. ++ OR **vim-bindings**: scroll up/down in history with `alt-k` and `alt-j`. + Faster with `alt-u`/`alt-d`. ++ **zoom/change font size**: same bindings as above, but holding down shift as + well. `alt-home` returns to default ++ **copy text** with `alt-c`, **paste** is `alt-v` or `shift-insert` + +## Pretty stuff + ++ Compatibility with `Xresources` and `pywal` for dynamic colors. ++ Default [gruvbox](https://github.com/morhetz/gruvbox) colors otherwise. ++ Transparency/alpha, which is also adjustable from your `Xresources`. ++ Default font is system "mono" at 14pt, meaning the font will match your + system font. + +## Other st patches + ++ Boxdraw ++ Ligatures ++ font2 ++ updated to latest version 0.8.4 + +## Installation for newbs + +You should have xlib header files and libharfbuzz build files installed. + +``` +git clone https://github.com/LukeSmithxyz/st +cd st +sudo make install +``` + +Obviously, `make` is required to build. `fontconfig` is required for the +default build, since it asks `fontconfig` for your system monospace font. It +might be obvious, but `libX11` and `libXft` are required as well. Chances are, +you have all of this installed already. + +On OpenBSD, be sure to edit `config.mk` first and remove `-lrt` from the +`$LIBS` before compiling. + +Be sure to have a composite manager (`xcompmgr`, `picom`, etc.) running if you +want transparency. + +## How to configure dynamically with Xresources + +For many key variables, this build of `st` will look for X settings set in +either `~/.Xdefaults` or `~/.Xresources`. You must run `xrdb` on one of these +files to load the settings. + +For example, you can define your desired fonts, transparency or colors: + +``` +*.font: Liberation Mono:pixelsize=12:antialias=true:autohint=true; +*.alpha: 0.9 +*.color0: #111 +... +``` + +The `alpha` value (for transparency) goes from `0` (transparent) to `1` +(opaque). There is an example `Xdefaults` file in this respository. + +### Colors + +To be clear about the color settings: + +- This build will use gruvbox colors by default and as a fallback. +- If there are Xresources colors defined, those will take priority. +- But if `wal` has run in your session, its colors will take priority. + +Note that when you run `wal`, it will negate the transparency of existing windows, but new windows will continue with the previously defined transparency. + +## Notes on Emojis and Special Characters + +If st crashes when viewing emojis, install +[libxft-bgra](https://aur.archlinux.org/packages/libxft-bgra/) from the AUR. + +Note that some special characters may appear truncated if too wide. You might +want to manually set your prefered emoji/special character font to a lower size +in the `config.h` file to avoid this. By default, JoyPixels is used at a +smaller size than the usual text. + +## Contact + +- Luke Smith +- [https://lukesmith.xyz](https://lukesmith.xyz) diff --git a/Xdefaults b/Xdefaults new file mode 100755 index 0000000..040c772 --- /dev/null +++ b/Xdefaults @@ -0,0 +1,128 @@ +!! Transparency (0-1): +st.alpha: 0.92 +st.alphaOffset: 0.3 + +!! Set a default font and font size as below: +st.font: Monospace-11; + +! st.termname: st-256color +! st.borderpx: 2 + +!! Set the background, foreground and cursor colors as below: + +!! gruvbox: +*.color0: #1d2021 +*.color1: #cc241d +*.color2: #98971a +*.color3: #d79921 +*.color4: #458588 +*.color5: #b16286 +*.color6: #689d6a +*.color7: #a89984 +*.color8: #928374 +*.color9: #fb4934 +*.color10: #b8bb26 +*.color11: #fabd2f +*.color12: #83a598 +*.color13: #d3869b +*.color14: #8ec07c +*.color15: #ebdbb2 +*.background: #282828 +*.foreground: white +*.cursorColor: white + +/* /1* !! gruvbox light: *1/ */ +/* *.color0: #fbf1c7 */ +/* *.color1: #cc241d */ +/* *.color2: #98971a */ +/* *.color3: #d79921 */ +/* *.color4: #458588 */ +/* *.color5: #b16286 */ +/* *.color6: #689d6a */ +/* *.color7: #7c6f64 */ +/* *.color8: #928374 */ +/* *.color9: #9d0006 */ +/* *.color10: #79740e */ +/* *.color11: #b57614 */ +/* *.color12: #076678 */ +/* *.color13: #8f3f71 */ +/* *.color14: #427b58 */ +/* *.color15: #3c3836 */ +/* *.background: #fbf1c7 */ +/* *.foreground: #282828 */ +/* *.cursorColor: #282828 */ + +/* !! brogrammer: */ +/* *.foreground: #d6dbe5 */ +/* *.background: #131313 */ +/* *.color0: #1f1f1f */ +/* *.color8: #d6dbe5 */ +/* *.color1: #f81118 */ +/* *.color9: #de352e */ +/* *.color2: #2dc55e */ +/* *.color10: #1dd361 */ +/* *.color3: #ecba0f */ +/* *.color11: #f3bd09 */ +/* *.color4: #2a84d2 */ +/* *.color12: #1081d6 */ +/* *.color5: #4e5ab7 */ +/* *.color13: #5350b9 */ +/* *.color6: #1081d6 */ +/* *.color14: #0f7ddb */ +/* *.color7: #d6dbe5 */ +/* *.color15: #ffffff */ +/* *.colorBD: #d6dbe5 */ + +/* ! base16 */ +/* *.color0: #181818 */ +/* *.color1: #ab4642 */ +/* *.color2: #a1b56c */ +/* *.color3: #f7ca88 */ +/* *.color4: #7cafc2 */ +/* *.color5: #ba8baf */ +/* *.color6: #86c1b9 */ +/* *.color7: #d8d8d8 */ +/* *.color8: #585858 */ +/* *.color9: #ab4642 */ +/* *.color10: #a1b56c */ +/* *.color11: #f7ca88 */ +/* *.color12: #7cafc2 */ +/* *.color13: #ba8baf */ +/* *.color14: #86c1b9 */ +/* *.color15: #f8f8f8 */ + +/* !! solarized */ +/* *.color0: #073642 */ +/* *.color1: #dc322f */ +/* *.color2: #859900 */ +/* *.color3: #b58900 */ +/* *.color4: #268bd2 */ +/* *.color5: #d33682 */ +/* *.color6: #2aa198 */ +/* *.color7: #eee8d5 */ +/* *.color9: #cb4b16 */ +/* *.color8: #fdf6e3 */ +/* *.color10: #586e75 */ +/* *.color11: #657b83 */ +/* *.color12: #839496 */ +/* *.color13: #6c71c4 */ +/* *.color14: #93a1a1 */ +/* *.color15: #fdf6e3 */ + +/* !! xterm */ +/* *.color0: #000000 */ +/* *.color1: #cd0000 */ +/* *.color2: #00cd00 */ +/* *.color3: #cdcd00 */ +/* *.color4: #0000cd */ +/* *.color5: #cd00cd */ +/* *.color6: #00cdcd */ +/* *.color7: #e5e5e5 */ +/* *.color8: #4d4d4d */ +/* *.color9: #ff0000 */ +/* *.color10: #00ff00 */ +/* *.color11: #ffff00 */ +/* *.color12: #0000ff */ +/* *.color13: #ff00ff */ +/* *.color14: #00ffff */ +/* *.color15: #aabac8 */ diff --git a/arg.h b/arg.h old mode 100644 new mode 100755 diff --git a/boxdraw.c b/boxdraw.c old mode 100644 new mode 100755 diff --git a/boxdraw_data.h b/boxdraw_data.h old mode 100644 new mode 100755 diff --git a/config.h b/config.h old mode 100644 new mode 100755 diff --git a/config.mk b/config.mk old mode 100644 new mode 100755 diff --git a/hb.c b/hb.c old mode 100644 new mode 100755 diff --git a/hb.h b/hb.h old mode 100644 new mode 100755 diff --git a/st.1 b/st.1 old mode 100644 new mode 100755 diff --git a/st.c b/st.c old mode 100644 new mode 100755 diff --git a/st.h b/st.h old mode 100644 new mode 100755 diff --git a/st.info b/st.info old mode 100644 new mode 100755 diff --git a/win.h b/win.h old mode 100644 new mode 100755 diff --git a/x.c b/x.c old mode 100644 new mode 100755