Closed kimuxer closed 1 year ago
Not relevant to this but config.def.h
is the default configuration that comes with the software, your personal configuration goes into config.h
. If you make changes to config.def.h
then that is only going to create conflicts down the road.
As for why changing this setting in st doesn't work for you; have you checked that you do not define a shell in your .Xresources file?
shell: /bin/bash
If you have that and you intentionally want this to be different and st to not pick this up then you can remove the corresponding line in the resources
array:
https://github.com/bakkeby/st-flexipatch/blob/a8e2af0d923e7b6f7b19e8fa516bcd0670dfae84/config.def.h#L308
thanks for your reply
Don't worry about me messing up config.def.h
and config.h
, I'm used to editing config.def.h
instead of config.h
, and I delete config.h
before compiling every time. :)
I don't yet have a .Xresources
file, Later I will create .Xresources
,but just want to use the .Xresources
file to set the unified color matching of dwm, st, and dmenu
I'll try to remove { "shell", STRING, &shell },
have a nice day
I just tried it out and re-clone a copy
Only set static char *shell = "/bin/fish";
, other codes keep the default, there is no .Xresources file
Run st, still in bash
Then I comment out { "shell", STRING, &shell },
and compile and run again, the shell is still bash
Maybe see https://www.reddit.com/r/suckless/comments/o8s442/changing_the_priorities_of_selecting_the_shell_in/
There are apparently several layers of precedence before it uses that shell variable.
Actually, I did the same steps as him yesterday...lol But my knowledge of C language is pitiful I'll experiment with modifying the source code I remember about a few years ago, you can simply modify the config.h file to get the same effect. At that time, I saw a video saying that he used dash as the default shell, and set the fish task interactive shell in st
I remember wrong, it is to modify dwm's config.h
static const char *termcmd[] = { "st", "-e", "fish", NULL };
now it's ok
I wonder if having a SHELL
environment variable set in your .profile file will make any difference in your case.
E.g.
export SHELL=/bin/fish
I checked and for me it is determined by such an environment variable, not what I have in that shell
config or .Xresources file (which in practice just changes the value of that shell
variable).
sorry for my bad english, i don't quite understand you
I set export SHELL=/bin/fish
, but only the value of SHELL
changes to /bin/fish
, and the default shell of st is still bash
But it doesn't matter, static const char *termcmd[] = { "st", "-e", "fish", NULL };
works for me
I figured I shouldn't take your time on this little question.
I recently discovered wezterm
, and in the process of configuring it, I thought I'd probably give wezterm
a preference, with st
as a second choice.
Thanks again for your help, your project is amazing for me, I really like dwm
, but too many patches are a huge disaster for me :)
too many patches are a huge disaster for me :)
lol, it is a huge disaster for me as well.
I'll have a look at wezterm.
I have set shell in config.def.h,
static char *shell = "/bin/fish";
orstatic char *shell = "/usr/bin/fish";
orstatic char *shell = "/sbin/fish";
Delete config.h and compile the installation, But the shell is still bash after running st. Where is my setting wrong?
I don't want to use chsh to change the shell, my ly login manager seems to not support fish. If I use chsh to set fish as the default shell, ly can't log in to the desktop
list of my patches