You are not logged in.

#26 2012-08-28 14:40:20

avx
Member
Registered: 2011-07-05
Posts: 71

Re: simpleswitcher - lightweight EWMH window switcher

@aerosuidae,
simpleswitcher's now officially in portage, depending on how much time is needed for it in the future, I'll maintain it there.

As for pixelclock, this is what FVWM reports without special threatment

Name: pixelclock
Icon Name: pixelclock
Class: NoClass
Resource: NoResource
StickyPage: Yes
StickyDesk: Yes
StickyPageIcon: No
StickyDeskIcon: No
NoTitle: No
Transient: No
WindowListSkip: Yes
Focus Policy: Passive
  - Input Field: XWMHints missing
  - WM_TAKE-FOCUS: XGetWMProtocols failed

Edit, just to let you know, someone replied in the Gentoo thread that it's not working with dwm, tried it myself and it doesn't show up nor gives any output. Tried and working for me in fvwm, sawfish, awesome.

Last edited by avx (2012-08-28 15:53:57)

Offline

#27 2012-08-31 14:12:05

aerosuidae
Member
Registered: 2009-03-10
Posts: 248

Re: simpleswitcher - lightweight EWMH window switcher

@avx, I did some digging. Seems dwm does not support _NET_CLIENT_LIST_STACKING which simpleswitcher uses to get the window list.

Offline

#28 2012-08-31 15:17:46

Sirsurthur
Member
Registered: 2009-02-02
Posts: 114

Re: simpleswitcher - lightweight EWMH window switcher

@aerosuidae, it looks like simpleswitcher does not live well with herbstluftwm as well ? Is it also related to the _NET_CLIENT_LIST_STACKING support ?

Offline

#29 2012-09-01 13:55:29

aerosuidae
Member
Registered: 2009-03-10
Posts: 248

Re: simpleswitcher - lightweight EWMH window switcher

@Sirsurthur, I dug through herbstluftwm source and found it lists some invisible windows and it's own override_redirect frame windows in _NET_CLIENT_LIST_STACKING, but not in _NET_CLIENT_LIST.  Based on my understanding of EWMH I suspect that's a bug in herb... maybe.

Anyway it's easy enough to filter out that noise on simpleswitcher's side. Fix committed smile  Seems to work ok now on herb 0.4.1.

Offline

#30 2012-09-18 10:57:58

joepvd
Member
Registered: 2011-10-06
Posts: 31

Re: simpleswitcher - lightweight EWMH window switcher

Great application!

Does have some rough edges with i3-wm, though.

1. With F11, the window list is empty. And with F12, only the windows in the current Workspace are displayed.
2. i3bar is displayed among the available windows.

xprop reports the following about i3bar:

WM_STATE(WM_STATE):
		window state: Normal
		icon window: 0x0
_NET_WM_STRUT_PARTIAL(CARDINAL) = 0, 0, 19, 0, 0, 0, 0, 0, 0, 1024, 0, 0
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DOCK
WM_NAME(STRING) = "i3bar for output LVDS1"
WM_CLASS(STRING) = "i3bar", "i3bar"

For trouble-shooting, please use i3-git from AUR, as the 4.2 version will soon be depreciated.

Offline

#31 2012-09-18 11:12:09

joepvd
Member
Registered: 2011-10-06
Posts: 31

Re: simpleswitcher - lightweight EWMH window switcher

I just got word from the i3-developers that certain EWM-Hints are not supported by i3, and that it is not trivial to implement this, as this would allow apps to steal focus.

For i3-users stumbling upon this thread: The winmenu example of i3-py is a working alternative (albeit a bit slower).

Offline

#32 2012-09-18 12:48:34

aerosuidae
Member
Registered: 2009-03-10
Posts: 248

Re: simpleswitcher - lightweight EWMH window switcher

We can filter out _NET_WM_WINDOW_TYPE_DOCK on the fly. But not much more than that can be done where EWMH is simply lacking...

joepvd wrote:

I just got word from the i3-developers that certain EWM-Hints are not supported by i3, and that it is not trivial to implement this, as this would allow apps to steal focus.

Fair enough; to each their own!  IMO this is an odd choice, though, because it must block many useful panels/switchers/pagers.

Example: the _NET_ACTIVE_WINDOW request has a source indicator field to identify whether the request comes from an application or a pager, so the WM may handle appropriately. Obviously this field could be faked so apps raise themselves, but there is a simple for fix for such misbehaving apps... don't use them wink

Offline

#33 2012-09-19 07:16:55

Sirsurthur
Member
Registered: 2009-02-02
Posts: 114

Re: simpleswitcher - lightweight EWMH window switcher

@aerosuidae : Thanks for your fix for herbstluftwm. Still, if you have a workspace with only terminals, then you have to click on one of them, so that they got listed by simpleswitcher ? Simpleswitcher behaves well with clients like firefox, etc.

Offline

#34 2012-09-23 14:08:03

aerosuidae
Member
Registered: 2009-03-10
Posts: 248

Re: simpleswitcher - lightweight EWMH window switcher

@Sirsurthur, I see the problem, but so far I can't find a simpleswitcher-side fix sad  Seems to be some odd timing bug with herbstluftwm populating _NET_CLIENT_LIST_STACKING. I'll dig further when I get more spare time...

(edit: spelling!)

Last edited by aerosuidae (2012-09-23 14:08:26)

Offline

#35 2012-09-29 18:28:49

nisok
Member
Registered: 2012-07-23
Posts: 9
Website

Re: simpleswitcher - lightweight EWMH window switcher

Nice job man smile
Usefull tool !

Offline

#36 2012-11-06 18:07:53

quigybo
Member
Registered: 2009-01-15
Posts: 220

Re: simpleswitcher - lightweight EWMH window switcher

Very nice idea, thanks. I just tried it out on awesome, and while it does list windows on the current tag and switches to them when selected, I noticed the following issues:

  1. it does not list windows on other tags, even with -now/F12

  2. if a window has several tags, it will only be listed with -dnow/F11 if the current tag is the first tag it is tagged with (-now/F12 will however list all windows that have any of the currently visible tags, even if their first tag is not the current one)

  3. with -now/F12, if a window is on several tags, simpleswitcher will switch to the first tag before raising instead of raising it in the current tag (accordingly, the desktop number listed in the simpleswitcher window is always the first tag a window is tagged with)

@avx: you mention that it worked for you in awesome, did you experience any of these issues? Anybody else?

@aerosuidae: is awesome supported with simpleswitcher?

Offline

#37 2012-11-07 04:38:26

aerosuidae
Member
Registered: 2009-03-10
Posts: 248

Re: simpleswitcher - lightweight EWMH window switcher

@quigybo, #1 is a bug. Thanks for reporting it.

For #1, turns out I made an assumption about window states that isn't necessarily true for all window managers. Patch is committed.

However #2 and #3 are harder. Awesome appears to use a window's first tag as its desktop number and any other tags aren't exposed to EWMH. This choice makes sense because EWMH assumes one desktop per window or one window on all desktops, never one window on a subset of desktops (which would suit the concept of tags). So, need to think... ideas?

Offline

#38 2012-11-08 18:28:11

quigybo
Member
Registered: 2009-01-15
Posts: 220

Re: simpleswitcher - lightweight EWMH window switcher

Confirmed #1 is fixed, thanks for the quick response. I was afraid #2 and #3 were not going to be simple fixes, but thanks for looking into them anyway.

And just to make things more fun, there is one more thing I noticed (let's call it #4): if a window is floating and is (partially) obscured by another window, simpleswitcher makes it active but doesn't raise it above the other window.

May I also suggest the following improvements:

  1. shift-tab to moves to the previous item in the list

  2. pressing F11 when the all-windows dialog is visible should switch immediately to the current-desktop dialog, and vice-versa when pressing F12 in the current-desktop dialog

Offline

#39 2012-11-09 22:33:36

aerosuidae
Member
Registered: 2009-03-10
Posts: 248

Re: simpleswitcher - lightweight EWMH window switcher

To the best of my EWMH knowledge, #4 isn't a bug simpleswitcher can work around. It depends on how a WM handles a _NET_ACTIVE_WINDOW request. Many (most?) assume "active" implies both focus and raise. Looks like awesome only does focus. I suppose for a tiler, or for anything doing click-to-raise, that bahaviour makes sense. Perhaps someone more familiar with awesome can suggest a hack or config option.

I like a) and b) feature requests. Will have a look at them when I'm back in the vicinity of my dev environment in a few days...

Offline

#40 2012-11-09 23:47:19

Wibjarm
Member
Registered: 2012-05-04
Posts: 39

Re: simpleswitcher - lightweight EWMH window switcher

Yep, you'll want to hook something up to the client focused signal in your rc.lua if you want things to be raised automatically when anything switches to them.  For example, I have this, which does exactly that:

client.add_signal("focus", function(c) c:raise() end)

  If you already have a function hooked up to that signal, you can just add the c:raise() into that, as well.

Offline

#41 2012-11-18 07:51:36

aerosuidae
Member
Registered: 2009-03-10
Posts: 248

Re: simpleswitcher - lightweight EWMH window switcher

@Wibjarm, thank you!

quigybo wrote:

May I also suggest the following improvements:

  1. shift-tab to moves to the previous item in the list

  2. pressing F11 when the all-windows dialog is visible should switch immediately to the current-desktop dialog, and vice-versa when pressing F12 in the current-desktop dialog

These have both been implemented.

Offline

#42 2012-11-20 20:05:07

quigybo
Member
Registered: 2009-01-15
Posts: 220

Re: simpleswitcher - lightweight EWMH window switcher

@Wibjarm: thanks, I figured it was something like that (relatively new to awesome).

@aerosuidae: thanks for implementing those feature requests (and being open to my comments in general). Regarding b), when switching from the all-windows dialog to the current-desktop dialog, since the former is larger than the latter, an ugly grey background is left on screen from the larger window. Is this something you experience too?

Offline

#43 2012-11-28 01:46:21

aerosuidae
Member
Registered: 2009-03-10
Posts: 248

Re: simpleswitcher - lightweight EWMH window switcher

@quigybo, I do indeed see the background redraw problem on one of my machines. Fix is committed. Thanks...

Offline

#44 2012-11-28 20:07:36

quigybo
Member
Registered: 2009-01-15
Posts: 220

Re: simpleswitcher - lightweight EWMH window switcher

Fix confirmed, thanks again.

Offline

#45 2012-12-09 17:05:54

Pranavg1890
Member
From: Nagpur,India
Registered: 2012-09-07
Posts: 111

Re: simpleswitcher - lightweight EWMH window switcher

Hi aerosuidae, can you please implement a seperate dmenu version of the window selector you implemented in Musca wm, so that i can use it in openbox.


Using Openbox + Tint2 + Idesk

Offline

#46 2012-12-10 05:43:12

aerosuidae
Member
Registered: 2009-03-10
Posts: 248

Re: simpleswitcher - lightweight EWMH window switcher

@Pranavg1890, why not just script something with wmctrl? Eg:

wmctrl -l | cut -d' ' -f 1,5- | dmenu -l 10 | cut -d' ' -f 1 | xargs wmctrl -i -a

Offline

#47 2013-01-13 01:31:42

maattd
Member
From: Toulouse, France
Registered: 2008-08-23
Posts: 56
Website

Re: simpleswitcher - lightweight EWMH window switcher

Which tiling manager works completely properly with simpleswitcher? (I know that dwm and i3 doesn't completely cf previous post in this thread)

Offline

#48 2013-01-13 08:40:30

Barthalion
Developer
From: Poland
Registered: 2010-02-26
Posts: 109

Re: simpleswitcher - lightweight EWMH window switcher

Awesome works fine here.


Arch Linux - rolling release distro, which users want to downgrade to the previous version

Offline

#49 2013-01-15 05:30:14

anonymous_user
Member
Registered: 2009-08-28
Posts: 3,058

Re: simpleswitcher - lightweight EWMH window switcher

When using simpleswitch, is it possible to make awesomewm switch to the selected program when I select it (without having to press enter)?

I thought the code posted by Wibjarm would do exactly that but apparently not.

Or to ask it a different way: is it possible to make simpleswitch function like the alt-tab function of Windows and WMs like Openbox?

Last edited by anonymous_user (2013-01-15 05:32:10)

Offline

#50 2013-02-16 13:23:41

Cavedude
Member
Registered: 2011-12-21
Posts: 45

Re: simpleswitcher - lightweight EWMH window switcher

Works well on JWM but keepassx appears in the window list even when it has been minimized to the tray:

http://ompldr.org/vaGhleQ

Also, I want to use the windows key as a modifier. What's the keycode for that? Thanks for your work on this!

Offline

Board footer

Powered by FluxBB