Apply a theme to a specific application

I have found issues which are somewhat related to this, but don't really solve my specific question. I essentially have this application which respects the global theme, but looks terrible because of this. So I want to have this application use some lighter theme like breeze while the rest of the system sticks to good ol' sweetified plasma. Before you say "use kvantum" the application does not use kvantum decorations and therefore is unaffected by kvantum manager (well I don't know for certain that it doesn't use them, but kvantum doesn't work regardless and this is a plausible explanation to me).

Sorry for being vague about the application, but I feel like the solution is probably app agnostic and therefore what exactly my app is shouldn't matter.
EDIT: Ok here's the garuda-inxi then.

λ garuda-inxi
System:
Kernel: 6.0.11-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=33a99027-ad59-4bb2-ab88-037f8bba1280 rw rootflags=subvol=@
quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3
ibt=off
Desktop: KDE Plasma v: 5.26.4 tk: Qt v: 5.15.7 info: latte-dock
wm: kwin_x11 vt: 1 dm: SDDM Distro: Garuda Linux base: Arch Linux
Machine:
Type: Laptop System: ASUSTeK product: ASUS TUF Gaming F15 FX506HEB_FX506HEB
v: 1.0 serial: <superuser required>
Mobo: ASUSTeK model: FX506HEB v: 1.0 serial: <superuser required>
UEFI: American Megatrends LLC. v: FX506HEB.305 date: 07/22/2021
Battery:
ID-1: BAT1 charge: 11.8 Wh (17.7%) condition: 66.7/90.2 Wh (74.0%)
volts: 15.8 min: 15.9 model: ASUS A32-K55 type: Li-ion serial: N/A
status: charging
CPU:
Info: model: 11th Gen Intel Core i7-11800H bits: 64 type: MT MCP
arch: Tiger Lake gen: core 11 level: v4 note: check built: 2020
process: Intel 10nm family: 6 model-id: 0x8D (141) stepping: 1
microcode: 0x42
Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
L1: 640 KiB desc: d-8x48 KiB; i-8x32 KiB L2: 10 MiB desc: 8x1.2 MiB
L3: 24 MiB desc: 1x24 MiB
Speed (MHz): avg: 2472 high: 3704 min/max: 800/4600 scaling:
driver: intel_pstate governor: performance cores: 1: 2300 2: 2300 3: 3649
4: 2300 5: 2300 6: 2300 7: 2300 8: 2300 9: 2300 10: 2300 11: 2300 12: 2300
13: 2300 14: 3704 15: 2300 16: 2300 bogomips: 73728
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities:
Type: itlb_multihit status: Not affected
Type: l1tf status: Not affected
Type: mds status: Not affected
Type: meltdown status: Not affected
Type: mmio_stale_data status: Not affected
Type: retbleed status: Not affected
Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
prctl
Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
sanitization
Type: spectre_v2 mitigation: Enhanced IBRS, IBPB: conditional, RSB
filling, PBRSB-eIBRS: SW sequence
Type: srbds status: Not affected
Type: tsx_async_abort status: Not affected
Graphics:
Device-1: Intel TigerLake-H GT1 [UHD Graphics] vendor: ASUSTeK driver: i915
v: kernel arch: Gen-12.1 process: Intel 10nm built: 2020-21 ports:
active: eDP-1 empty: DP-1,HDMI-A-1,HDMI-A-2 bus-ID: 0000:00:02.0
chip-ID: 8086:9a60 class-ID: 0300
Device-2: NVIDIA GA107M [GeForce RTX 3050 Ti Mobile] vendor: ASUSTeK
driver: nvidia v: 525.60.11 alternate: nouveau,nvidia_drm non-free: 520.xx+
status: current (as of 2022-10) arch: Ampere code: GAxxx
process: TSMC n7 (7nm) built: 2020-22 bus-ID: 0000:01:00.0
chip-ID: 10de:25a0 class-ID: 0300
Device-3: Sonix USB2.0 HD UVC WebCam type: USB driver: uvcvideo
bus-ID: 3-7:4 chip-ID: 322e:202c class-ID: 0e02
Display: x11 server: X.Org v: 21.1.4 with: Xwayland v: 22.1.5
compositor: kwin_x11 driver: X: loaded: modesetting,nvidia unloaded: nouveau
alternate: fbdev,intel,nv,vesa dri: iris gpu: i915 display-ID: :0
screens: 1
Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
s-diag: 582mm (22.93")
Monitor-1: eDP-1 model: Najing CEC Panda 0x004d built: 2019 res: 1920x1080
dpi: 142 gamma: 1.2 size: 344x194mm (13.54x7.64") diag: 395mm (15.5")
ratio: 16:9 modes: 1920x1080
API: OpenGL v: 4.6 Mesa 22.2.3 renderer: Mesa Intel UHD Graphics (TGL GT1)
direct render: Yes
Audio:
Device-1: Intel Tiger Lake-H HD Audio vendor: ASUSTeK driver: snd_hda_intel
v: kernel alternate: snd_sof_pci_intel_tgl bus-ID: 0000:00:1f.3
chip-ID: 8086:43c8 class-ID: 0403
Device-2: NVIDIA vendor: ASUSTeK driver: snd_hda_intel v: kernel
bus-ID: 0000:01:00.1 chip-ID: 10de:2291 class-ID: 0403
Sound API: ALSA v: k6.0.11-zen1-1-zen running: yes
Sound Server-1: PulseAudio v: 16.1 running: no
Sound Server-2: PipeWire v: 0.3.61 running: yes
Network:
Device-1: MEDIATEK MT7921 802.11ax PCI Express Wireless Network Adapter
vendor: AzureWave driver: N/A modules: mt7921e bus-ID: 0000:02:00.0
chip-ID: 14c3:7961 class-ID: 0280
Device-2: Realtek vendor: ASUSTeK driver: r8169 v: kernel port: 3000
bus-ID: 0000:03:00.0 chip-ID: 10ec:8162 class-ID: 0200
IF: enp3s0 state: down mac: <filter>
Device-3: TP-Link TL-WN823N v2/v3 [Realtek RTL8192EU] type: USB
driver: rtl8192eu bus-ID: 3-2:3 chip-ID: 2357:0109 class-ID: 0000
serial: <filter>
IF: wlp0s20f0u2 state: up mac: <filter>
Bluetooth:
Device-1: IMC Networks Wireless_Device type: USB driver: btusb v: 0.8
bus-ID: 3-14:5 chip-ID: 13d3:3563 class-ID: e001 serial: <filter>
Report: bt-adapter ID: hci0 rfk-id: 1 state: down
bt-service: enabled,running rfk-block: hardware: no software: yes
address: <filter>
RAID:
Hardware-1: Intel Volume Management Device NVMe RAID Controller driver: vmd
v: 0.6 port: N/A bus-ID: 0000:00:0e.0 chip-ID: 8086:9a0b rev: class-ID: 0104
Drives:
Local Storage: total: 953.87 GiB used: 484.27 GiB (50.8%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: SK Hynix model: HFM001TD3JX013N
size: 953.87 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
lanes: 4 type: SSD serial: <filter> rev: 41000C20 temp: 45.9 C scheme: GPT
Partition:
ID-1: / raw-size: 953.57 GiB size: 953.57 GiB (100.00%)
used: 484.27 GiB (50.8%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 592 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /home raw-size: 953.57 GiB size: 953.57 GiB (100.00%)
used: 484.27 GiB (50.8%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-4: /var/log raw-size: 953.57 GiB size: 953.57 GiB (100.00%)
used: 484.27 GiB (50.8%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-5: /var/tmp raw-size: 953.57 GiB size: 953.57 GiB (100.00%)
used: 484.27 GiB (50.8%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 15.35 GiB used: 57 MiB (0.4%) priority: 100
dev: /dev/zram0
Sensors:
System Temperatures: cpu: 57.0 C mobo: N/A
Fan Speeds (RPM): cpu: 2300
Info:
Processes: 354 Uptime: 15h 40m wakeups: 41355 Memory: 15.35 GiB
used: 6.25 GiB (40.7%) Init: systemd v: 252 default: graphical
tool: systemctl Compilers: gcc: 12.2.0 clang: 14.0.6 Packages: pm: pacman
pkgs: 2151 libs: 571 tools: octopi,paru Shell: fish v: 3.5.1 default: Bash
v: 5.1.16 running-in: konsole inxi: 3.3.23
Garuda (2.6.10-1):
System install date:     2022-01-17
Last full system update: 2022-12-16 ↻
Is partially upgraded:   No
Relevant software:       NetworkManager
Windows dual boot:       Probably (Run as root to verify)
Snapshots:               Snapper
Failed units:            shadow.service systemd-guest-user.service systemd-networkd-wait-online.service

kvantum :slight_smile:

Please, post everytime your garuda-inxi, even if you think it is not necessary.

So, you are on your own.

1 Like

If you really think it would help, it's inform7-ide. I have already attempted to use kvantum to do this and well it didn't work as I said. Maybe it really doesn't use kvantum decorations or perhaps something else is wrong with kvantum that I don't even know about.

EDIT: If you're wondering, there's no adequate alternative to this application on linux.

BTW, there are some apps they are hard-coded, like cryptomator.

No issue page, cool

It probably isn’t hard-coded, since if I change my global theme to breeze and restart the app, it does respect that change and it looks better.

Anyway, is kvantum really the only solution for doing this kind of thing? Aren’t there things you could do with setting some obscure environment variables in the exec line of the .desktop file?

No issue page, cool

Here the maintainer does actually listen and respond to feedback, but I do agree that he really should be doing it through an issue page and not some forum. Even if the forum happens to be focused on this exact niche.

Ok I have a bit of a workaround I suppose. If I switch the global theme to breeze, open inform7-ide, then change it back to sweetified plasma, the ide still uses breeze. I suppose this shows it's technically possible to do what I'm talking about, but if kvantum can't do it, and there really is no other way, then this will have to do.

Actually, it does look like this may be worth a shot. Check it out, some other folks are doing pretty much exactly this:

3 Likes

Good find! This works actually! Really should've thought to look outside the garuda forums. Thanks!

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.