What's the desktop window program?

Post

Posted
Rating:
#1 (In Topic #1890)
Banned
I'm trying to detect what program is showing the actual visible desktop window?
Ie, caja, nemo, nautilus, dolphin etc

By default on MATE it's caja and in Cinnamon it's nemo.

But i'm not sure i can go by that.

things i know..
things like XDG_CURRENT_DESKTOP only show the environment like MATE, Cinnamon, etc but not the running desktop program.

xdg-mime and gio mime on inode/directory only show the file manager not the desktop application.
On my system caja shows in Cinnamon for inode/directory as caja is the file manager but it's nemo that shows the desktop.

I want my program to detect the position of the desktop icon it was launched from.

gio gives this info…

Code

bonus:~$ gio info '/home/bonus/Desktop-ish/Link to gambas3.desktop' | grep metadata
  metadata::caja-icon-position: 2146,162
  metadata::caja-icon-position-timestamp: 1763292776
  metadata::icon-scale: 1
  metadata::monitor: 0
  metadata::nemo-icon-position: 741,105
  metadata::nemo-icon-position-timestamp: 1763292169
  metadata::screen: 0


The caja info gives an absolute screen position but nemo gives a screen number and a relative position so i need to know what's in operation,

Is there a rule?
can MATE only use caja as desktop and Cinnamon only use nemo?

and anyone know of icon position info for gnome/kde/xfce/etc ?
Online now: No Back to the top

Post

Posted
Rating:
#2
Avatar
Administrator
gbWilly is in the usergroup ‘unknown’
gbWilly leads the usergroup ‘GambOS Contributor’
I think that it is as simple as each Desktop uses it's file manager to show the desktop environment. That seems the most logic (don't pin me on it, I said I THINK  ;) )

For MATE the default is caja
For Cinnamon the default is nemo.

The fact that you can install and use another file manager to browse your files, doesn't seem to effect the file manager that shows the desktop environment. (this can be easily tested in a VM to make sure)
I think from the presepctive of the Desktop Environment developers it makes sense to use your own file manager and not the one of another Desktop Environment.

How to detect this, I have no clue and I can't really find anything on the matter (one of those again  O_o )
Maybe it is as simple as detecting the Desktop Environment and assume it's own file manager is the one used.
MATE -> caja
Cinnamon -> nemo.
KDE -> Dolphin
LXDE -> PCManFM
Gnome -> Nautilus (does that still exist or has that changed names too)

If my presumtion is right then above is a way of determinng it.  :thumbs:
If I come across anything else, I loop back here as I find it a very interesting topic.

 

Last edit: by gbWilly


gbWilly
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories


… there is always a Catch if things go wrong!
Online now: No Back to the top

Post

Posted
Rating:
#3
Banned
yeah i might have to do it just using the DE names from Desktop.Type.
Cheers Willy

It's a program that pops open a list of the icons alternative actions for the desktops that do not.
So thinking about it I guess i don't need it for Gnome or any other desktop that does actually show the actions on right click.
Online now: No Back to the top

Post

Posted
Rating:
#4
Avatar
Administrator
sholzy is in the usergroup ‘unknown’

Code

xdg-mime query default inode/directory

On my Debian KDE system I use Konqueror instead of Dolphin. The above code will show my file manager as kfmclient_dir.desktop. This requires xdg-utils to be installed though, which most systems probably have it.

sholzy
Gambas One Site Director

To report bugs in the Gambas IDE:
Official Gambas Bug Tracker
Online now: No Back to the top

Post

Posted
Rating:
#5
Banned
Cheers Sholzy but like I said that's not enough.

On Cinnamon my inode/directory defaults to caja as that's my file browser.

But the visible desktop is actually a program called nemo-desktop

If I run this command in cinnamon..
pgrep -f caja

It only shows caja processes if I have folders open not when just the desktop is showing.

With MATE it shows caja all the time as caja is doing the desktop view.

You have to use pgrep to detect processes as clicking "about" to see what program is being used is only possible in the file manager not the actual desktop.
Online now: No Back to the top

Post

Posted
Rating:
#6
Avatar
Administrator
sholzy is in the usergroup ‘unknown’

gbWilly said

I think that it is as simple as each Desktop uses it's file manager to show the desktop environment. That seems the most logic (don't pin me on it, I said I THINK  ;) )

For MATE the default is caja
For Cinnamon the default is nemo.

The fact that you can install and use another file manager to browse your files, doesn't seem to effect the file manager that shows the desktop environment. (this can be easily tested in a VM to make sure)
I think from the presepctive of the Desktop Environment developers it makes sense to use your own file manager and not the one of another Desktop Environment.

How to detect this, I have no clue and I can't really find anything on the matter (one of those again  O_o )
Maybe it is as simple as detecting the Desktop Environment and assume it's own file manager is the one used.
MATE -> caja
Cinnamon -> nemo.
KDE -> Dolphin
LXDE -> PCManFM
Gnome -> Nautilus (does that still exist or has that changed names too)

If my presumtion is right then above is a way of determinng it. 
 :thumbs:
If I come across anything else, I loop back here as I find it a very interesting topic.

 


sholzy said

Code

xdg-mime query default inode/directory

On my Debian KDE system I use Konqueror instead of Dolphin. The above code will show my file manager as kfmclient_dir.desktop. This requires xdg-utils to be installed though, which most systems probably have it.


BruceSteers said

Cheers Sholzy but like I said that's not enough.

On Cinnamon my inode/directory defaults to caja as that's my file browser.

But the visible desktop is actually a program called nemo-desktop

If I run this command in cinnamon..
pgrep -f caja

It only shows caja processes if I have folders open not when just the desktop is showing.

With MATE it shows caja all the time as caja is doing the desktop view.

You have to use pgrep to detect processes as clicking "about" to see what program is being used is only possible in the file manager not the actual desktop.


My post was in response to Willy's post using a blanket statement that Dolphin would determine that the DE was KDE, which in fact is not accurate.

sholzy
Gambas One Site Director

To report bugs in the Gambas IDE:
Official Gambas Bug Tracker
Online now: No Back to the top
1 guest and 0 members have just viewed this.