soulthreads / xwinmosaic Goto Github PK
View Code? Open in Web Editor NEWX11 window switcher with fancy look.
License: BSD 2-Clause "Simplified" License
X11 window switcher with fancy look.
License: BSD 2-Clause "Simplified" License
Хочется иметь возможность корректировать цветовую схему из cli
to reproduce:
I may push ebuild to funtoo flora overlay. (http://www.funtoo.org/wiki/Flora) From there it would be merged to Funtoo itself. But it would be easier if you, as developer would push it there, it's easy as you just push it to flora github repo, as said in wiki above.
If you need help, ask me. And shalom from LOR.
I suggest alternative swtiching mode: hotkey hint (0, 1, 2, ..., 9, a, b, c ...) is placed near each window box, and window is activated on this hotkey press. This IMHO can be simplier and faster, than selecting window with arrows and hitting enter.
Реквестирую опционально vim-mode с переключением окон по H-J-K-L и поиском по /
Should only be implemented after fixing issue #19.
GPL'ed implementation example http://taskswitchxp.en.softonic.com/
The reason is unknown yet.
Currently help page says that with command line option -R
or --persistent
you can make xwinmosaic act as an Alt-Tab switcher:
Make XWinMosaic acts like Alt-Tab switcher
However if you try to bind it to Alt-Tab in practise (tried Openbox keybindings and xbindkeys), there are multiple problems and in the end I find the description of this option rather confusing:
I suggest rephrasing the description of the Alt-Tab option and say it just daemonizes the application and nothing more, or much better, implement the true Alt-Tab switcher behaviour and add it as a separate option (or default behaviour in case of daemonizing).
My Openbox configuration experiment:
<!-- Keybindings for window switching -->
<keybind key="A-Tab">
<action name="If">
<query>
<name>xwinmosaic</name>
</query>
<else>
<action name="execute">
<command>xwinmosaic</command>
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</action>
</else>
</action>
</keybind>
Or maybe you can share some example keybinding options for generic GNU/Linux desktop environments to make it work as an Alt-Tab switcher? Am I missing something here?
Use case for a persistent mode:
Не у всех приложений есть свои иконки. Urxvt тот же, например.
Жизненно необходим конфигурационный фаел!
This is what i get when try to launch this software.
When i tried to start this in debugger it locked my display.
$ src/xwinmosaic
*** glibc detected *** src/xwinmosaic: munmap_chunk(): invalid pointer: 0x0000000000409da5 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x7e626)[0x7f97ce285626]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x1522e)[0x7f97cec0222e]
src/xwinmosaic[0x406b6c]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_object_newv+0x294)[0x7f97cec036e4]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_object_new_valist+0x1d6)[0x7f97cec03ec6]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_object_new+0xd4)[0x7f97cec041d4]
src/xwinmosaic[0x408f60]
src/xwinmosaic[0x409a80]
/usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0(+0x59e26)[0x7f97cf373e26]
/usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0(+0x5bbd6)[0x7f97cf375bd6]
/usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0(+0x5bc7e)[0x7f97cf375c7e]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x16a)[0x7f97ce93fc9a]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x48060)[0x7f97ce940060]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_loop_run+0x6a)[0x7f97ce94045a]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(gtk_main+0xa7)[0x7f97cf7002f7]
src/xwinmosaic(main+0x5b8)[0x404788]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x7f97ce22876d]
src/xwinmosaic[0x4048c9]
======= Memory map: ========
00400000-0040c000 r-xp 00000000 08:08 6293629 /home/artifth/src/xwinmosaic/build/src/xwinmosaic
0060b000-0060c000 r--p 0000b000 08:08 6293629 /home/artifth/src/xwinmosaic/build/src/xwinmosaic
0060c000-0060d000 rw-p 0000c000 08:08 6293629 /home/artifth/src/xwinmosaic/build/src/xwinmosaic
008aa000-00adc000 rw-p 00000000 00:00 0 [heap]
7f97b8000000-7f97b8022000 rw-p 00000000 00:00 0
7f97b8022000-7f97bc000000 ---p 00000000 00:00 0
7f97c0000000-7f97c0022000 rw-p 00000000 00:00 0
7f97c0022000-7f97c4000000 ---p 00000000 00:00 0
7f97c51a6000-7f97c51bb000 r-xp 00000000 08:07 1439024 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f97c51bb000-7f97c53ba000 ---p 00015000 08:07 1439024 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f97c53ba000-7f97c53bb000 r--p 00014000 08:07 1439024 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f97c53bb000-7f97c53bc000 rw-p 00015000 08:07 1439024 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f97c53bc000-7f97c53c8000 r-xp 00000000 08:07 1444208 /lib/x86_64-linux-gnu/libudev.so.0.13.0
7f97c53c8000-7f97c55c7000 ---p 0000c000 08:07 1444208 /lib/x86_64-linux-gnu/libudev.so.0.13.0
7f97c55c7000-7f97c55c8000 r--p 0000b000 08:07 1444208 /lib/x86_64-linux-gnu/libudev.so.0.13.0
7f97c55c8000-7f97c55c9000 rw-p 0000c000 08:07 1444208 /lib/x86_64-linux-gnu/libudev.so.0.13.0
7f97c55c9000-7f97c560b000 r-xp 00000000 08:07 1439035 /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8
7f97c560b000-7f97c580b000 ---p 00042000 08:07 1439035 /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8
7f97c580b000-7f97c580c000 r--p 00042000 08:07 1439035 /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8
7f97c580c000-7f97c580d000 rw-p 00043000 08:07 1439035 /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8
7f97c580d000-7f97c5823000 r-xp 00000000 08:07 398029 /usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so
7f97c5823000-7f97c5a22000 ---p 00016000 08:07 398029 /usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so
7f97c5a22000-7f97c5a23000 r--p 00015000 08:07 398029 /usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so
7f97c5a23000-7f97c5a24000 rw-p 00016000 08:07 398029 /usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so
7f97c5a24000-7f97c5a4c000 r-xp 00000000 08:07 398645 /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
7f97c5a4c000-7f97c5c4b000 ---p 00028000 08:07 398645 /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
7f97c5c4b000-7f97c5c4c000 r--p 00027000 08:07 398645 /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
7f97c5c4c000-7f97c5c4d000 rw-p 00028000 08:07 398645 /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
7f97c5c4d000-7f97c5c91000 r-xp 00000000 08:07 394710 /usr/lib/x86_64-linux-gnu/libibus-1.0.so.0.401.0
7f97c5c91000-7f97c5e90000 ---p 00044000 08:07 394710 /usr/lib/x86_64-linux-gnu/libibus-1.0.so.0.401.0
7f97c5e90000-7f97c5e92000 r--p 00043000 08:07 394710 /usr/lib/x86_64-linux-gnu/libibus-1.0.so.0.401.0
7f97c5e92000-7f97c5e93000 rw-p 00045000 08:07 394710 /usr/lib/x86_64-linux-gnu/libibus-1.0.so.0.401.0
7f97c5e93000-7f97c5e94000 rw-p 00000000 00:00 0
7f97c5ec7000-7f97c5ecd000 r-xp 00000000 08:07 523582 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so
7f97c5ecd000-7f97c60cc000 ---p 00006000 08:07 523582 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so
7f97c60cc000-7f97c60cd000 r--p 00005000 08:07 523582 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so
7f97c60cd000-7f97c60ce000 rw-p 00006000 08:07 523582 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so
7f97c60ce000-7f97c6125000 r--p 00000000 08:07 925923 /usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-R.ttf
7f97c6125000-7f97c6127000 r-xp 00000000 08:07 524552 /usr/lib/x86_64-linux-gnu/pango/1.6.0/modules/pango-basic-fc.so
7f97c6127000-7f97c6326000 ---p 00002000 08:07 524552 /usr/lib/x86_64-linux-gnu/pango/1.6.0/modules/pango-basic-fc.so
7f97c6326000-7f97c6327000 r--p 00001000 08:07 524552 /usr/lib/x86_64-linux-gnu/pango/1.6.0/modules/pango-basic-fc.so
7f97c6327000-7f97c6328000 rw-p 00002000 08:07 524552 /usr/lib/x86_64-linux-gnu/pango/1.6.0/modules/pango-basic-fc.so
7f97c6328000-7f97c6331000 r-xp 00000000 08:07 524564 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.so
7f97c6331000-7f97c6531000 ---p 00009000 08:07 524564 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.soАварийный останов (core dumped)
Here is cmake output:
-- The C compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- checking for modules 'gtk+-2.0;x11'
-- found gtk+-2.0, version 2.24.10
-- found x11, version 1.4.99.1
-- Configuring done
-- Generating done
-- Build files have been written to: /home/artifth/src/xwinmosaic/build
System: Ubuntu 12.04 LTS.
Not sure how else to phrase it, but it would be awesome if xwinmosaic supported activating an item in the list immediately after it was focused.
Personally, I've used GridSelect to do this for music control. What'll happen is that I have the music controls layed out, and co-ordinated it so that pause is always 'up', for instance. Anyways, I've developed some muscle memory that Meta-Z, k is pause (as I use vim keybindings).
I think this might be nice. If I'm a bit vague or missing some details, it's a bit late and I may have had a few too many drinks...
Когда на одном табе одно окно находится сверху другого, то происходит только перенос фокуса, но само окно не выносится на передний план
XWinMosaic uses g_key_file_unref(), but this API is only available starting glib 2.32, so I think it would be nice to add glib >= 2.32 in dependences.
(Or simply drop this call if glib version is less than 2.32)
Thanks for this tool, I've been using it for a long time.
Recently I discovered in portrait mode it still thinks the resolution is 1920x1200, while in fact it's 1200x1920 🙂
This is only reproducible when you select an item while on the screen in landscape mode and launch xwinmosaic again on the screen in portrait mode (xwinmosaic will be seen as cut off from the right side of the screen). But if you do the latter once again, it will detect screen dimensions properly.
So, for example, if there is another window filtering bug on Windows again, you can exclude some filthy windows from mosaic.
Something like
ignore_window_class = WinClass1; WinClass2
ignore_window_title = "Window Title 1"; "Window Title 2"
would suffice.
this no longer builds with GCC 10 it requires gcc 9.3
It would be cool to have options to override:
I was configuring xwinmosaic to use dark colors and window titles are mostly invisible
Reading the source code, it shouldn't be too hard to implement. However, the logic assumes that color_file
exists, so perhaps the default value should only be set if it exists?
Why? I'd like to configure xwinmosaic across a broad range of computers that have different $HOME
.
Alternate idea, cd to $XDG_CONFIG_HOME/xwinmosaic
before trying to open the file, so that absolute paths will work as normal, but any relative files would be within that directory. (Then I could configure 'color_file = colors' and it would load $XDG_CONFIG_HOME/xwinmosaic/colors
.)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.