Strange startup...

Duncan 1i5t5.duncan at cox.net
Mon Jun 6 16:39:38 BST 2011


J posted on Mon, 06 Jun 2011 08:05:32 -0400 as excerpted:

>> J posted on Sun, 05 Jun 2011 09:54:08 -0400 as excerpted:
>> 
>> > Recently, when I start up my test system the desktop is messed up.
>> > Once I unlock the widgets, then open the panel (taskbar, menu,
>> > system try widgets on it), select more settings, and tell it to shift
>> > right, or left, then back to centered, everything goes back to normal.
>> >
>> > The obvious symptom is that everything opens its top left corner
>> > outside the top left corner of the screen.  If I am using folder view
>> > for the desktop, it also seems to open that outside the screen area
>> > as well, creating a scrollbar that does nothing when moved up or
>> > down, causing the folder view items to now show.  The next obvious
>> > symptom is that the menu opens at the bottom of the screen and the
>> > panel is at the top of the screen.

>> Unfortunately you don't give us a whole lot to go on, in terms of the
>> version of kde you're running.
> 
> KDE 4.6.x

Thanks.

> Since I HAVE to edit the settings on the panel to get things to fix, I
> suspect you are correct about kwin.  Since I have it at the top of the
> screen, I would think it is already set to a fixed location.  Top,
> centered, and maximized are the settings I have for it.

With this bug, top bars have seemed to be more likely to trigger it than 
bottom bars.  (I don't know about sidebars.)  So it could well be that 
it's the already known 4.6.x bug that's triggering for you, even if the 
symptoms aren't quite the same.

FWIW, I wonder if the devs don't use top bars.  That might explain them 
not catching the bug before release.  I'm a gentoo user, where packages 
often have several USE flags (optional build and dependency flags), and 
it's often simply not practical or even possible for the devs to check 
every permutation (some packages have enough USE flags that there's 
literally hundreds of possibilities, the Gentoo PHP package is infamous 
for this).  As such I understand that such bugs can and do slip thru, 
because it simply isn't possible, let alone practical, to test every 
possible variant with a package as highly customizable as plasma, or as kde 
in general, happens to be.  Despite that, I'd have it no other way, since 
the alternative is the top-down, our-way-or-you-hand-edit-configs-to-
change-it (at best, sometimes hand-edit hard-coded sources), approach that 
Gnome, for instance, seems to like to take.  IOW, there's a reason, for me 
at least, that we're not having this discussion on a gnome list.  (I don't 
and won't even have gnome installed here.  I got frustrated with that long 
ago, and from what I've read it has gotten much worse since.)

>> However, if you're running 4.6.2 or 4.6.3, a lot of users are having
>> problems ATM due to some patches gone awry.  The problem is usually
>> kwin getting mixed up and trying to treat the panels as normal windows,
>> so it's usually panels not the plasmoids on them, but it's possible the
>> plasmoids are getting placed strangely due to the strange panel
>> handling in some instances as well.
>> 
>> If you're running one of those two versions, try setting up a window
>> rule (I had to experiment a bit to get mine to take) either setting no
>> placement for the window, or forcing its absolute position.  If you can
>> get the rule to override the screwups kwin is doing with it's normal
>> handling, you may be fine -- I was.
> 
> How does one set a rule?  I'm fairly new to the inner workings of KDE.

Somewhat counterintuitively for the panels (I filed a bug and it was 
another user that pointed out in a comment there that this was possible, 
even tho I have some two dozen custom window rules for various other 
windows so obviously use and very much depend on the feature regularly in 
other instances, but it was still counterintuitive for me to use it on a 
/panel/), these are the /same/ window rules that can normally be set thru 
the window menu (accessed via the app icon on the title-bar) on normal 
apps, configure window behavior.  So either select that in any title-bar 
that happens to be handy, or go to kcontrol (systemsettings, except it's 
NOT systemsettings but rather user-specific kde settings, the old kde name 
kcontrol thus being far more accurate), workspace appearance and behavior, 
window behavior, window rules.

Click the new button, then detect window properties, and finally on the 
panel in question.  This will fill the selector dialog with some 
information about the panel, that becomes the initial settings for the 
filter that determines which windows the rule applies to.

In this case, type: dock (panel) is very important.  You don't want the 
setting applying to ordinary plasma dialog windows, for instance.  You can 
play with the settings a bit in the actual rule after you click OK on the 
info dialog, too (and I tend to do just that, fine tuning the exact 
filters used), or hit detect window properties again, so you don't have to 
get the results of the picker /exactly/ right the first time.  But you 
can't change that here and the choices you do have are fine as they are.  
You'll adjust them a bit later.

When you do click OK on the window info popup, you'll be back to the five-
tabbed edit window-specific settings rule creation dialog.  Here, the 
first two tabs form the filter (thus corresponding to the info in the 
selector, but giving you rather more fine detail control) used to apply 
the rules setup in the last three tabs.

On the first tab, window, you may want to change the description -- that's 
simply the human-readable name used in the window rules list, and doesn't 
affect the way the rule actually works at all.  If you leave it alone/
blank, it'll be filled in generically, "Settings for plasma", when you 
click OK.  But we already KNOW it's settings, and after you get about half 
a dozen entries all saying "settings for <whatever>, it gets a bit 
tiresome seeing that on all of them.  What I put on mine is "plasma top 
panel", specifically identifying the rule to me.  (If I have another rule 
for a different plasma window, simply "plasma" wouldn't be enough, but 
adding "top panel" adds enough info for me to know exactly what the filter 
is trying to accomplish.)

Window class: plasma .  The drop-down default match is exact.  But as I 
said in the earlier post, I had to experiment a bit to get this to work, 
as despite the fact that it was using the exact thing it had picked up 
from detect window properties, the rule refused to take effect initially, 
until I changed this to substring match, instead of exact.  But apparently 
the guy that told me about this workaround didn't have the same problem 
there, or at least he didn't mention it.  And if you get too lax, the 
filter will start applying to windows you don't expect, so if the strict 
exact match works for you, all the better.  You probably don't need match 
whole window class, as that tends to be an alternative to window role, 
which we'll use instead.

Window role.  If you have several panels, this one is important as it 
selects the specific panel you wish the rule applied to.  You don't want 
them ALL forced to the same place.  Here, it was panel_9 , exact match.  
(That's not to say that I actually have 9 panels.  I'd added and deleted 
them, tho, in the experimentation process that eventually lead to a setup 
I liked, and this was evidently the 9th panel I had setup.  FWIW, I only 
have two panels actually deployed.  But the other one has far different 
settings and I didn't want the rule to apply to both, so...).

Second tab: Window Extra .

As I mentioned above, Window Type Dock (panel) is VERY important, as you 
don't want the rule applying to, for instance, confirmation dialogs, etc, 
by accident.

Window title: plasma-desktop , exact match.  Again, you can play with this 
as necessary, but if exact match works, use it.

Extra role: Unimportant.  Apparently kde doesn't use the extra role label 
very often, so this is the usual setting for kde app windows.  But some 
non-kde apps sometimes use it to help distinguish between various windows 
in the application, so I'm glad the rules expose it as a filtering choice.

Machine hostname: unimportant.  If you run remote X setups, this can be 
useful.  But I don't and you /probably/ don't, so...

Then we get to the actual rules.  Here, it depends on your specific 
setup.  For the guy that suggested trying window rules to work around this 
problem, setting placement, force, no placement, on the bottom of the 
geometry tab, was apparently the trick.

For me, again on the geometry tab, setting position, force, and the 
appropriate position (0,0 , top left corner, in my case) worked better.  
No-placement might have actually worked, but as I said above I had to play 
with the filters a bit to get the rule to take effect at all, and by the 
time I figured out why it wasn't working, I was using position, force, 
instead, and I left it at what worked for me.

Not helpful for me in this case, but as a hint if you're trying to get a 
positioning rule to work and it's not, sometimes the application itself is 
interfering, and the workarounds tab can be quite helpful then.  In 
particular, I've had force-position rules that simply didn't work until I 
set BOTH ignore requested geometry, force, checked/ON, AND strictly obey 
requested geometry, force, unchecked/OFF.  (That non-kde app, apparently, 
was PARTICULARLY insistent on being placed in a particular location at a 
particular size, but I had other ideas, and was finally able to get them 
to apply after forcing BOTH strict geometry OFF and ignore geometry ON.  
Setting just ONE of them wasn't enough.)

I've also had cases where setting minimum size was useful, and can 
envision cases where the app's idea of global shortcuts conflicts with 
shortcuts kde is trying to use, thus making that one useful.

Kwin normally uses focus stealing prevention to prevent popup windows from 
appearing unexpectedly when you're typing, such that you suddenly find 
half the sentence you just wrote got submitted as, for instance, the 
password in a password popup!  But there are cases with browsers, in 
particular, where if a popup doesn't get the focus it was expecting, there 
are potential security implications, and there are other cases where you 
WANT popups to get the focus regardless, and still other cases where you 
don't want a particular popup that INSISTS on focus stealing to actually 
get it.  That's what the focus stealing option is all about, and why kde 
has shipped at various times with default rules forcing no-focus-stealing-
prevention, as a short-term workaround until kwin itself can have its 
logic updated so the user-visible rule is no longer needed.

There have been specific cases where preferences tab rules, keep above/
below, no border, and active/inactive opacity, have been helpful as well.  
(Unfortunately the opacity ones haven't always worked.  I have the window 
translucency effect on and inactive windows set to about 80% opaque, but 
some windows I want 100%, regardless of whether they're active or not, 
which is what setting the specific window inactive opacity should allow, 
but apparently for quite some time kwin hadn't implemented specific window 
exceptions and the general inactive opacity would override, despite what I 
set here.  I've learned to live with it, tho, and can't say for sure 
whether the problem still exists in 4.6 or not, as I don't recall 
registering irritation at it for awhile.  Maybe they've fixed it.  Maybe 
I've just gotten used to it.  I don't know which.  But it's clear what 
that option /should/ be able to do, in any case.)

I believe that's a reasonable intro to window rules.  Hopefully it's 
helpful regardless of whether it helps with this specific problem for 
you.  But of course I hope it ends up as a valid workaround for this 
problem, until they get it fixed, too.  If it's a side effect of the bug 
I'm seeing, it should, but the effects you're describing are enough 
different that I'm not sure whether it's the same bug (tho a different 
side effect of it) or a different one.  Here's hoping the workaround is 
valid for you, regardless!

Meanwhile, be aware that this IS a workaround.  When the bug is ultimately 
fixed, it may be that this will cause other conflicts.  So remember that 
you've set it up and be ready to disable it with a later 4.6 or when you 
upgrade to 4.7, etc. (You can temporarily disable a rule by for example 
setting it to match some weird machine hostname, thus keeping the rule 
around but disabled if you want to test if it's still needed or if it's 
interfering with something else, without the risk of actually deleting it, 
if desired.  It's easy enough to set the machine/hostname back to ignore, 
if you decide the rule's still needed, and just as easy to delete it 
either way, if you decide it's not.)

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman

___________________________________________________
This message is from the kde mailing list.
Account management:  https://mail.kde.org/mailman/listinfo/kde.
Archives: http://lists.kde.org/.
More info: http://www.kde.org/faq.html.




More information about the kde mailing list