Operating system is Ubuntu MATE 23.10. I'm trying to configure transparent title bars using the Xpresent compositor. I got it working with Compiz, but would prefer the Marco built-in: Xpresent compositor. Xpresent is lighter weight, and I've been reading that Compiz will soon be phased out.
Why do I want this? My primary OS has been Windows 7 for a decade, but is becoming difficult to continue as more software becomes unsupported. So I'm considering making Ubuntu MATE my primary OS. I like the Aero interface. Xpresent can provide transparent task bar and transparent window background in the console app. The last piece that is missing is transparent title bars.
Has anyone accomplished this? I've spent many hours searching for how Xpresent is configured, to no avail; there doesn't appear to be a conf file for it, nor can I find it in dconf. So perhaps it is not configurable, and what you see is what you get.
I think, marco with xpresent will display transparent titlebars only if your GTK theme provides information about titlebar transparency, so you have to edit the theme directly (probably add an alpha channel to your theme's colors).
A more universal approach is to configure picom compositor, which comes preinstalled with Ubuntu MATE. You have 3 options in MATE Tweak, each corresponding to a certain script:
These scripts are identical, however, they are kept as separate files.
The script checks your home folder for a picom config file: ~/.config/marco-picom.conf .
Sample configuration: /usr/share/doc/picom/examples/picom.sample.conf .
So, you can provide a config file OR edit the script of your choice. You have to set frame-opacity option.
@ironfoot, thanks for the reply. I actually have worked with the picom options a little bit. I'm attaching a screen capture of picom Xrender. I haven't spent a lot of time attempting to see if I can improve this. I simply copied the supplied /usr/share/doc/picom/examples/picom.sample.conf into my home/.config directory and made the following changes:
backend = "xrender",
inactive-opacity = 0.8;
frame-opacity = 0.7;
As you can see, the results contain quite a few strange artifacts. I'm using the YaruOK theme; I see the same results with TraditionalOK. Oddly, the MATE Tweak window appears to be artifact-free; I don't know why. If I switch to Compiz, using the same theme, the display is flawless, including the transparent title bars. But of course the CPU usage is significantly higher.
Since the display with Xpresent has none of the artifacts, I'd like to see if I can somehow get transparent title bars in Xpresent. Do you happen to know where I can ask questions about the Xpresent extension?
@ironfoot, thank you for your time. By modifying marco-xrender, I see exactly what you are seeing. So the only remaining artifact is the non-transparent area of the title bar.
I'll pursue in the locations you mention to see if I can get either (1) Xpresent providing transparent title bars, or (2) picom xrender to fix the non-transparent area in the titlebar. Either solution would be acceptable to me.
No disrespect to anyone here. I believe a lot of guys will have much better technical knowledge than I have but, I have some experience with setting up Compiz since the early 2000s and there has been constant talk of getting rid of Compiz. I say keep using it if you want and wait for your system to say no... I used to be an Admin tester, installing and running Linux systems. I didn't do much with command line this or that nor did I do much coding. I changed very little in any files, preferring the graphical interface tools but, anyways that's something else.
Surely nowadays most hardware is capable of running Compiz with little drain on modern resources.
I recently upgraded to Ubuntu Mate 23.10. Now before the 'Live' upgrade my Compiz WM was working perfectly well (as it has done for many years now on numerous systems I've setup) but, after the upgrade I noticed it had lost it's settings and my 'Emerald' decorator had been reset to what I believe is a @Mate' default with completely different borders, controls, etc.
I seem to have traced this to 'picom' now being a default startup program and interfering with Compiz.
So, I have stopped picom from starting and the system flies, all the while using Compiz as the WM and Emerald as the decorator.
I like my system and will continue using Compiz till something dies. The variation of themes and adjustments to be made for individual tastes are mostly done so easily . I have tried other compositors in the past with various themes installed from others premade but, I've just not had what I wanted. Compiz gives me that. I hope you have some luck with what you are trying to achieve but, for me Compiz is the answer for the foreseeable future - unless you have an old processor or low system resources. I don't run Compiz on my 16 year old Dell for example but, it runs fine on my 10 year old Lenovo with the i% processor and 8GB RAM. I have a 2 year old Geekom minipc now as my main driver and it has ample power for something as simple as a Window Manager to run in the background. I have had absolutely no problems with Compiz for years. Don't let apparent lack of support put you off. It is your machine to run the way you want it to and looking like you want it to as well. Don't be limited by "must have the modern stuff to run smoothly" s**t. Do what you want. You can always experiment on another machine if you have one - I do and it pays dividends. I'll stop now... hope it has helped.
@Deke55 Thanks for the reply. As I mentioned in my original post in this thread, I can get all the effects I want with Compiz. The problem is that Compiz uses about 20% of the CPU to accomplish this. I'm trying to find something less resource-hungry. If I'm not able to accomplish that, then I can always fall back to Compiz.
tkn - it's been a while since I looked at this. Everything works like a dream with my system and Compiz. I really liked the video you linked to showing some of Wayfire's qualities. There was some jerkiness at the beginning of the video when the Window manager switched to the 'Cube'. Is that the video rendering/buffering or maybe just the mouse movement?
Other than that is Wayfire ready to go?
Also, I read that Wayland will depend upon application support for it to work with everything whereas Compiz does not.
Has there been work done to 'fit' an app that will handle transposing Wayland window management into apps that don't have code to use Wayland already built in. If not I can't see Wayland ever being fully effective except for restricted systems that will use apps employing Wayland.
One final question of I may???
I would love to have semi-transparent windows but I've never been successful in configuring Compiz to show this without a bit of clumsiness. I've seen the transparent windows theme options in Emerald Theme Manager but they don't work if I choose them. All other aspects of the themes appear to work but, I seem to be missing something and presume it's a Compiz setting. Any tips?
Thanks in advance.
It's been a while since I looked at this. I've been very busy with other stuff. How are things with your setup. I checked my resources being used by Compiz and can't see it using more than 2-3% of RAM. When I move the Compiz Cube nvtop reports that around 25% of GPU memory is being used but the nvtop version I have can't report on the amount of GPU memory that the Iris Xe graphics card has. The end result for me and what I do is that I don't have any trouble running anything when using Compiz...
I don't have the slightest idea, not even on what system it is running.
The best way to check how smooth it works and how far wayfire has come is to test a LIVE distro which has wayfire as compositing-windowmanager.
Try for instance this:
That is not quite the case, let's untangle that for a bit:
Compiz is a Windowmanager/Compositor
communicating the X11 protocol with xserver-xorg
(xserver-xorg is the "graphical server" here)
applications are communicating the X11 protocol with the "graphical server"
(but not directly, they use the GTK libraries to do that for them)
Wayfire is a Windowmanager/Compositor
(Wayfire itself is the "graphical server" here)
applications are communicating the waylandprotocol with Wayfire
(but not directly, they use the GTK libraries to do that for them)
Since the modern GTK libraries support the waylandprotocol alongside the X11 protocol and the applications never talk to the backend directly but always through the GTK libraries, they don't need to change.
However, parts of GNOME2 (where MATE forked from) used to circumvent the libraries and talked to Xorg directly. Those are the parts that needed changing and most of it is already done.
Yes, that app is called Xwayland.
It is a cut-down version of the Xserver and it runs on wayland.
But there will be only a handful of applications using it.
Apps using the GTK, Qt or EFL libraries won't ever have to handle the X11 nor Wayland protocol directly, they talk to their (GTK/QT/EFL) toolkit which handles the rest and that's it
No, actually not. Although I love Compiz for the piece of elegance an beauty that it is and how smooth and flawless it works, my humble demands are completely fulfilled by Marco
already
The result is that I miss out on a lot of Compiz knowledge and experience sorry.
Hi guys
No not the title bars. They work just fine. I've scouted around forums on and off (hardly ever seriously) looking too see if anyone has shown how to have transparent windows. I.e., no background to them with the adjustment of opaqueness to make them semi-transparent in order to be able to use them practically. Like the effects often seen on sci-fi movies. Like I say, Compiz has this option of a kind but it's clumsy and when I scroll through the Emerald themes I can see screenshots of themes with what looks like properly formatted transparent windows.
I will look at the Compiz settings again one day but it looks like an Emerald setting. When I go into the Emerald theme settings I can't find this option hence my thought that it is a Window manager/compositor setting.
Thanks very much for you insight and interest in my endeavors.
I tried it in an Ubuntu MATE VM under VirtualBox, and it works as described. In CompizConfig Settings Manager, under Accessibility, check "Opacity, Brightness and Saturation". Then, in the window of interest, I hold down the left Alt key and use the center scroll wheel on my mouse, and the window transparency changes dynamically. I tried it with MATE Terminal and Firefox, and it worked in both of those.
I was initially excited. Unfortunately the opacity affects the whole window which is not what I've been looking for. I want the background of a window to be transparent like in the movies. The frame and controls, active text entry, video, etc., all window content should be as normal but the actual window background colour (as in the Terminal window text box) should be transparent. Unfortunately, my skill level is not up to knowing how the Terminal text background colour can be made transparent.I just know of it as an option. I am assuming that if the Terminal can have such an environment then every window can have it...as in the movies, hahaha...
Ok, thanks for the clear example. Here's what's going on. The transparent background in the Terminal window is rendered by the terminal app (this discussion is for the MATE Terminal app.) You can adjust it by selecting, within the Terminal window, Edit - Profile Preferences. In the Editing Profile popup, click the Background tab, and use the "Shade transparent background" slider to adjust transparency. This is able to adjust only the transparency of the background, leaving the text in the Terminal fully non-transparent. This works because the Terminal app itself knows how it renders its own window.
The global transparency setting that I referenced in my last message applies to all windows, and has no knowledge of how those windows are rendered. So, the only thing it can do is to make the entire window, and all its contents, semi-transparent. Window title bars are drawn by the window manager, so transparency can be applied intelligently to title bars globally (i.e, by making only the title bar background transparent, and not the title bar text.) But the content of each window is drawn by the app running in each window. The window manager has no concept of the background and foreground of the window content; that's all determined by the running app.