Im fine with that! The point you have is valid. I already added terminal to open with xinit file so adding Firefox also there is fine. It works great on my vm!
ok, made some mods, please bear with me @toromirvana
First I added these to my .xinitrc
cat .xinitrc
export XDG_SESSOIN_TYPE=“x11”
export XDG_CURRENT_DESKTOP=“bare”
dzen2 &
polybar &
exec bare
and then modded the bare.c
to have this because closing Firefox made the bare to go to tty1>
static int ignore_x_errors(Display *dpy, XErrorEvent *ee) {
return 0;
and here’s the BROWSER added to same file:
case CMD_TERM: spawn(terminal); break;
case CMD_LAUNCH: spawn(launcher); break;
case CMD_BROWSER: spawn(browser); break;
case FOCUS_NEXT: if (count[ws]) focus[ws] = (focus[ws] + 1) % count[ws]; focus_win(); break;
case FOCUS_PREV: if (count[ws]) focus[ws] = (focus[ws] + count[ws] - 1) % count[ws]; focus_win(); break;
case KILL_WIN:
then for config.h I added this:
const char* browser[]= { “firefox-bin”, NULL };
and:
{ MODKEY, XK_f, CMD_BROWSER },
and now the code is 270 lines. So not so minimal any more but if you like you can see a short video where it starts, I open Firefox and then terminal.
I finally got frame to run in a console-only Gentoo.
but
it is not compatible with bare …bare requires more X11 support than frame provides.
One can run CHasm’s own window manager , called tile , under frame , and various other CHasm applications, but not general X11 apps.
So , I am giving up on frame … that is not what I want.
I was able to compile bare.c successfully without an installed X11, by copying a small number of X11 .h files and static libraries ( like libX11.a).
I might give bare another try , when I find a suitable cutdown X11. … maybe TinyX11 from Tinycore Linux.
Frame has been interesting but not productive.