Application Name & WMClass Override

Hello!

A few days ago I started to run into a bug that occurred after the updates.

As you see, there are 2 different Firefox browsers (Firefox and Firefox Developer Edition) and they are no separated in dock and looking as only “Firefox” at top bar too. Name of application or WMClass does not change the active window name at the bar.

I’ve been using same desktop entry for a long time but it hadn’t been working like that until these days.

    [Desktop Entry]
    Name = Firefox Developer Edition
    GenericName = Browser
    Terminal = false
    Icon = /opt/firefox-devedition/browser/chrome/icons/default/default128.png
    Type = Application
    Categories = Network; Web-Development;
    Comment = Web Browser
    Exec = /opt/firefox-devedition/firefox
    StartupWMClass = Firefox Developer Edition

I tried the other versions of Firefox (beta, nightly, esr) and all concluded same.

:+1: Welcome to Manjaro! :+1:

  1. Please read this:
    How to provide good information
    and post some more information so we can see what’s really going on. Now we know the symptom of the disease, but we need some more probing to know where the origin lies… :grin:
  2. An inxi --admin --verbosity=7 --filter --no-host --width would be the minimum required information for us to be able to help you. (Personally Identifiable Information like serial numbers and MAC addresses will be filtered out by the above command)
    Also, please copy-paste that output in-between 3 backticks ``` at the beginning and end of the code/text.

:+1:

P.S. If you enter a bit more details in your profile, we can also see which Desktop Environment you’re using, which exact CPU/GPU or Kernel, … you have without typing it every time

OK, here are the system informations.

System:
  Kernel: 5.10.53-1-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0 
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.10-x86_64 
  root=UUID=51a4000e-bfa3-44d3-8742-0e879c85ec05 rw quiet splash apparmor=1 
  security=apparmor resume=UUID=7ac060ce-b262-480f-91ee-f6c77f462699 
  udev.log_priority=3 
  Desktop: GNOME 40.3 tk: GTK 3.24.30 wm: gnome-shell dm: GDM 40.1 
  Distro: Manjaro Linux base: Arch Linux 
Machine:
  Type: Laptop System: ASUSTeK product: VivoBook_ASUSLaptop X512UF v: 1.0 
  serial: <filter> 
  Mobo: ASUSTeK model: X512UF v: 1.0 serial: <filter> 
  UEFI: American Megatrends v: X512UF.307 date: 04/29/2020 
Battery:
  ID-1: BAT0 charge: 23.4 Wh (90.0%) condition: 26.0/32.1 Wh (81.0%) 
  volts: 7.9 min: 7.9 model: ASUSTeK ASUS Battery type: Li-ion serial: N/A 
  status: Discharging cycles: 304 
Memory:
  RAM: total: 19.43 GiB used: 4.08 GiB (21.0%) 
  RAM Report: permissions: Unable to run dmidecode. Root privileges required. 
CPU:
  Info: Quad Core model: Intel Core i5-8250U bits: 64 type: MT MCP 
  arch: Kaby Lake note: check family: 6 model-id: 8E (142) stepping: A (10) 
  microcode: EA cache: L2: 6 MiB bogomips: 28808 
  Speed: 800 MHz min/max: 400/3400 MHz Core speeds (MHz): 1: 800 2: 800 3: 800 
  4: 800 5: 800 6: 800 7: 801 8: 800 
  Flags: 3dnowprefetch abm acpi adx aes aperfmperf apic arat arch_perfmon art 
  avx avx2 bmi1 bmi2 bts clflush clflushopt cmov constant_tsc cpuid 
  cpuid_fault cx16 cx8 de ds_cpl dtes64 dtherm dts epb ept ept_ad erms est 
  f16c flexpriority flush_l1d fma fpu fsgsbase fxsr ht hwp hwp_act_window 
  hwp_epp hwp_notify ibpb ibrs ida intel_pt invpcid invpcid_single lahf_lm lm 
  mca mce md_clear mmx monitor movbe mpx msr mtrr nonstop_tsc nopl nx pae pat 
  pbe pcid pclmulqdq pdcm pdpe1gb pebs pge pln pni popcnt pse pse36 pti pts 
  rdrand rdseed rdtscp rep_good sdbg sep smap smep ss ssbd sse sse2 sse4_1 
  sse4_2 ssse3 stibp syscall tm tm2 tpr_shadow tsc tsc_adjust 
  tsc_deadline_timer vme vmx vnmi vpid x2apic xgetbv1 xsave xsavec xsaveopt 
  xsaves xtopology xtpr 
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
  Type: l1tf 
  mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable 
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable 
  Type: meltdown mitigation: PTI 
  Type: spec_store_bypass 
  mitigation: Speculative Store Bypass disabled via prctl and seccomp 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, 
  IBRS_FW, STIBP: conditional, RSB filling 
  Type: srbds mitigation: Microcode 
  Type: tsx_async_abort status: Not affected 
Graphics:
  Device-1: Intel UHD Graphics 620 vendor: ASUSTeK driver: i915 v: kernel 
  bus-ID: 00:02.0 chip-ID: 8086:5917 class-ID: 0300 
  Device-2: NVIDIA GM108M [GeForce MX130] vendor: ASUSTeK driver: nvidia 
  v: 470.57.02 alternate: nouveau,nvidia_drm bus-ID: 01:00.0 
  chip-ID: 10de:174d class-ID: 0302 
  Device-3: IMC Networks USB2.0 HD UVC WebCam type: USB driver: N/A 
  bus-ID: 1-6:3 chip-ID: 13d3:56d3 class-ID: 0e02 serial: <filter> 
  Display: wayland server: X.org 1.20.11 compositor: gnome-shell driver: 
  loaded: modesetting,nvidia alternate: fbdev,intel,nouveau,nv,vesa 
  display-ID: 0 resolution: <missing: xdpyinfo> 
  OpenGL: renderer: Mesa Intel UHD Graphics 620 (KBL GT2) v: 4.6 Mesa 21.1.5 
  direct render: Yes 
Audio:
  Device-1: Intel Sunrise Point-LP HD Audio vendor: ASUSTeK 
  driver: snd_hda_intel v: kernel alternate: snd_soc_skl bus-ID: 00:1f.3 
  chip-ID: 8086:9d71 class-ID: 0403 
  Sound Server-1: ALSA v: k5.10.53-1-MANJARO running: yes 
  Sound Server-2: sndio v: N/A running: no 
  Sound Server-3: JACK v: 1.9.19 running: no 
  Sound Server-4: PulseAudio v: 14.2 running: yes 
  Sound Server-5: PipeWire v: 0.3.32 running: no 
Network:
  Device-1: Intel Wireless 8265 / 8275 driver: iwlwifi v: kernel port: e000 
  bus-ID: 02:00.0 chip-ID: 8086:24fd class-ID: 0280 
  IF: wlp2s0 state: up mac: <filter> 
  IP v4: <filter> type: dynamic noprefixroute scope: global 
  broadcast: <filter> 
  IP v6: <filter> type: noprefixroute scope: link 
  WAN IP: <filter> 
Bluetooth:
  Device-1: Intel Bluetooth wireless interface type: USB driver: btusb v: 0.8 
  bus-ID: 1-8:4 chip-ID: 8087:0a2b class-ID: e001 
  Report: rfkill ID: hci0 rfk-id: 3 state: down bt-service: enabled,running 
  rfk-block: hardware: no software: yes address: see --recommends 
Logical:
  Message: No logical block device data found. 
RAID:
  Message: No RAID data found. 
Drives:
  Local Storage: total: 1.14 TiB used: 113.02 GiB (9.7%) 
  SMART Message: Required tool smartctl not installed. Check --recommends 
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Kingston model: SA2000M8250G 
  size: 232.89 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s 
  lanes: 4 type: SSD serial: <filter> rev: S5Z42105 temp: 33.9 C scheme: GPT 
  ID-2: /dev/sda maj-min: 8:0 vendor: Toshiba model: MQ04ABF100 
  size: 931.51 GiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s 
  type: HDD rpm: 5400 serial: <filter> rev: 0J scheme: GPT 
  Message: No optical or floppy data found. 
Partition:
  ID-1: / raw-size: 223.79 GiB size: 219.22 GiB (97.96%) 
  used: 113.02 GiB (51.6%) fs: ext4 dev: /dev/nvme0n1p2 maj-min: 259:2 
  label: N/A uuid: 51a4000e-bfa3-44d3-8742-0e879c85ec05 
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) 
  used: 300 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1 
  label: NO_LABEL uuid: 4E34-EF54 
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) 
  ID-1: swap-1 type: partition size: 8.8 GiB used: 0 KiB (0.0%) priority: -2 
  dev: /dev/nvme0n1p3 maj-min: 259:3 label: N/A 
  uuid: 7ac060ce-b262-480f-91ee-f6c77f462699 
Unmounted:
  ID-1: /dev/sda1 maj-min: 8:1 size: 100 MiB fs: vfat label: N/A 
  uuid: 3E00-2EDB 
  ID-2: /dev/sda2 maj-min: 8:2 size: 16 MiB fs: <superuser required> 
  label: N/A uuid: N/A 
  ID-3: /dev/sda3 maj-min: 8:3 size: 194.71 GiB fs: ntfs label: N/A 
  uuid: 48B827ADB8279888 
  ID-4: /dev/sda4 maj-min: 8:4 size: 499 MiB fs: ntfs label: N/A 
  uuid: 5A4C437A4C434FC5 
  ID-5: /dev/sda5 maj-min: 8:5 size: 585.94 GiB fs: ntfs label: N/A 
  uuid: F28C2DC68C2D85E7 
  ID-6: /dev/sda6 maj-min: 8:6 size: 150.26 GiB fs: ntfs label: N/A 
  uuid: DEC455BCC455979B 
USB:
  Hub-1: 1-0:1 info: Full speed (or root) Hub ports: 12 rev: 2.0 
  speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900 
  Device-1: 1-6:3 info: IMC Networks USB2.0 HD UVC WebCam type: Video 
  driver: N/A interfaces: 2 rev: 2.0 speed: 480 Mb/s power: 500mA 
  chip-ID: 13d3:56d3 class-ID: 0e02 serial: <filter> 
  Device-2: 1-8:4 info: Intel Bluetooth wireless interface type: Bluetooth 
  driver: btusb interfaces: 2 rev: 2.0 speed: 12 Mb/s power: 100mA 
  chip-ID: 8087:0a2b class-ID: e001 
  Hub-2: 2-0:1 info: Full speed (or root) Hub ports: 6 rev: 3.0 speed: 5 Gb/s 
  chip-ID: 1d6b:0003 class-ID: 0900 
Sensors:
  System Temperatures: cpu: 47.0 C mobo: N/A 
  Fan Speeds (RPM): cpu: 3100 
Info:
  Processes: 315 Uptime: 7h 4m wakeups: 2 Init: systemd v: 248 tool: systemctl 
  Compilers: gcc: 11.1.0 Packages: pacman: 1425 lib: 371 flatpak: 0 Shell: Zsh 
  v: 5.8 running-in: gnome-terminal inxi: 3.3.06 

What should I do? I can not separate Firefox browsers, all versions act like opened by Firefox (default by Manjaro) in dock and system tray.

The inxi output looks good, so what you’re asking is: How do I differentiate between Firefox stable and Firefox dev as they both have the same icon?

The answer is:

  • locate both .desktop files on your system
  • Change one of the .desktop files to another icon :stuck_out_tongue_winking_eye:

That’s it!

P.S. Or use the Firefox Steampunk icon instead:wink:

They already don’t have the same icon or same WMClass. Also I shared the desktop entry above. It wasn’t working like that before, since the latest updates it’s been broken.

I don’t understand what you’re trying to say… Did you follow the instructions above and they failed???

  • If yes: what went wrong?
  • If no: please try that first?

:thinking:

Dealt with something similar in bspwm/xprop. I can see you have an alternate icon in the posted .desktop file. I think you can change the exec command in the .desktop file to add --class arg and it should pick it up. The spaces I’m not sure about, I would personally use something like “FirefoxDev”

Exec = /opt/firefox-devedition/firefox --class FirefoxDev
StartupWMClass = FirefoxDev

That may not work cleanly when launching firefox while already running, if so, you can try these args as well

Exec = /opt/firefox-devedition/firefox --no-remote -P default --class FirefoxDev 

https://wiki.archlinux.org/title/Firefox#Window_manager_rules

EDIT: I keep forgetting wayland is a thing that exists now which this is most likely related to the app_id and the above suggestion may be null.

2 Likes

I guess there’s another thing and I started to think dual boot may causing that because today I ran Manjaro 4 times and first 3 of 4 was working healthy, Firefox Developer Edition was not displaying as Firefox.

But before the last time, I booted Windows. After a while I switched to Manjaro and I got a fail about pkgfile (couldn’t read the whole line) but I can’t see it in logs with dmesg | less or sudo cat /var/log/boot.log.

I don’t know how to solve or debug that.

/dev/nvme0n1p2: clean, 2118075/14671872 files, 30809580/58664828 blocks
[  OK  ] Finished Tell Plymouth To Write Out Runtime Data.
[  OK  ] Finished Create Volatile Files and Directories.
         Starting Network Time Synchronization...
         Starting Record System Boot/Shutdown in UTMP...
[  OK  ] Finished Record System Boot/Shutdown in UTMP.
[  OK  ] Started Network Time Synchronization.
[  OK  ] Reached target System Time Set.
[  OK  ] Finished Load Kernel Modules.
         Starting Apply Kernel Variables...
[  OK  ] Finished Apply Kernel Variables.
         Starting CLI Netfilter Manager...
[  OK  ] Finished CLI Netfilter Manager.
[  OK  ] Reached target System Initialization.
[  OK  ] Started CUPS Scheduler.
[  OK  ] Started Daily rotation of log files.
[  OK  ] Started Daily man-db regeneration.
[  OK  ] Started Monthly clean packages cache.
[  OK  ] Started Generate mirrorlist weekly.
[  OK  ] Started pkgfile database update timer.
[  OK  ] Started Daily verification of password and group files.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Path Units.
[  OK  ] Reached target Timer Units.
[  OK  ] Listening on CUPS Scheduler.
[  OK  ] Listening on D-Bus System Message Bus Socket.
         Starting Socket activation for snappy daemon.
[  OK  ] Listening on Socket activation for snappy daemon.
[  OK  ] Reached target Socket Units.
[  OK  ] Reached target Basic System.
[  OK  ] Started Periodic Command Scheduler.
[  OK  ] Started D-Bus System Message Bus.
         Starting Network Manager...
         Starting Clean up modules from old kernels...
         Starting Authorization Manager...
         Starting Snap Daemon...
         Starting User Login Management...
         Starting Rotate log files...
         Starting Daily man-db regeneration...
[  OK  ] Started Verify integrity of password and group files.
[  OK  ] Finished Clean up modules from old kernels.
[  OK  ] Started Network Manager.
[  OK  ] Reached target Network.
         Starting Network Manager Wait Online...
         Starting CUPS Scheduler...
         Starting PostgreSQL database server...
         Starting Permit User Sessions...
[  OK  ] Started User Login Management.
         Starting Hostname Service...
[  OK  ] Started CUPS Scheduler.
[  OK  ] Finished Rotate log files.
[  OK  ] Finished Permit User Sessions.
         Starting GNOME Display Manager...
         Starting Hold until boot process finishes up...
         Starting Terminate Plymouth Boot Screen...
[  OK  ] Started Authorization Manager.
         Starting Modem Manager...

That’s the latest boot log.

Apparently you’re suffering of what is called a side effect:

  • When rebooting from Windows to Manjaro, please cold boot:
    • Shut down Windows completely
    • Press the power button to start the PC
    • Choose Manjaro from grub
  • When rebooting from Manjaro to Windows, warm boot is still allowed

This is probably from a buggy Windows driver that leaves the UEFI system in an undesired state, but as most people don’t dual boot, the Windows driver manufacturers probably won’t care even if you file a bug…

:sob:

2 Likes

You are right, I noticed that and I have to care about, otherwise Manjaro does not even boot.

But that’s the not certain point, there’s something wrong that I don’t know. Maybe the AUR packages caused.

No, it isn’t solved.

My apoogies, but you’ve reached the end of my Linux knowledge and I won’t be able to help you any further…

:sob:

Thank you anyway =) I’ve made clean installation and it’s still here. I guess that problem based on Manjaro’s new updates.

It’s very probably not the Mnajaro update but the Firefox update that the Manjaro team pulled in from Mozilla…

(big difference between the two)

:wink:

Actually, I don’t think so because if that bug created by Mozilla it wouldn’t be random at different boots. It would be random at every processes.

And, one more thing here. I removed the default Firefox browser which is built-in by Manjaro and I’ve seen when that error occurs, whole desktop entry is being ignored. All types of Firefox is just looking as “firefox”.

It’s really weird but I’m leaving that information as a solution.

Logging in with GNOME XOrg from login screen fixes that fault with Discord’s black screen problem while screen sharing.

Wayland screen sharing is not nearly as mature as X11 screen sharing.

The simplest and quickest solution is to log out, and before logging in, click on the gear icon in the lower right corner, and select the Xorg/X11 session.

Electron applications can only share the full screen when you are in an X11 session, nonetheless, even in a Wayland session, you should be able to share other X11 applications running in XWayland, just not Wayland-native applications and the full screen.

There is some experimental support for full screen sharing in Firefox and Google Chrome, as far as I’m aware.

See the full topic from here.

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