You are not logged in.
johnraff wrote:I'm having all kinds of trouble with picom 12.5 on my qemu VM right now...
'--backend glx' just doesn't work at allHow are you starting QEMU? I think you need virtio-gpu for OpenGL to work properly.
TL:DR Thank you! virtio + opengl + 3d acceleration had to be enabled.
Now picom with glx (or xrender for that matter) seem to be working perfectly.
To answer your question, I start QEMU with Virt-Manager.
In all things tech I work on a "need to know" basis because the ocean of possible stuff to study up on is just too enormous, and I want to focus on things I enjoy. V-M (with libvirt at times) has served my needs very well so far, though I'm aware some people hate it. Maybe it has improved over the years, or maybe my needs are modest - testing future BL setups is the vast bulk of it.
Another aspect is that it's good to have solutions available for new users that won't get them tangled up in code from the beginning. (That will come later.) And good to be able to offer an easy substitute for Virtualbox or VMware.
Anyway, for anyone using virt-manager - and my own future reference - I had to change these settings:
*) Video: change from QXL to virtio. (I forget now whether QXL is the v-m default, or I had some reason to set it in the past.)
*) In Video, check "3D acceleration" (it's needed for opengl).
*) Display Spice: check "OpenGL". (That will prompt about 3D acceleration if it's not set in Video.)
*) In Display Spice, set "Listen type" to "None". (That was prompted too.)
That's all.
Spice-vdagent is still working so the pointer transition over the VM window border is smooth, drag and drop into the client and shared clipboard are all still working.
Thanks again for pointing me in the right direction!
The command line that virt-manager puts together is huge, and because it's all on one line it's very difficult to grep anything out of it, but in case you're curious:
john@boron:~$ pgrep -af qemu-system-x86_64
10313 /usr/bin/qemu-system-x86_64 -name guest=debiantesting,debug-threads=on -S -object {"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain-3-debiantesting/master-key.aes"} -machine pc-q35-7.2,usb=off,vmport=off,dump-guest-core=off,memory-backend=pc.ram -accel kvm -cpu Haswell-noTSX-IBRS,ibpb=on,md-clear=on,spec-ctrl=on,ssbd=on -m 4096 -object {"qom-type":"memory-backend-ram","id":"pc.ram","size":4294967296} -overcommit mem-lock=off -smp 2,sockets=2,cores=1,threads=1 -uuid d4ac0dba-127d-43b0-a620-9a50b8e92eed -no-user-config -nodefaults -chardev socket,id=charmonitor,fd=34,server=on,wait=off -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=delay -no-hpet -no-shutdown -global ICH9-LPC.disable_s3=1 -global ICH9-LPC.disable_s4=1 -boot strict=on -device {"driver":"pcie-root-port","port":16,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x2"} -device {"driver":"pcie-root-port","port":17,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x2.0x1"} -device {"driver":"pcie-root-port","port":18,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x2.0x2"} -device {"driver":"pcie-root-port","port":19,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x2.0x3"} -device {"driver":"pcie-root-port","port":20,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x2.0x4"} -device {"driver":"pcie-root-port","port":21,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x2.0x5"} -device {"driver":"pcie-root-port","port":22,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x2.0x6"} -device {"driver":"pcie-root-port","port":23,"chassis":8,"id":"pci.8","bus":"pcie.0","addr":"0x2.0x7"} -device {"driver":"pcie-pci-bridge","id":"pci.9","bus":"pci.7","addr":"0x0"} -device {"driver":"qemu-xhci","p2":15,"p3":15,"id":"usb","bus":"pci.2","addr":"0x0"} -device {"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.3","addr":"0x0"} -blockdev {"driver":"file","filename":"/bulk/john/qemu/debian12tester.qcow2","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"} -blockdev {"node-name":"libvirt-2-format","read-only":false,"driver":"qcow2","file":"libvirt-2-storage","backing":null} -device {"driver":"virtio-blk-pci","bus":"pci.4","addr":"0x0","drive":"libvirt-2-format","id":"virtio-disk0","bootindex":2} -device {"driver":"ide-cd","bus":"ide.0","id":"sata0-0-0","bootindex":1} -netdev {"type":"tap","fd":"35","vhost":true,"vhostfd":"37","id":"hostnet0"} -device {"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"************","bus":"pci.1","addr":"0x0"} -chardev pty,id=charserial0 -device {"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0} -chardev socket,id=charchannel0,fd=33,server=on,wait=off -device {"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"} -chardev spicevmc,id=charchannel1,name=vdagent -device {"driver":"virtserialport","bus":"virtio-serial0.0","nr":2,"chardev":"charchannel1","id":"channel1","name":"com.redhat.spice.0"} -device {"driver":"usb-tablet","id":"input0","bus":"usb.0","port":"1"} -audiodev {"id":"audio1","driver":"spice"} -spice port=0,disable-ticketing=on,image-compression=off,gl=on,rendernode=/dev/dri/by-path/pci-0000:00:02.0-render,seamless-migration=on -device {"driver":"virtio-vga-gl","id":"video0","max_outputs":1,"bus":"pcie.0","addr":"0x1"} -device {"driver":"ich9-intel-hda","id":"sound0","bus":"pcie.0","addr":"0x1b"} -device {"driver":"hda-duplex","id":"sound0-codec0","bus":"sound0.0","cad":0,"audiodev":"audio1"} -chardev spicevmc,id=charredir0,name=usbredir -device {"driver":"usb-redir","chardev":"charredir0","id":"redir0","bus":"usb.0","port":"2"} -chardev spicevmc,id=charredir1,name=usbredir -device {"driver":"usb-redir","chardev":"charredir1","id":"redir1","bus":"usb.0","port":"3"} -device {"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.5","addr":"0x0"} -object {"qom-type":"rng-random","id":"objrng0","filename":"/dev/urandom"} -device {"driver":"virtio-rng-pci","rng":"objrng0","id":"rng0","bus":"pci.6","addr":"0x0"} -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny -msg timestamp=on
PS The virtual machine seems a little bit slower with the above settings than it was with QXL. That's not a problem for testing new Carbon themes etc, but people who need every bit of speed might want to consider dropping picom and using QXL instead of Virtio. Try and compare anyway.
Last edited by johnraff (2025-02-24 04:10:12)
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
bunsen-Yaru-sage theme...
Quick hack for getting this theme and bunsen-Yaru-bark, assuming you have the icons and both themes already installed, this if for *-bark...
1) From /usr/share/themes/, move or copy bunsen-Yaru-bark and bunsen-Yaru-sage to ~/.local/share/themes
2) In the ~/.local/share/themes folder, copy the /usr/share/themes/bunsen-Yaru-bark-dark/openbox-3 and xfce-notify-4.0 folders to the local copy of bunsen-Yaru-bark, and again to bunsen-Yaru-sage.
3) For bark, replace /openbox-3/themerc with the following...
# Name: Oomox (Numix fork) Openbox theme
# Author: Satyajit Sahoo <satyajit.happy@gmail.com>
# License: GPL-3.0+
# @TODO: finish replacing the colors here
# Menu
menu.border.color: #3a3a3a
menu.border.width: 0
menu.title.bg: Solid Flat
menu.title.bg.color: #3a3a3a
menu.title.bg.shadow: 0
menu.title.text.color: #f7f7f7
menu.title.text.justify: Center
menu.items.bg: Solid Flat
menu.items.bg.color: #222222
menu.items.text.color: #f7f7f7
menu.items.disabled.text.color: #818181
menu.items.active.bg: Solid Flat
menu.items.active.bg.color: #787859
menu.items.active.text.color: #f7f7f7
menu.separator.color: #818181
menu.separator.width: 1
menu.separator.padding.width: 2
menu.separator.padding.height: 4
# Window focused
window.active.title.separator.color: #222222
# Active window
window.active.border.color: #222222
window.active.title.bg: flat solid
window.active.title.bg.color: #222222
window.active.title.separator.color: #222222
window.active.text.justify: center
window.active.label.bg: parentrelative
window.active.label.text.color: #f7f7f7
window.active.handle.bg: flat solid
window.active.handle.bg.color: #222222
window.active.grip.bg: flat solid
window.active.grip.bg.color: #222222
window.active.button.unpressed.bg: flat solid
window.active.button.unpressed.bg.color: #222222
window.active.button.unpressed.image.color: #f7f7f7
window.active.button.pressed.bg: flat solid
window.active.button.pressed.bg.color: #787859
window.active.button.pressed.image.color: #ffffff
window.active.button.disabled.bg: flat solid
window.active.button.disabled.bg.color: #222222
window.active.button.disabled.image.color: #818181
window.active.button.hover.bg: flat solid
window.active.button.hover.bg.color: #222222
window.active.button.hover.image.color: #787859
#window.active.button.toggled.bg: #787859
#window.active.button.toggled.image.color: #ffffff
# Inactive window
window.inactive.border.color: #2c2c2c
window.inactive.title.bg: flat solid
window.inactive.title.bg.color: #222222
window.inactive.title.separator.color: #222222
window.inactive.text.justify: center
window.inactive.label.bg: parentrelative
window.inactive.label.text.color: #818181
window.inactive.handle.bg: flat solid
window.inactive.handle.bg.color: #222222
window.inactive.grip.bg: flat solid
window.inactive.grip.bg.color: #222222
window.inactive.button.unpressed.bg: flat solid
window.inactive.button.unpressed.bg.color: #222222
window.inactive.button.unpressed.image.color: #818181
window.inactive.button.pressed.bg: flat solid
window.inactive.button.pressed.bg.color: #787859
window.inactive.button.pressed.image.color: #ffffff
window.inactive.button.disabled.bg: flat solid
window.inactive.button.disabled.bg.color: #818181
window.inactive.button.disabled.image.color: #222222
window.inactive.button.hover.bg: flat solid
window.inactive.button.hover.bg.color: #222222
window.inactive.button.hover.image.color: #787859
# OSD
osd.border.width: 2
osd.border.color: #222222
osd.bg: flat solid
osd.bg.color: #222222
osd.label.bg: flat solid
osd.label.bg.color: #787859
osd.label.text.color: #ffffff
osd.bg.shadow: 0
osd.hilight.bg: Solid Flat
osd.hilight.bg.color: #787859
osd.unhilight.bg: flat solid
osd.unhilight.bg.color: #2c2c2c
osd.button.unpressed.bg: flat border
osd.button.unpressed.bg.color: #373737
#osd.button.unpressed.*.border.color: #f7f7f7
osd.button.pressed.bg: flat border
osd.button.pressed.bg.color: #86AAB3
#osd.button.pressed.*.border.color: #86AAB3
osd.button.focused.bg: flat solid border
osd.button.focused.bg.color: #454545
#osd.button.focused.*.border.color: #2c2c2c
osd.button.focused.box.color: #787859
# Fonts
window.active.label.text.font:shadow=n
window.inactive.label.text.font:shadow=n
menu.items.font:shadow=n
menu.title.text.font:shadow=n
# Everything else
border.width: 6
padding.width: 8
padding.height: 3
window.handle.width: 0
window.client.padding.width: 0
window.label.text.justify: center
#menu.overlap: 0
Replace /xfce-notify-4.0/gtk.css with the following...
#XfceNotifyWindow {
background-color: #373737;
border-radius: 1px;
border: 6px solid #373737;
padding: 20px;
}
#XfceNotifyWindow:hover {
background-color: shade(#373737, 1.15);
border: 6px solid #373737;
}
#XfceNotifyWindow label,
#XfceNotifyWindow image {
color: #f7f7f7;
}
#XfceNotifyWindow label#summary {
font-weight: Bold;
}
#XfceNotifyWindow button {
font-weight: Bold;
border: 1px solid shade(#373737, .80);
box-shadow: none;
background-image: none;
background-color: shade(#373737, .95);
color: #e8e8e8;
}
#XfceNotifyWindow button:hover {
box-shadow: none;
background-image: none;
background-color: shade(#222222, .85);
color: #ffffff;
}
#XfceNotifyWindow progressbar {
border: 0px solid shade(#ff0000, 1.0);
border-radius: 0px;
}
#XfceNotifyWindow progressbar progress {
background-image: none;
background-color: #787859;
border: 0px solid shade(#787859, 1.0);
border-radius: 0px;
}
#XfceNotifyWindow progressbar trough {
background-image: linear-gradient(to bottom,
shade(#f7f7f7, 1.0),
shade(#f7f7f7, 1.0)
);
border: 0px solid shade(#ffff00, 1.0);
border-radius: 0px;
}
Continued in next post.
No, he can't sleep on the floor. What do you think I'm yelling for?!!!
Offline
Continued...
For sage, replace /openbox-3/themerc with...
# Name: Oomox (Numix fork) Openbox theme
# Author: Satyajit Sahoo <satyajit.happy@gmail.com>
# License: GPL-3.0+
# @TODO: finish replacing the colors here
# Menu
menu.border.color: #3a3a3a
menu.border.width: 0
menu.title.bg: Solid Flat
menu.title.bg.color: #fafafa
menu.title.bg.shadow: 0
menu.title.text.color: #404040
menu.title.text.justify: Center
menu.items.bg: Solid Flat
menu.items.bg.color: #E3E3E3
menu.items.text.color: #404040
menu.items.disabled.text.color: #818181
menu.items.active.bg: Solid Flat
menu.items.active.bg.color: #657B69
menu.items.active.text.color: #fafafa
menu.separator.color: #818181
menu.separator.width: 1
menu.separator.padding.width: 2
menu.separator.padding.height: 4
# Window focused
window.active.title.separator.color: #E3E3E3
# Active window
window.active.border.color: #E3E3E3
window.active.title.bg: flat solid
window.active.title.bg.color: #E3E3E3
window.active.title.separator.color: #E3E3E3
window.active.text.justify: center
window.active.label.bg: parentrelative
window.active.label.text.color: #404040
window.active.handle.bg: flat solid
window.active.handle.bg.color: #E3E3E3
window.active.grip.bg: flat solid
window.active.grip.bg.color: #E3E3E3
window.active.button.unpressed.bg: flat solid
window.active.button.unpressed.bg.color: #E3E3E3
window.active.button.unpressed.image.color: #404040
window.active.button.pressed.bg: flat solid
window.active.button.pressed.bg.color: #657B69
window.active.button.pressed.image.color: #ffffff
window.active.button.disabled.bg: flat solid
window.active.button.disabled.bg.color: #E3E3E3
window.active.button.disabled.image.color: #818181
window.active.button.hover.bg: flat solid
window.active.button.hover.bg.color: #E3E3E3
window.active.button.hover.image.color: #657B69
#window.active.button.toggled.bg: #657B69
#window.active.button.toggled.image.color: #ffffff
# Inactive window
window.inactive.border.color: #dddddd
window.inactive.title.bg: flat solid
window.inactive.title.bg.color: #E3E3E3
window.inactive.title.separator.color: #E3E3E3
window.inactive.text.justify: center
window.inactive.label.bg: parentrelative
window.inactive.label.text.color: #818181
window.inactive.handle.bg: flat solid
window.inactive.handle.bg.color: #E3E3E3
window.inactive.grip.bg: flat solid
window.inactive.grip.bg.color: #E3E3E3
window.inactive.button.unpressed.bg: flat solid
window.inactive.button.unpressed.bg.color: #E3E3E3
window.inactive.button.unpressed.image.color: #818181
window.inactive.button.pressed.bg: flat solid
window.inactive.button.pressed.bg.color: #657B69
window.inactive.button.pressed.image.color: #ffffff
window.inactive.button.disabled.bg: flat solid
window.inactive.button.disabled.bg.color: #818181
window.inactive.button.disabled.image.color: #E3E3E3
window.inactive.button.hover.bg: flat solid
window.inactive.button.hover.bg.color: #E3E3E3
window.inactive.button.hover.image.color: #657B69
# OSD
osd.border.width: 2
osd.border.color: #E3E3E3
osd.bg: flat solid
osd.bg.color: #E3E3E3
osd.label.bg: flat solid
osd.label.bg.color: #657B69
osd.label.text.color: #212121
osd.bg.shadow: 0
osd.hilight.bg: Solid Flat
osd.hilight.bg.color: #657B69
osd.unhilight.bg: flat solid
osd.unhilight.bg.color: #2c2c2c
osd.button.unpressed.bg: flat border
osd.button.unpressed.bg.color: #373737
#osd.button.unpressed.*.border.color: #404040
osd.button.pressed.bg: flat border
osd.button.pressed.bg.color: #86AAB3
#osd.button.pressed.*.border.color: #86AAB3
osd.button.focused.bg: flat solid border
osd.button.focused.bg.color: #454545
#osd.button.focused.*.border.color: #2c2c2c
osd.button.focused.box.color: #657B69
# Fonts
window.active.label.text.font:shadow=n
window.inactive.label.text.font:shadow=n
menu.items.font:shadow=n
menu.title.text.font:shadow=n
# Everything else
border.width: 6
padding.width: 8
padding.height: 3
window.handle.width: 0
window.client.padding.width: 0
window.label.text.justify: center
#menu.overlap: 0
And /xfce-notify-4.0/gtk.css with...
#XfceNotifyWindow {
background-color: #E3E3E3;
border-radius: 1px;
border: 6px solid #E3E3E3;
padding: 20px;
}
#XfceNotifyWindow:hover {
background-color: shade(#E3E3E3, 1.15);
border: 6px solid #E3E3E3;
}
#XfceNotifyWindow label,
#XfceNotifyWindow image {
color: #212121;
}
#XfceNotifyWindow label#summary {
font-weight: Bold;
}
#XfceNotifyWindow button {
font-weight: Bold;
border: 1px solid shade(#E3E3E3, .80);
box-shadow: none;
background-image: none;
background-color: shade(#E3E3E3, .95);
color: #e8e8e8;
}
#XfceNotifyWindow button:hover {
box-shadow: none;
background-image: none;
background-color: shade(#222222, .85);
color: #ffffff;
}
#XfceNotifyWindow progressbar {
border: 0px solid shade(#ff0000, 1.0);
border-radius: 0px;
}
#XfceNotifyWindow progressbar progress {
background-image: none;
background-color: #657B69;
border: 0px solid shade(#657B69, 1.0);
border-radius: 0px;
}
#XfceNotifyWindow progressbar trough {
background-image: linear-gradient(to bottom,
shade(#f7f7f7, 1.0),
shade(#f7f7f7, 1.0)
);
border: 0px solid shade(#ffff00, 1.0);
border-radius: 0px;
}
I think that's right, let me know if I posted the wrong markup anywhere.
No, he can't sleep on the floor. What do you think I'm yelling for?!!!
Offline
^Thanks!
If no issues come up I'll update the packaged themes with your code and upload.
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
My xfce4-panel profiles, carbon.tar.bz2 and carbon_custom.tar.bz2 are here...
https://github.com/hhhorb/bunsen-extras
Instructions...
1) Install xfce4-panel-profiles...
sudo apt install xfce4-panel-profiles
2) Download the *.tar.bz2 files.
3) Place in ~/.local/share/xfce4-panel-profiles, or import via the xfce4-panel-profiles GUI.
4) In xfce4-panel-profiles (Main Menu>All Applications>Settings>Panel Profiles), choose "carbon" and apply (the gear icon, all the way left).
5) [optional] Install xfce4-systemload-plugin and choose "carbon_custom" in the profile manager.
My desktop is 1920x1080px, the panel will need adjustment with a different screen resolution.
No, he can't sleep on the floor. What do you think I'm yelling for?!!!
Offline
Thanks!
I've just run out of time today but I'll check these out tomorrow.
My desktop is 1920x1080px, the panel will need adjustment with a different screen resolution.
Yeh this is a major annoyance I could see coming. Unlike tint2 there doesn't seem to be any % setting for panel width. How can we ship config that will work out of the box for all our users? Will we just have to abandon margins and have the panel fill all the space?
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
^ Yes. Make the panel length 100%.
No, he can't sleep on the floor. What do you think I'm yelling for?!!!
Offline
^ Yes. Make the panel length 100%.
Perhaps not. Take a look at the config .txt:
/panels/panel-1/length 97.222222222222229
That's in percent not pixel length.
In my /home/doug/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml it's:
<property name="length" type="double" value="90"/>
for a 1728 pixel panel on a 1920x1080 display.
So the panel preferences GUI is in pixels, but the value in the config is recorded as percent.
I'm not sure how to read these position strings:
/panels/panel-1/position 'p=0;x=36;y=539'
<property name="position" type="string" value="p=12;x=1002;y=1061"/>
Figure that out and you may be able to ship with a custom file for a given % panel length centered left.
May be a question or two for the Xfce forum; the devs are active there.
You must unlearn what you have learned.
-- yoda
Offline
Toz is active on their forums (I even see them lurking over at the Arch forums) and they probably know more than some of the devs :-)
Offline
I always thought Toz was an Xfce dev.
Knows his way around xfce, that's for sure.
You must unlearn what you have learned.
-- yoda
Offline
So the panel preferences GUI is in pixels, but the value in the config is recorded as percent.
Thanks PR! So there's hope.
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
The picom config file picom.conf went through a lot of changes with the picom 12.5 upgrade, and I've reformatted the BL file to match:
https://github.com/BunsenLabs/bunsen-co … picom.conf
The only change to the actual compositing settings, compared with Boron, is that the backend is now set to glx in the user's picom.conf. The startup script /etc/bunsen/picom-startup is now completely commented-out, so it can be ignored by people on a one-user system who don't need/want a sysadmin settings file.
Of course, this is the Carbon theming thread, so please make any suggestions you have for changes to the Carbon compositing settings!
Here is a copy of the new picom.conf for reference:
## Picom user configuration file (~/.config/picom.conf)
## written for BunsenLabs Boron
## with reference to: /usr/share/doc/picom/examples/picom.sample.conf
## http://duncanlock.net/blog/2013/06/07/how-to-switch-to-compton-for-beautiful-tear-free-compositing-in-xfce/
## and https://forums.bunsenlabs.org/viewtopic.php?pid=61249#p61249
##
## Various people have contributed to this file,
## so the meaning of "I" is not well defined.
##
## In most cases 'man picom' has more information.
## See also: https://wiki.archlinux.org/title/Picom
##
## This version is based on picom.sample.conf shipped with picom 12.5
##
## NOTE any picom startup command options set eg in /etc/bunsen/picom-startup
## will take priority over settings in this file.
## For example, if '--backend xrender' is set there,
## then 'backend = "glx"' in this file will be ignored.
#################################
# Shadows #
#################################
# Enabled client-side shadows on windows. Note desktop windows
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
# unless explicitly requested using the wintypes option.
#
# Can be set per-window using rules.
#
# Default: false
shadow = true;
# The blur radius for shadows, in pixels.
#
# Default: 12
shadow-radius = 12;
# The opacity of shadows.
#
# Range: 0.0 - 1.0
# Default: 0.75
shadow-opacity = 0.45;
# The left offset for shadows, in pixels.
#
# Default: -15
shadow-offset-x = -8;
# The top offset for shadows, in pixels.
#
# Default: -15
shadow-offset-y = -8;
# Hex string color value of shadow. Formatted like "#RRGGBB", e.g. "#C0FFEE".
#
# Default: #000000
# shadow-color = "#000000"
# Crop shadow of a window fully on a particular monitor to that monitor. This is
# currently implemented using the X RandR extension.
#
# Default: false
# crop-shadow-to-monitor = false
#################################
# Fading #
#################################
# Fade windows in/out when opening/closing and when opacity changes,
# unless no-fading-openclose is used. Can be set per-window using rules.
#
# Default: false
fading = true;
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
# fade-in-step = 0.03
fade-in-step = 0.06;
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
# fade-out-step = 0.03
fade-out-step = 1.0;
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
#fade-delta = 0
# Do not fade on window open/close.
# no-fading-openclose = false
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
no-fading-destroyed-argb = true;
#################################
# Transparency / Opacity #
#################################
# Opacity of window titlebars and borders.
#
# Range: 0.1 - 1.0
# Default: 1.0 (disabled)
# frame-opacity = 0.7;
frame-opacity = 1.0;
# Use fixed inactive dim value, instead of adjusting according to window opacity.
#
# Default: false
# inactive-dim-fixed = true
#################################
# Corners #
#################################
# Sets the radius of rounded window corners. When > 0, the compositor will
# round the corners of windows. Does not interact well with
# `transparent-clipping`.
#
# Default: 0 (disabled)
corner-radius = 10;
#################################
# Blur #
#################################
# Parameters for background blurring, see BLUR section in the man page for more information.
# blur-method =
# blur-size = 12
#
# blur-deviation = false
#
# blur-strength = 5
# Blur background of semi-transparent / ARGB windows.
# Can be set per-window using rules.
#
# Default: false
# blur-background = false
# Blur background of windows when the window frame is not opaque.
# Implies:
# blur-background
#
# Default: false
# blur-background-frame = false
# Use fixed blur strength rather than adjusting according to window opacity.
#
# Default: false
# blur-background-fixed = false
# Specify the blur convolution kernel, with the following format:
# example:
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
# Can also be a pre-defined kernel, see the man page.
#
# Default: ""
#blur-kern = "3x3box";
#################################
# General Settings #
#################################
# Try to detect windows with rounded corners and don't consider them
# shaped windows. The accuracy is not very high, unfortunately.
#
# Has nothing to do with `corner-radius`.
#
# Default: false
detect-rounded-corners = true;
# Detect '_NET_WM_WINDOW_OPACITY' on client windows, useful for window managers
# not passing '_NET_WM_WINDOW_OPACITY' of client windows to frame windows.
# This prevents opacity being ignored for some apps.
# For example without this enabled my xfce4-notifyd is 100% opacity no matter what.
#
# Default: false
detect-client-opacity = true;
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
# rather than listening to 'FocusIn'/'FocusOut' event. May be more accurate,
# provided that the WM supports it. (openbox should be OK)
#
# Default: false
use-ewmh-active-win = true;
# Unredirect all windows if a full-screen opaque window is detected,
# to maximize performance for full-screen windows. Known to cause flickering
# when redirecting/unredirecting windows. (see manual)
#
# Default: false
unredir-if-possible = true;
# Delay before unredirecting the window, in milliseconds.
#
# Default: 0.
# unredir-if-possible-delay = 0
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
# in the same group focused at the same time.
#
# Default: false
detect-transient = true;
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
# group focused at the same time. This usually means windows from the same application
# will be considered focused or unfocused at the same time.
# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too.
#
# Default: false
detect-client-leader = true;
# Use of damage information for rendering. This causes only the part of the
# screen that has actually changed to be redrawn, instead of the whole screen
# every time. Should improve performance.
#
# Default: false
use-damage = true;
# Use X Sync fence to wait for the completion of rendering of other windows,
# before using their content to render the current screen.
#
# Required for explicit sync drivers, such as nvidia.
#
# Default: false
# xrender-sync-fence = false
# GLX backend: Use specified GLSL fragment shader for rendering window
# contents. Read the man page for a detailed explanation of the interface.
#
# Can be set per-window using rules.
#
# window-shader-fg = "default"
# Force all windows to be painted with blending. Useful if you
# have a `window-shader-fg` that could turn opaque pixels transparent.
#
# Default: false
# force-win-blend = false
# Do not use EWMH to detect fullscreen windows.
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
#
# Default: false
# no-ewmh-fullscreen = false
# Dimming bright windows so their brightness doesn't exceed this set value.
# Brightness of a window is estimated by averaging all pixels in the window,
# so this could comes with a performance hit.
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled.
#
# Default: 1.0 (disabled)
# max-brightness = 1.0
# Make transparent windows clip other windows like non-transparent windows do,
# instead of blending on top of them. e.g. placing a transparent window on top
# of another window will cut a "hole" in that window, and show the desktop background
# underneath.
#
# Default: false
# transparent-clipping = false
# Set the log level. Possible values are:
# "trace", "debug", "info", "warn", "error"
# in increasing level of importance. Case insensitive.
# If using the "TRACE" log level, it's better to log into a file
# using *--log-file*, since it can generate a huge stream of logs.
#
# Default: "warn"
# log-level = "warn";
# Set the log file.
# If *--log-file* is never specified, logs will be written to stderr.
# Otherwise, logs will to written to the given file, though some of the early
# logs might still be written to the stderr.
# When setting this option from the config file, it is recommended to use an absolute path.
#
# log-file = "/path/to/your/log/file"
# Show all X errors (for debugging)
# show-all-xerrors = false
# Write process ID to a file.
# write-pid-path = "/path/to/your/log/file"
#################################
#
# WINDOW RULES
#
#################################
# Rule-based per-window options.
#
# See WINDOW RULES section in the man page for how these work.
rules: ({
match =
"window_type = 'dock' || "
"window_type = 'desktop' || "
"_GTK_FRAME_EXTENTS@"
;
blur-background = false;
corner-radius = 0;
shadow = false;
}, {
match = "window_type != 'dock'";
# shader = "my_shader.frag";
}, {
match = "window_type = 'tooltip'";
fade = false;
shadow = false;
# opacity = 0.75;
full-shadow = false;
# corner-radius = 0;
}, {
match = "window_type = 'menu'";
fade = false;
# corner-radius = 0;
}, {
match =
"window_type = 'dropdown_menu' || "
"window_type = 'popup_menu'"
;
fade = false;
opacity = 1.0;
# corner-radius = 0;
}, {
match = "focused || group_focused || wmwin || override_redirect";
opacity = 1.0;
}, {
match = "!focused || !group_focused";
opacity = 0.96;
}, {
match = # exclude shadows
"! name~='' || "
# "name = 'jgmenu' || "
"name = 'Notification' || "
"name = 'wbar' || "
"name = 'Docky' || "
"name = 'Kupfer' || "
# "name = 'xfce4-notifyd' || "
"name *= 'VirtualBox' || "
"name *= 'VLC' || "
"name *= 'Chromium' || "
"name *= 'Chrome' || "
"class_g ?= 'plank' || "
"class_g ?= 'picom' || "
"class_g = 'Tint2' || "
"class_g ?= 'Conky' || "
"class_g = 'Kupfer' || "
"class_g = 'Synapse' || "
"class_g ?= 'Notify-osd' || "
"class_g ?= 'Cairo-dock' || "
"class_g ?= 'Cairo-clock' || "
# "class_g ?= 'Xfce4-notifyd' || "
"class_g ?= 'Xfce4-power-manager' || "
"_NET_WM_STATE@[*] = '_NET_WM_STATE_HIDDEN' || "
"_NET_WM_STATE@[*] = '_NET_WM_STATE_MAXIMIZED_VERT' || "
"_GTK_FRAME_EXTENTS@"
;
shadow = false;
}, {
match = # exclude rounded corners
"! name~='' || " # exclude windows with no name
# "class_g = 'tint2' || "
"class_g = 'Conky' || "
# "window_type = 'utility'"
# "class_g = 'Polybar' || "
# "class_g = 'Rofi' || "
# "class_g = 'Dunst' || "
"_NET_WM_STATE@[*] = '_NET_WM_STATE_HIDDEN' || "
# "_NET_WM_STATE@[*] = '_NET_WM_STATE_MAXIMIZED_VERT' || " # exclude maximized windows
"_GTK_FRAME_EXTENTS@"
;
corner-radius = 0;
})
# `@include` directive can be used to include additional configuration files.
# Relative paths are search either in the parent of this configuration file
# (when the configuration is loaded through a symlink, the symlink will be
# resolved first). Or in `$XDG_CONFIG_HOME/picom/include`.
#
# @include "extra.conf"
########################################################################
### "advanced" machine specific options ###
########################################################################
# It is possible to set these in /etc/bunsen/picom-startup
# where they will be applied for all users, but can also be set here.
# Any settings in /etc/bunsen/picom-startup will have priority.
#
# Some old (2017) forum threads which might be of historical interest:
# https://forums.bunsenlabs.org/viewtopic.php?id=4176
# https://forums.bunsenlabs.org/viewtopic.php?pid=61249#p61249
# https://forums.bunsenlabs.org/viewtopic.php?id=3699
#
# Two graphics test pages:
# This one is flashing green and red fast enough that it should look
# like a flickery orange colour:
# https://launchpadlibrarian.net/274755154/kenjo_vidtest_60fps.mp4
# This is a screen tearing test for vsync:
# https://www.youtube.com/watch?v=MfL_JkcEFbE
########################################################################
# Enable remote control via D-Bus. See the man page for more details.
# The D-Bus methods and signals are not yet stable, thus undocumented right now.
# Default: false
# dbus = true
# Daemonize process. Fork to background after initialization.
# Causes issues with certain (badly-written) drivers.
# In a BunsenLabs sesssion, picom is forked anyway, so this setting is not needed.
# daemon = false
# Specify the backend to use: `xrender`, `glx`, or `egl`.
#
# Default: "xrender"
backend = "glx"
# Use higher precision during rendering, and apply dither when presenting the
# rendered screen. Reduces banding artifacts, but may cause performance
# degradation. Only works with OpenGL.
#dithered-present = false
# Enable/disable VSync.
#
# Default: false
#vsync = true
# Force all windows to be painted with blending. Useful if you
# have a glx-fshader-win that could turn opaque pixels transparent.
#
# force-win-blend = true
# Use X Sync fence to sync clients' draw calls, to make sure all draw
# calls are finished before picom starts drawing. Needed on nvidia-drivers
# with GLX backend for some users.
#
# xrender-sync-fence = false
NOTE this is just a snapshot, the latest version is here: https://github.com/BunsenLabs/bunsen-co … picom.conf
Last edited by johnraff (2025-04-04 06:31:52)
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
Sorry it took me all this time to get down to this.
Re: https://forums.bunsenlabs.org/viewtopic … 40#p141540
and https://forums.bunsenlabs.org/viewtopic … 41#p141541
bunsen-Yaru-sage theme...
Quick hack for getting this theme and bunsen-Yaru-bark, assuming you have the icons and both themes already installed...---
I think that's right, let me know if I posted the wrong markup anywhere.
Sage looks nice, but I think you pasted in the "dark" themes for Bark.
I looked at the difference between your other Bark and Sage openbox themes and think the only difference is where bark uses #787859, sage uses #657B69, so I made a copy of your new sage theme and did a search and replace to make a bark theme using #787859, both openbox and notifications. The end result looks OK, and I'll do a provisional upload of that.
@hhh I know you're very busy right now, but some time later on after you've checked it over we can do any necessary tweaks and upload a final version.
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
^xfce4-panel is already there!
The loss of tint2 from Trixie pretty much forced the situation.
https://github.com/BunsenLabs/bunsen-me … 7047cccc07
Tint2 is now back in Trixie, so current users can go on using it anyway. But the end of upstream development is still a thing, and I think we should continue pushing for the switch to xfce4-panel for Carbon. Tint2 won't work on Wayland anyway, and the xfce4-panel configuration seems to be working better these days.
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
...The end result looks OK, and I'll do a provisional upload of that.
Uploaded bunsen-yaru-gtk 13.0.1-1
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
xfce4-panel
May be a question or two for the Xfce forum; the devs are active there.
I've just started looking, out of time now but found this thread about positioning:
https://forum.xfce.org/viewtopic.php?id=12149
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
^ OMG.
The world really is small.
I was using Xubuntu at the time and I know the XFCE forum is great and @ToZ is probably one of the best moderators.
I didn't know he was an admin now.
This man is amazing and I'm sure he will answer every question.
I also have a few scripts somewhere that were made by @Misko_2083 and he is an important member of many forums.
Off topic.
At the bottom of the thread, there is a mention of the yradio, which worked really well at the time.
Unfortunately, many radio stations are no longer working, but here I found the stream URL for my favorite XRDS.fm (line 244):
https://github.com/fredx181/yradio/blob … list.Blues
If people would know how little brain is ruling the world, they would die of fear.
Offline
I'm not sure how to read these position strings:
/panels/panel-1/position 'p=0;x=36;y=539' <property name="position" type="string" value="p=12;x=1002;y=1061"/>
Figure that out and you may be able to ship with a custom file for a given % panel length centered left.
I'm still working on this, but if you'd like to try:
p=7;x=0;y=0
along with your 90 length, and see if it gives you a vertically centered left panel?
More investigation needed to get to the bottom of that "p" value though. (It looks as if if p is not zero, then x and y are ignored.)
According to this and this, you'd expect to be using p=5 not p=7...
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
^ Yes, that is a panel centered on the left side.
Using 5, instead of 7, places the vertical panel in the upper left corner.
The "p" value is apparently coded to the display corners and sides. Change the value from 1-10 and see how the panel changes position when you restart the window manager. But it seems to be a bit random.
You must unlearn what you have learned.
-- yoda
Offline
^Thanks for confirming.
I've tried out all the p= values from 0 to 13 or so to see what they map to. It doesn't look anything like what you'd expect, and also is different depending on whether the panel is horizontal (mode: 0) or vertical (mode: 1 or 2). Mode 2 corresponds to "Desktop". This is what I got:
Horizontal: mode 0
( Vertical: mode 1 )
Desktop: mode 2 (use this for vertical bar)
Values of p=
? XFCE_SCREEN_POSITION_NONE,
mode: 0 (horizontal)
/* top */
0,5,6,11 XFCE_SCREEN_POSITION_NW_H, /* North West Horizontal */
9 XFCE_SCREEN_POSITION_N, /* North Centre Horizontal */
1,2 XFCE_SCREEN_POSITION_NE_H, /* North East Horizontal */
/* bottom */
8,12... XFCE_SCREEN_POSITION_SW_H, /* South West Horizontal */
10 XFCE_SCREEN_POSITION_S, /* South Centre Horizontal */
4 XFCE_SCREEN_POSITION_SE_H, /* South East Horizontal */
3 Centre East Horizontal??
7 Centre West Horizontal??
mode: 1 or 2 (vertical or "Desktop")
/* right */
1,2 XFCE_SCREEN_POSITION_NE_V, /* North East Vertical */
3 XFCE_SCREEN_POSITION_E, /* Centre East Vertical */
4 XFCE_SCREEN_POSITION_SE_V, /* South East Vertical */
/* left */
0,5,6,11 XFCE_SCREEN_POSITION_NW_V, /* North West Vertical */
7 XFCE_SCREEN_POSITION_W, /* Centre West Vertical */
8,12... XFCE_SCREEN_POSITION_SW_V, /* South West Vertical */
9 North Centre Vertical??
10 South Centre Vertical??
Last edited by johnraff (2025-04-05 04:33:58)
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline