$ xprop|grep -i ^WM_NAME -A2
WM_NAME(STRING) = "Configure panel"
WM_LOCALE_NAME(STRING) = "es_ES.utf8"
WM_CLASS(STRING) = "razor-panel", "Razor-panel"
$ xprop|grep -i ^WM_NAME -A2
WM_NAME(STRING) = "Add plugins"
WM_LOCALE_NAME(STRING) = "es_ES.utf8"
WM_CLASS(STRING) = "razor-panel", "Razor-panel"
$ xprop|grep -i ^WM_NAME -A2
WM_NAME(STRING) = "razor-panel"
WM_LOCALE_NAME(STRING) = "es_ES.utf8"
WM_CLASS(STRING) = "razor-panel", "Razor-panel"
diff -U3 -r razorqt-0.4.1.orig/razorqt-panel/panel/main.cpp razorqt-0.4.1/razorqt-panel/panel/main.cpp
--- razorqt-0.4.1.orig/razorqt-panel/panel/main.cpp 2012-03-28 00:04:17.076675398 +0200
+++ razorqt-0.4.1/razorqt-panel/panel/main.cpp 2012-03-28 13:06:58.303347580 +0200
@@ -50,6 +50,7 @@
RazorPanel panel;
a.setPanel(&panel);
+ panel.setWindowTitle("Main Panel");
panel.show();
return a.exec();
Sólo en razorqt-0.4.1/razorqt-panel/panel: main.cpp~
diff -U3 -r razorqt-0.4.1.orig/razorqt-panel/panel/razorpanel.cpp razorqt-0.4.1/razorqt-panel/panel/razorpanel.cpp
--- razorqt-0.4.1.orig/razorqt-panel/panel/razorpanel.cpp 2012-03-28 00:04:17.076675398 +0200
+++ razorqt-0.4.1/razorqt-panel/panel/razorpanel.cpp 2012-03-28 13:11:54.466691049 +0200
@@ -117,8 +117,8 @@
setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
setAttribute(Qt::WA_X11NetWmWindowTypeDock);
setAttribute(Qt::WA_AlwaysShowToolTips);
-
- setObjectName("RazorPanel");
+ setWindowTitle("Main Panel");
+ //setObjectName("RazorPanel");
}
This is the right place :)
> Fvwm and other WM's have a matching mechanism so you can apply special
> properties (mostly hints, but also some others) to a given window. The
> problem with razor-panel is that all their children are called the same, as
> I illustrate right below this line:
>
> $ xprop|grep -i ^WM_NAME -A2
> > WM_NAME(STRING) = "Configure panel"
> > WM_LOCALE_NAME(STRING) = "es_ES.utf8"
> > WM_CLASS(STRING) = "razor-panel", "Razor-panel"
> > $ xprop|grep -i ^WM_NAME -A2
> > WM_NAME(STRING) = "Add plugins"
> > WM_LOCALE_NAME(STRING) = "es_ES.utf8"
> > WM_CLASS(STRING) = "razor-panel", "Razor-panel"
> > $ xprop|grep -i ^WM_NAME -A2
> > WM_NAME(STRING) = "razor-panel"
> > WM_LOCALE_NAME(STRING) = "es_ES.utf8"
> > WM_CLASS(STRING) = "razor-panel", "Razor-panel"
>
>
> You see these are the properties for the config window, the add plugin
> window, and the panel itself. The problem in the case of fvwm (this might
> also be true for some others) is that they can only match based on a fuzzy
> criteria, and not something strict like, let's say, (Class=razor-panel AND
> Title=razor-panel). So, it's more like (Class=razor-panel OR
> Title=razor-panel), and that means that all the three windows (and many
> more) are matched, which is undesired.
Just to clarify, since I don't use fvwm and I'm not sure if I understand
you correctly...
From your previous post I understand that fvwm does not handle EWMH
hints, and you need to create your own rules so that, for example, the
panel does not have window borders.
When you add the rule
Style razor-panel !Title, !Borders, ...
it matches it as "If a window has WM_NAME=razor-panel or
WM_CLASS=razor-panel, then apply the following rules ..."
You're trying to set the window title (which is shown as WM_NAME) which
is not the same as WM_CLASS, so that you could make a rule which applies
to the panel but not to panel dialogs.
Am I understanding it correctly?
If my understanding of your problem correctly, that should have worked.
I get:
$ xprop | grep -A2 ^WM_NAME
WM_NAME(STRING) = "Razor Panel"
WM_LOCALE_NAME(STRING) = "en_US.UTF-8"
WM_CLASS(STRING) = "razor-panel", "Razor-panel"
$ xprop | grep -A2 ^WM_NAME
WM_NAME(STRING) = "Configure panel"
WM_LOCALE_NAME(STRING) = "en_US.UTF-8"
WM_CLASS(STRING) = "razor-panel", "Razor-panel"
Here's the change I made:
diff --git razorqt-panel/panel/razorpanel.cpp razorqt-panel/panel/razorpanel.cpp
index 3f867b6..903734c 100644
--- razorqt-panel/panel/razorpanel.cpp
+++ razorqt-panel/panel/razorpanel.cpp
@@ -118,6 +118,7 @@ RazorPanel::RazorPanel(QWidget *parent) :
setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
setAttribute(Qt::WA_X11NetWmWindowTypeDock);
setAttribute(Qt::WA_AlwaysShowToolTips);
+ setWindowTitle("Razor Panel");
On Wednesday 28 March 2012 04:46:40, Jesús J. Guerrero Botella wrote:
[...]
> You see these are the properties for the config window, the add plugin
> window, and the panel itself. The problem in the case of fvwm (this might
> also be true for some others) is that they can only match based on a fuzzy
> criteria, and not something strict like, let's say, (Class=razor-panel AND
> Title=razor-panel). So, it's more like (Class=razor-panel OR
> Title=razor-panel), and that means that all the three windows (and many
> more) are matched, which is undesired.Just to clarify, since I don't use fvwm and I'm not sure if I understand
you correctly...From your previous post I understand that fvwm does not handle EWMH
hints, and you need to create your own rules so that, for example, the
panel does not have window borders.
When you add the rule
Style razor-panel !Title, !Borders, ...
it matches it as "If a window has WM_NAME=razor-panel or
WM_CLASS=razor-panel, then apply the following rules ..."You're trying to set the window title (which is shown as WM_NAME) which
is not the same as WM_CLASS, so that you could make a rule which applies
to the panel but not to panel dialogs.Am I understanding it correctly?
If my understanding of your problem correctly, that should have worked.
I don't see why not :)
https://github.com/Razor-qt/razor-qt/commit/4f3659b66c103f98b76e40d903d5b62e91edeff7
Thank you so much. See you around.
---
Jesús Guerrero Botella
> --
> You received this message because you are subscribed to the Google
> Groups "Razor-qt" group.
> For more options, visit this group at
> http://groups.google.com/group/razor-qt?hl=en
Yes, of course. I was already giving it a thought. I have updated it
now. Please, when you have the time, take a quick look and let me know
if you think it's clearly explained for the average user.
https://github.com/Razor-qt/razor-qt/wiki/Window-Managers
¨Thank you for everything.
--
Jesús Guerrero Botella