SFML community forums

Help => General => Topic started by: vEjEsE on July 06, 2014, 03:15:38 pm

Title: Build custom GUI for basic Linux
Post by: vEjEsE on July 06, 2014, 03:15:38 pm
I'm wondering if I could use SFML to build a GUI for Linux (let's say Ubuntu Server, or any Ubuntu without it's default graphic interface), to build a custom desktop interface.

If it's possible, what are the actual steps require to do this?
Title: Re: Build custom GUI for basic Linux
Post by: Ixrec on July 06, 2014, 03:18:13 pm
Have you looked at SFGUI? http://sfgui.sfml-dev.de/
Title: Re: Build custom GUI for basic Linux
Post by: vEjEsE on July 06, 2014, 03:27:45 pm
I know of it. I don't understand, though. How can I use SFGUI in a command-only Linux install?
Title: Re: Build custom GUI for basic Linux
Post by: Ixrec on July 06, 2014, 03:30:50 pm
Are you asking how to build a window manager like KDE or Gnome that sits directly on top of the kernel?
Title: Re: Build custom GUI for basic Linux
Post by: vEjEsE on July 06, 2014, 03:37:12 pm
Not an entire window manager. Use an existing one to build a custom GUI, and I thought SFML could work with this.

For example, could I use SFML on X-server to create the GUI?
Title: Re: Build custom GUI for basic Linux
Post by: Ixrec on July 06, 2014, 05:15:07 pm
Quote
Use an existing [window manager] to build a custom GUI

That sounds to me like either using a library like SFGUI, or creating a "theme" for KDE or Gnome or whatever.  Are themes what you're after? (http://kde-look.org/index.php?xsortmode=new&logpage=0&xcontentmode=8x9x10x11x12x13x14x15x16&page=1)

If not you should probably write out a far more detailed description of what you want so we can figure out if there's anything SFML can do.  As you can see, "build a GUI" is just too ambiguous.
Title: Re: Build custom GUI for basic Linux
Post by: Jesper Juhl on July 06, 2014, 05:24:08 pm
I personaly interpreted the question as "can I use SFML on top of a plain frame buffer console?" To which the answer would be no. SFML requires OpenGL, so as far as I know you need at least X running, but you probably don't need gnome, KDE or a similar Desktop Environment on top. I don't see why you should not be able to run a SFML program as the only program on the root window. Should be as simple as having xinit launch your app instead of a window manager/desktop env.  But, I have not actually tried it.
Title: Re: Build custom GUI for basic Linux
Post by: vEjEsE on July 06, 2014, 06:07:51 pm
SFML requires OpenGL, so as far as I know you need at least X running, but you probably don't need gnome, KDE or a similar Desktop Environment on top.
This is what I wanted to ask. If I could run SFML on a plain Linux install which has also X installed on it, and create a GUI thru SFML. In which case even SFGUI would be usable.

I don't see why you should not be able to run a SFML program as the only program on the root window. Should be as simple as having xinit launch your app instead of a window manager/desktop env.
Any idea where I could find out how "having xinit launch my app instead of..." ?
Title: Re: Build custom GUI for basic Linux
Post by: Jesper Juhl on July 06, 2014, 06:24:20 pm
Any idea where I could find out how "having xinit launch my app instead of..." ?

https://wiki.archlinux.org/index.php/xinitrc
http://cf.ccmr.cornell.edu/cgi-bin/w3mman2html.cgi?xinit(1) (http://cf.ccmr.cornell.edu/cgi-bin/w3mman2html.cgi?xinit(1)) (or just "man xinit" and/or "man xinitrc" on your own system ;) )

Find more through Google :)
Title: Re: Build custom GUI for basic Linux
Post by: vEjEsE on July 06, 2014, 06:46:15 pm
I just managed to get X11 and a SFML basic render window to work on Ubuntu server. Seems like a promising start :D

Thank you guys!

One thing.
X11 seems like it provides windows which have the general layout (the 3 controll buttons - minimize, close) and title. Am I able to create something totally different? Running a base full screen SFML window in which to create a GUI?
Title: Re: Build custom GUI for basic Linux
Post by: Strelok on July 06, 2014, 08:25:35 pm
 http://www.sfml-dev.org/documentation/2.1/classsf_1_1RenderWindow.php#aebef983e01f677bf5a66cefc4d547647 (http://www.sfml-dev.org/documentation/2.1/classsf_1_1RenderWindow.php#aebef983e01f677bf5a66cefc4d547647) Always read docs