adi1090x / polybar-themes

A huge collection of polybar themes with different styles, colors and variants.
GNU General Public License v3.0
5.59k stars 407 forks source link

Dual Monitors causes two workspaces. #184

Open blank1-Dev opened 1 year ago

blank1-Dev commented 1 year ago

The Problem

I recently copied my configuration from my laptop onto a desktop with two monitors. As I wanted, it showed only one workspace module (for my main monitor). However after I made a change to the icon apperance in my config it added another workspace (see screenshot) which turns orange when I select a window in the other monitor. I tried reverting the config back to its origanal state but this is still occuring. How do I disable this duplicate workspace?

When focusing on second monitor. I do not want it to show workspaces for a second monitor. image

When focusing on first monitor. This is the only one I want displayed. image

Modules.ini

`[module/workspaces] type = internal/xworkspaces

; Only show workspaces defined on the same output as the bar ; ; Useful if you want to show monitor specific workspaces ; on different bars ; ; Default: false pin-workspaces = false

; Create click handler used to focus desktop ; Default: true enable-click = true

; Create scroll handlers used to cycle desktops ; Default: true enable-scroll = true

; icon-[0-9]+ = ; ; NOTE: The desktop name needs to match the name configured by the WM ; You can get a list of the defined desktops using: ; $ xprop -root _NET_DESKTOP_NAMES icon-0 = 1;1 icon-1 = 2;2 icon-2 = 3;3 icon-3 = 4;4 icon-4 = 5;5 icon-5 = 6;6 icon-6 = 7;7 icon-7 = 8;8 icon-8 = 9;9 icon-default =

; Available tags: ; ; - gets replaced with <label-(active|urgent|occupied|empty)> ; Default: format = format-background = ${color.background} format-padding = 0

; Available tokens: ; %name% ; Default: %name% label-monitor = %name%

; Available tokens: ; %name% ; %icon% ; %index% ; Default: %icon% %name% label-active = %icon% label-active-foreground = ${color.yellow} label-active-overline = ${color.blue}

; Available tokens: ; %name% ; %icon% ; %index% ; Default: %icon% %name% label-occupied = %icon%

; Available tokens: ; %name% ; %icon% ; %index% ; Default: %icon% %name% label-urgent = %icon% label-urgent-foreground = ${color.green}

; Available tokens: ; %name% ; %icon% ; %index% ; Default: %icon% %name% label-empty = %icon%

label-active-padding = 1 label-urgent-padding = 1 label-occupied-padding = 1 label-empty-padding = 1`

Bar Config

`[bar/top] inherit = bar/main modules-left = workspaces decor1 decor2 decor1 modules-right = decor4 updates network battery date sysmenu tray-position = center tray-foreground = ${root.foreground} tray-background = ${root.background} tray-transparent = false tray-maxsize = 16

[bar/bottom] inherit = bar/main bottom = true modules-left = cpu memory filesystem decor3 modules-center = matrix spotify browse office steam modules-right = decor2 mpd volume brightness enable-ipc = true`

I appologize if this is a duplicate issue or im missing s simple setting or something. I couldn't find anyone experiencing this.

blank1-Dev commented 1 year ago

; Only show workspaces defined on the same output as the bar ; ; Useful if you want to show monitor specific workspaces ; on different bars ; ; Default: false pin-workspaces = false

I have also tried changing this option, which did not resolve it.

blank1-Dev commented 1 year ago

" -- Each screen has its own tag table." is what I just noticed in my rc.lua for awesome WM, anyone know how to configure this to not do that in a way where it wont display on the bar but keep the functionality?

fragoulis commented 1 year ago

Each screen requires its own polybar instance and you can control that with the -q parameter just like you do with the top/bottom.

For example, I use the forest theme and I have a main bar for the main screen and a secondary bar for the smaller screen:

[bar/secondary]
inherit = bar/main
modules-left =
modules-center = workspaces
modules-right = sysmenu
tray-position = none

If you do not with to have the workspaces in one of your screens, you should overwrite the respective modules-* element for that screen's polybar instance.