Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Keymap to switch between monitors #33

Open
2 of 4 tasks
Lang-Lovdog opened this issue Dec 14, 2024 · 15 comments
Open
2 of 4 tasks

Keymap to switch between monitors #33

Lang-Lovdog opened this issue Dec 14, 2024 · 15 comments
Assignees

Comments

@Lang-Lovdog
Copy link

Issue Type

  • Bug Report
  • Feature Request
  • Enhancement

Description

Switch between different monitors without mouse, using keymapping.

Behavior

Hit mapped key in order to change focus from monitor X to monitor Y.

Checklist

  • I have searched for duplicate issues to ensure this is not a duplicate.

@yazeed1s yazeed1s self-assigned this Dec 14, 2024
@yazeed1s yazeed1s mentioned this issue Dec 15, 2024
@yazeed1s
Copy link
Owner

@Lang-Lovdog the feature should be available in #36. You can use it with

; cycle focus between monitors
bind = super|ctrl + right -> func(cycle_monitors:next)
bind = super|ctrl + left -> func(cycle_monitors:prev)

I am traveling rn, i cannot merge it to main before i test it fully. Feel free to pull the code from #36 and use it.

@Lang-Lovdog
Copy link
Author

Lang-Lovdog commented Dec 24, 2024

@yazeed1s, Thanks, I'll test it. Well, I guess “test” is not the right verb. But it is the nearest.

@yazeed1s
Copy link
Owner

@Lang-Lovdog np

@Lang-Lovdog
Copy link
Author

@yazeed1s Happy new year!
I know it's not the place hahaha. But, wanted to wish you a good year.

@yazeed1s
Copy link
Owner

yazeed1s commented Jan 3, 2025

@Lang-Lovdog thanks buddy, i wish you a new happy year too. Make the most out of it!

@Lang-Lovdog
Copy link
Author

Lang-Lovdog commented Jan 4, 2025

@yazeed1s, Tahks!!!

Going back to the window manager. Everything's working fine with the monitor cycle feature!
And the keyboard resizing fits pretty well the window manager, I can say I feel pretty comfortable with it.


I'll just discovered that GTK applications GUIs tend to glitch or just doesn't display.
xdotool windowmap does the trick most of the times. If there's a dropdown or tray icon hidde feature, then I can try to hidde and show as many times as needed to display correctly the window. I only got that, but can't say why it can be.

Also, since I discovered xdotool window mapping feature, I'm interested in create a complement to zwm for hidden window management (it'll be TUI or CLI, tho). Do you know if XCB is capable of that? (srry I'm too new into this field of user interfaces).

@yazeed1s
Copy link
Owner

yazeed1s commented Jan 4, 2025

@yazeed1s, Tahks!!!

Going back to the window manager. Everything's working fine with the monitor cycle feature!

And the keyboard resizing fits pretty well the window manager, I can say I feel pretty comfortable with it.


I'll just discovered that GTK applications GUIs tend to glitch or just doesn't display.

xdotool windowmap does the trick most of the times. If there's a dropdown or tray icon hidde feature, then I can try to hidde and show as many times as needed to display correctly the window. I only got that, but can't say why it can be.

Also, since I discovered xdotool window mapping feature, I'm interested in create a complement to zwm for hidden window management (it'll be TUI or CLI, tho). Do you know if XCB is capable of that? (srry I'm too new into this field of user interfaces).

Thanks! I have merged the latest changes to main yesterday. Seems like the implementation has been solid so far. Regarding the gtk issue, can you give me a specific application so i can investigate this further? Most likely im ignoring some window hints or forcing some behavior for dropdown menus and such. For the cli/tui complement, yes you can absolutely do that using xcb. There's functions for mapping or unmapping windows, but u need to query x11 to find the window id you're interested in, or let the user supply that for you. I think some applications don't support this hide behavior, there's a protocol for that, but u can force whatever behavior u want on windows.

@yazeed1s
Copy link
Owner

yazeed1s commented Jan 4, 2025

Lemme know if i can help with this tool you're planning to implement, i will be happy to do so

@Lang-Lovdog
Copy link
Author

Lang-Lovdog commented Jan 4, 2025

About GTK applications I use that glitches, there are

  • Cinelerra-GG which, doesn't use GTK toolkit, but its toolkit is based on GTK as long as I found on a research I did.

  • Ardour, which uses GTK2 for its GUI

  • xfce4-terminal, no matter if it's the drop-down or the window, it glitches hahaha, I'm using alacritty now because of it, and no regrets! Alacritty is way more customizable than xfce4 terminal.

@Lang-Lovdog
Copy link
Author

About GTK applications I use that glitches, there are

  • Cinelerra-GG which, doesn't use GTK toolkit, but its toolkit is based on GTK based on a research I did.

  • Ardour, which uses GTK2 for its GUI

  • xfce4-terminal, no matter if it's the drop-down or the window, it glitches hahaha, I'm using alacritty now because of it, and no regrets! Alacritty is way more customizable than xfce4 terminal.

@Lang-Lovdog
Copy link
Author

Lemme know if i can help with this tool you're planning to implement, i will be happy to do so

Thanks!!, I think it would be good to have documentation or references about xcb.

@yazeed1s
Copy link
Owner

yazeed1s commented Jan 4, 2025

Okay cool, i haven't actually used any of these apps, but i will install them this week and investigate what's going on. I'll open a new issue for it soon. Thanks for reporting this!

@yazeed1s
Copy link
Owner

yazeed1s commented Jan 4, 2025

Lemme know if i can help with this tool you're planning to implement, i will be happy to do so

Thanks!!, I think it would be good to have documentation or references about xcb.

Yeah that's desirable, but unfortunately xcb is poorly documented, its docs are filled with TODOs from like 10 years ago. But you should be able to find superficial information about the api, and if you wanna dig deeper you need to do lots of source code reading. I use i3 and awesomewm as a reference, they've documented the xcb api better than xcb devs themselves.

@Lang-Lovdog
Copy link
Author

Lemme know if i can help with this tool you're planning to implement, i will be happy to do so

Thanks!!, I think it would be good to have documentation or references about xcb.

Yeah that's desirable, but unfortunately xcb is poorly documented, its docs are filled with TODOs from like 10 years ago. But you should be able to find superficial information about the api, and if you wanna dig deeper you need to do lots of source code reading. I use i3 and awesomewm as a reference, they've documented the xcb api better than xcb devs themselves.

Hahaha, it's funny that the most useful libraries, usually are the less documented.

Thanks for the advice. I was wondering where to take the docs.

@yazeed1s
Copy link
Owner

yazeed1s commented Jan 4, 2025

Lemme know if i can help with this tool you're planning to implement, i will be happy to do so

Thanks!!, I think it would be good to have documentation or references about xcb.

Yeah that's desirable, but unfortunately xcb is poorly documented, its docs are filled with TODOs from like 10 years ago. But you should be able to find superficial information about the api, and if you wanna dig deeper you need to do lots of source code reading. I use i3 and awesomewm as a reference, they've documented the xcb api better than xcb devs themselves.

Hahaha, it's funny that the most useful libraries, usually are the less documented.

Thanks for the advice. I was wondering where to take the docs.

Lol, yeah that's the unfortunate truth about old libraries. But xcb is commonly used tho, u should be fine with source code based knowledge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants