gh0stzk / dotfiles

BSPWM environment with 18 themes. With a theme selector to change on the fly.
GNU General Public License v3.0
2.82k stars 209 forks source link

Suggestions and queries #232

Closed 0xN1nja closed 5 months ago

0xN1nja commented 5 months ago

Hey @gh0stzk! While migrating your latest config to my fork, I came up with some ideas that I thought I'd suggest to you.


1.) The clipboard in xclip can only save one text/image at a time. Since you're good with rofi, I think you should consider adding a rofi clipboard manager as well.


2.) Can we modify the HideBar script so that it can detect which desktop we're currently on and hide the bar of that specific desktop?


3.) This isn't a suggestion but something related to polybar resolution. When I use an external monitor in my setup (my second desktop has a resolution of 1600x900), pamela's bar renders a bit oddly on the second desktop. It looks like this:

image

image

Is there a fix for this?


4.) Again, related to dual desktops, but when I open the scratchpad terminal, it renders on both desktops:

image

Is there a way to limit it to just one specific desktop (the current desktop)? Sorry, I know you don't have an external monitor, but I thought you might know a way to resolve these two issues.


5.) The 'mpd' module on polybar takes the title from mpd. But to make it more flexible, how can we use MediaControl --title so that it shows the title of current songs playing on Spotify as well?


6.) This is a question, but why are you using almost all images in the .webp format? Is there a specific reason for this?


7.) Lastly, why are you using pulseaudio in your dotfiles? Why not pipewire?

gh0stzk commented 5 months ago

Hello, first the easy ones...

i use pipewire, where i use pulse??

The webp images are to reduce the repo size, there are several wallpapers above 8, 9 , 10 mb, and the 15 rices have 7 wallpapers or more, do the math.

The 3rd ponint, yeah is about the resolution, the bar without space will render oddly, is because the lack of space thats the reason you see things like this:

Shot-2024-04-21-191205

Solution, remove one or more modules.

Point 1, yes i will take a look of a rofi clipboard, i see some for around the internet, maybe i will add in next updates.

Yes the mpd module takes the title from mpd, this is the internal mpd module from polybar, to make the module you want, we need to make a new module, I don't know how to create a module from scratch for polybar, it would take time considering what I'm documenting. However, there are ready-made modules from third parties that can do what you want.

About the scratchpad, i think there is an option for that, will check the documentation in the scratchpad github.

Regarding the hidebar script, as such it is not necessary to modify it, but on the other hand, in external rules, the code can live there to identify the desktop and launch the action you want.

But, in this case it is a very specific use, which maybe you need but I don't know if the vast majority of people need it.

But it can be done I suppose easily with a bit of bspwm scripting. In the arch wiki they even leave a script so that every window opened in certain desktop open in floating state, the same could be done here, except by modifying the part where the action is to hide the bars.

0xN1nja commented 5 months ago

Thank you so much for replying so quickly.

I noticed that in rices/*/modules.ini, the pulseaudio module is defined:

[module/pulseaudio]
type = internal/pulseaudio

;;sink = alsa_output.pci-0000_00_1b.0.analog-stereo
use-ui-max = true
interval = 5

format-volume = <label-volume>
format-volume-prefix = ""
format-volume-prefix-font = 2
format-volume-background = ${color.mb}
format-volume-foreground = ${color.indigo}

label-volume = " %percentage%% "
label-volume-background = ${color.mb}
label-volume-foreground = ${color.fg}

format-muted = <label-muted>
format-muted-prefix = 
format-muted-prefix-font = 2
format-muted-foreground = ${color.indigo}
format-muted-background = ${color.mb}
label-muted = " Muted "
label-muted-foreground = ${color.red}
label-muted-background = ${color.mb}

ramp-volume-0 = 
ramp-volume-1 = 
ramp-volume-2 = 
ramp-volume-3 = 
ramp-volume-4 = 

click-right = OpenApps --soundcontrol

I'm not sure if this is related to sound or specifically to pulseaudio, because I use pulseaudio myself.


Also, when it comes to custom modules, most of the work has already been done. For example, you've already created a module for updates that fetches output using Updates --get-updates:

[module/updates]
type = custom/script
exec = Updates --get-updates
interval = 120

format-prefix = " "
format-prefix-font = 2
format-prefix-background = ${color.mb}
format-prefix-foreground = ${color.lime}

label = %output%
label-background = ${color.mb}

click-left = OpenApps --update
click-right = OpenApps --checkupdates

Similarly, we can fetch the title from the music player using exec = MediaControl --title. This will provide a lot of flexibility because we'll be able to render the current song title from spotify as well.


As for your other points, yes, almost all of my queries have been resolved. The only remaining request is whenever you have time, please add a rofi clipboard manager as well because that's a much-needed feature (at least for me).

gh0stzk commented 5 months ago

Oh yes, but there is not a module for pipewire in polybar, but having pipewire-pulse makes the module works.

ohh yes, mmmm will try making a module for/with mediacontrol.

Yes letme find a light and powerfull clipboard manager and will implement this.