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

Multi-monitor support? #14

Open
GNeulaender opened this issue Aug 25, 2020 · 15 comments
Open

Multi-monitor support? #14

GNeulaender opened this issue Aug 25, 2020 · 15 comments

Comments

@GNeulaender
Copy link

Is there anyway to set different wallpapers for different monitors? I have a setup with two monitors that don't share the same resolution and the program doesn't seen to know how to deal with it.

@glouw
Copy link
Owner

glouw commented Aug 26, 2020

Different monitor sizes complicate matters sadly since a smaller monitor is registered the size of the largest monitor. I do not currently have a solution for this, as I plan to keep the code simple. Fortunately, if monitors are the same size, you could just double the width of your BMPs and tile them when resizing:

$ file out-1.bmp
out-1.bmp: PC bitmap, Windows 98/2000 and newer format, 500 x 288 x 24

$ convert -size 1000x288 tile:out-1.bmp out-1.bmp

out-1

@plasmoduck
Copy link

Can you please make an option to select which monitor you want to run paperview on. I have 2 monitors, one 27" and the other 23", different resolutions and it looks like shit how it stretches the picture. Should be trivial to add an argument to select which monitor you want to run paper view, either 0 Main monitor, 1 Second monitor or -1 All monitors like current behavior. These are the same settings dwm uses. That way I can use a normal wallpaper on my smaller monitor.

@glouw
Copy link
Owner

glouw commented Sep 20, 2020

I'll see what I can do when I get the time. The trick lies in:

const Window x11w = RootWindow(self.x11d, DefaultScreen(self.x11d));

Where the call to DefaultScreen needs to be replaced with a different call.

@glouw
Copy link
Owner

glouw commented Sep 20, 2020

Actually, you know, now that I think about it, there is a really clean solution to this. I'm out for the rest of the day, but if you can check back round about 11PM Pacific Time I should have something up.

@glouw
Copy link
Owner

glouw commented Sep 21, 2020

@GNeulaender @plasmoduck

I have added multi-monitor support. Please checkout this branch and confirm it works:

https://github.com/glouw/paperview/tree/add-multi-monitor-support

I will merge this branch into master with your approval of its workings. The gist is:

./paperview FOLDER SPEED X Y W H FOLDER SPEED X Y W H 

Please see Multi Monitor Use in the README for further details. You can add as many FOLDER/SPEED pairs as you like.

output

@plasmoduck
Copy link

plasmoduck commented Sep 21, 2020

I can confirm it works on FreeBSD :) Now to figure out how to run with compositor. I'm guessing cause they both (picom/compton & paperview) try to draw to the same root window?

paperview1

@glouw
Copy link
Owner

glouw commented Sep 21, 2020

Yup that is correct - Anything drawn by paperview onto the root window will be overdrawn by the compositor. I suppose one could write their own compositor. I've never used a compositor myself, but if you get around to figuring out how to incorporate one with paperview, please post your method here. I'm sure many will like to know as I have had many ask about Picom / Compton.

@plasmoduck
Copy link

plasmoduck commented Sep 21, 2020

I rarely use a compositor also. But it would be nice to have working. I'll look into it. Should be good to merge with master branch. Btw, if your interested, here is my project - MODWM

@glouw
Copy link
Owner

glouw commented Sep 21, 2020

Looks pretty good. Nice colors and tiling. I've been a DWM fan for years. My setup is pretty basic though, just the per-tag patch, some coloring, and d-menu with conky. Regardless, if its DWM, its rock solid. I'll give your a WM a try one day.

I'll merge the multi-monitor-support branch into master later today for sure.

@plasmoduck
Copy link

MODWM is dwm with all the patches from suckless.org plus some custom ones like bar border, powerline tags, powerline status etc. You can choose which patches you want to include in your build by editing patches.def.h and puting either 0 or 1 to enable/disable the patch and when you build dwm with contain ONLY the code you selected. Hence the name MODWM being modular.

@glouw
Copy link
Owner

glouw commented Sep 22, 2020

Ah, actually, I had Github recommend me this repo once. I thought it looked familiar. Good job, its like the Linux kernel with its setup flags. I never really understood why DWM comes in such a poor shape out of the box. Most patches, like pertag and border fixes should be standard in my opinion.

@GNeulaender
Copy link
Author

I haven't had time to try the multi-monitor feature yet, I hope I can do that this weekend. But it's seems to be working fine for you, so I'm not worried

@glouw
Copy link
Owner

glouw commented Sep 23, 2020

I've merged to master. so I hope you enjoy. I'm using it daily and am very pleased I finally got around to it. Makes a world of a difference

@plasmoduck
Copy link

plasmoduck commented Sep 23, 2020 via email

@plasmoduck
Copy link

GNeulaender you should close this issue.

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

No branches or pull requests

3 participants