Comments (4)
hey :)
If the focus patch is applied (which is the case in this repository), the transparency values are configured via the following two variables (which you can find in the config.h
):
/* bg opacity */
float alpha = 0.8, alphaUnfocused = 0.6;
By default the transparency for the unfocused window is higher than the one for the focused window, but you can change that by finding a lower value for float alpha
.
If I temporarily change my configuration to the following:
float alpha = 0.1, alphaUnfocused = 1.0;
and rebuild, I receive a terminal with high transparency if focused, and no transparency otherwise.
The process for changing the values is as follows:
- change
config.h
(not config.def.h, that is just used for generating a new config.h from scratch - make
- ./st
from st.
Well that is not my issue. my issue is that whenever i spawn a st terminal with this patch, it will have no transparency at all on that window until i change the focus. the right transparency will be applied if i for example switch focus. picture 0 shows two ST terminals, the rightmost being just spawned and therefore has no transparency at all (the bug that i'm facing), picture 1 shows the same two windows, only i switched the focus twice and therefore it works as intended. I just tested this on stock ST (which i should have done from the beginning) and the same problem occurs there.
i only edit config.def.h because i add patches sometimes, and yes i always remember to remove config.h
from st.
ok weird, I am currently using an older version of the terminal, but ran the patch on v 0.9 of st:
Author: Hiltjo Posthuma <[email protected]>
Date: Tue Oct 4 19:40:30 2022 +0200
bump version to 0.9
with this patch, which should be the same one you're using: Build process:
New terminal without switching focus:
So that seems to work for me.
Tests you can perform to track down the problem
1. Add debug info
I inserted two lines (the ones with the unusual indentation) into the xloadalpha function to debug this temporarily (without the leading '+', I just copied from the diff):
+xloadalpha(void)
+{
+ xloadcolor(focused ?bg :bgUnfocused, NULL, &dc.col[defaultbg]);
+ float const usedAlpha = focused ? alpha : alphaUnfocused;
+ fprintf(stdout, "x load alpha: %f\n", usedAlpha);
+ fflush(stdout);
+ if (opt_alpha) alpha = strtof(opt_alpha, NULL);
+ dc.col[defaultbg].color.alpha = (unsigned short)(0xffff * usedAlpha);
+ dc.col[defaultbg].pixel &= 0x00FFFFFF;
+ dc.col[defaultbg].pixel |= (unsigned char)(0xff * usedAlpha) << 24;
+}
try doing the same and post the output here.
My output on start is the following:
x load alpha: 0.600000
x load alpha: 0.500000
(apparently it spawns unfocus and then gains focus; current settings for the test is focus 0.5, no focus 0.6) and when I switch focus from the terminal a new line appears, which reflects what I am seeing on my system.
2. Compare with behavior of the alpha patch
If you're investigating this issue on your machine if you are facing the same problem with the OG alpha patch (the one that does not react to focus changes).
3. Diff to 68d1ad9
Attach the diff of your code after applying only st-focus to the commit 68d1ad9 of st, so I can compare that to the diff I receive after patching.
Which compositor & WM are you using?
I am not sure if I can help you with the problem as I cannot replicate this; if you find a solution contributions are welcome!
from st.
1:
by default, the function does not look exactly as you showed
here's how i changed it
3rd image is after patching the debugging st focus diff patch in a stock st
retrying but with the added top line:
this time it did patch as expected
when i run st i get these errors, i'm a bit of a newb so i don't know how to fix them, i did look up the errors and found: https://www.reddit.com/r/suckless/comments/msy0sp/question_erresc_on_st/ but i don't know if that was even helpful (maybe i'm missing something?).
and yes, my issue still stands, only that i found if i spawn specifically 4 shells in a row, quite quickly but not too quickly, the last spawned window will be transparent as it should be (weird, lol).
note: i always use make clean install as when i did make, it did not overwrite my existing st patch (i'm using all stock to be as scientific and thorough as possible) and also because i'm a newb when it comes to make so i just use what has worked in the past lol, and make clean install never has any problems with me.
2:
I patched the alpha patch.
compiling went smoothly.
meanwhile i found that both nano (ik ik, i should learn vim or emacs at this point lol) and links (browser) on the st terminals using my main config that i haven't closed yet, have this bronze looking transparency for some reason, idk, just thought i'd share it. might have something to do with pywal:
first compiling with the alpha patch had no transparency, does not change with focus or anything, let's see if there is something in the config file for transparency:
nope, it is at 0.8, which means that windows by default does not spawn with transparency. also spawning 4 windows in quick succession like i did did not give the last window transparency.
3: i don't know what that means, sorry
i'm using xcompmgr, i can change that, i might test that after sending this, as i don't want to lose all of what i have written here (including the images, maybe the links persist, not gonna gamble on that). and i'm using DWM with no major modifications, only fullgaps patch.
some other potentially useful stuff (probably not), i use artix openrc (changed it from dinit with a script after install) and here is the fastfetch:
it is in the same window that i had nano open in and it still has that bronze tint, whatever lol.
(don't worry about the ram, it's just my browser lol, i have too many tabs open)
EDIT: i did killall xcompmgr, i thought it would have killed the xinit thing as it usually does whenever i kill anything in .xinitrc, so i just ran picom and the same issue applies there.
please say if you want me to test any other compositor.
from st.
Related Issues (20)
- VIM: Motion Combination: i{w, {, ...} (e.g. 'Viw', 'yi{')
- VIM: special search mode prompting amount of occurrences.
- Focus background
- VIM: underlined text gets highlighted HOT 1
- [Vim Browse] Add i as [Esc] exit
- [st] Fix image preview HOT 3
- Code cleanup HOT 1
- Test & Release
- Vim: Feature: Color coded command / mode
- alphaFocusHighlight patches appear to be broken against st master HOT 7
- VIM: Regular expression search mode
- crash on xrdb-merge
- Option to Change All of Highlight Coloring HOT 2
- Vim-browse patch: Moving through history while a program prints to the screen HOT 4
- background flickering issue on st v0.8.4 while using the keyboard to focus (intermittently on previous versions, including 0.8.3) HOT 3
- printf is broken HOT 1
- Alpha Focus Highlight not patching against st-0.9 HOT 7
- VIM: non-circular search
- VIM: Page up + down HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from st.