andreykaere / ixwindow

Iconized xwindow module for Polybar (for bspwm and i3wm)
38 stars 3 forks source link

Fix issue #10 "No Icons after manually compiling (multiple issues)" #11

Closed andreykaere closed 9 months ago

andreykaere commented 9 months ago

@Samueru-sama, please checkout to 'fix/issue10' branch, compile and run (without integrating it in polybar). And run polybar without ixwindow module. I wanna see the output of cargo run in the terminal

Samueru-sama commented 9 months ago

@Samueru-sama, please checkout to 'fix/issue10' branch, compile and run (without integrating it in polybar). And run polybar without ixwindow module. I wanna see the output of cargo run in the terminal

HI, sorry but I'm not sure what is the output of cargo run, you mean this?

Without ixwindow running in polybar:

~/ixwindow/ cargo build --release
   Compiling autocfg v1.1.0
   Compiling proc-macro2 v1.0.69
   Compiling unicode-ident v1.0.12
   Compiling cfg-if v1.0.0
   Compiling scopeguard v1.2.0
   Compiling crossbeam-utils v0.8.16
   Compiling serde v1.0.193
   Compiling libc v0.2.150
   Compiling simd-adler32 v0.3.7
   Compiling rayon-core v1.12.0
   Compiling crc32fast v1.3.2
   Compiling adler v1.0.2
   Compiling rustversion v1.0.14
   Compiling syn v1.0.109
   Compiling bitflags v1.3.2
   Compiling heck v0.4.1
   Compiling serde_json v1.0.108
   Compiling utf8parse v0.2.1
   Compiling either v1.9.0
   Compiling anstyle-query v1.0.0
   Compiling colorchoice v1.0.0
   Compiling itoa v1.0.9
   Compiling anstyle v1.0.4
   Compiling anstyle-parse v0.2.2
   Compiling option-ext v0.2.0
   Compiling equivalent v1.0.1
   Compiling ryu v1.0.15
   Compiling weezl v0.1.7
   Compiling hashbrown v0.14.2
   Compiling miniz_oxide v0.7.1
   Compiling zune-inflate v0.2.54
   Compiling fdeflate v0.3.1
   Compiling lebe v0.5.2
   Compiling clap_lex v0.6.0
   Compiling anstream v0.6.4
   Compiling bytemuck v1.14.0
   Compiling half v2.2.1
   Compiling bit_field v0.10.2
   Compiling winnow v0.5.19
   Compiling strsim v0.10.0
   Compiling smallvec v1.11.2
   Compiling memoffset v0.9.0
   Compiling crossbeam-epoch v0.9.15
   Compiling lock_api v0.4.11
   Compiling memoffset v0.6.5
   Compiling num-traits v0.2.17
   Compiling num-integer v0.1.45
   Compiling flate2 v1.0.28
   Compiling num-rational v0.4.1
   Compiling quote v1.0.33
   Compiling indexmap v2.1.0
   Compiling anyhow v1.0.75
   Compiling byteorder v1.5.0
   Compiling spin v0.9.8
   Compiling color_quant v1.1.0
   Compiling syn v2.0.39
   Compiling crossbeam-deque v0.8.3
   Compiling flume v0.11.0
   Compiling png v0.17.10
   Compiling gif v0.12.0
   Compiling qoi v0.4.1
   Compiling clap_builder v4.4.8
   Compiling log v0.4.20
   Compiling rayon v1.8.0
   Compiling exr v1.71.0
   Compiling nix v0.25.1
   Compiling dirs-sys v0.4.1
   Compiling gethostname v0.2.3
   Compiling dirs v5.0.1
   Compiling shellexpand v3.1.0
   Compiling x11rb-protocol v0.11.1
   Compiling strum_macros v0.24.3
   Compiling serde_derive v1.0.193
   Compiling clap_derive v4.4.7
   Compiling jpeg-decoder v0.3.0
   Compiling strum v0.24.1
   Compiling tiff v0.9.0
   Compiling image v0.24.7
   Compiling clap v4.4.8
   Compiling serde_spanned v0.6.4
   Compiling toml_datetime v0.6.5
   Compiling toml_edit v0.19.15
   Compiling x11rb v0.11.1
   Compiling i3ipc v0.10.1
   Compiling bspc-rs v0.1.1
   Compiling toml v0.7.8
   Compiling ixwindow v0.1.2 (/home/samuel/ixwindow)
    Finished release [optimized] target(s) in 28.66s

Also worth mentioning that this version compiles automatically when running the install script, I just tested that one just in case me manually building did something wrong but the result is the same, the icon is behind the bar still.

andreykaere commented 9 months ago

No, I want to see the output of "cargo run". It should print window info to the terminal. I need to see it.

Samueru-sama commented 9 months ago

No, I want to see the output of "cargo run". It should print window info to the terminal. I need to see it.

Ok, there's an error at the end:

~/ixwindow/ cargo run
   Compiling autocfg v1.1.0
   Compiling proc-macro2 v1.0.69
   Compiling unicode-ident v1.0.12
   Compiling cfg-if v1.0.0
   Compiling scopeguard v1.2.0
   Compiling crossbeam-utils v0.8.16
   Compiling libc v0.2.150
   Compiling serde v1.0.193
   Compiling simd-adler32 v0.3.7
   Compiling rayon-core v1.12.0
   Compiling adler v1.0.2
   Compiling crc32fast v1.3.2
   Compiling rustversion v1.0.14
   Compiling heck v0.4.1
   Compiling syn v1.0.109
   Compiling bitflags v1.3.2
   Compiling serde_json v1.0.108
   Compiling utf8parse v0.2.1
   Compiling either v1.9.0
   Compiling anstyle-query v1.0.0
   Compiling hashbrown v0.14.2
   Compiling anstyle v1.0.4
   Compiling equivalent v1.0.1
   Compiling weezl v0.1.7
   Compiling anstyle-parse v0.2.2
   Compiling ryu v1.0.15
   Compiling itoa v1.0.9
   Compiling option-ext v0.2.0
   Compiling miniz_oxide v0.7.1
   Compiling colorchoice v1.0.0
   Compiling fdeflate v0.3.1
   Compiling zune-inflate v0.2.54
   Compiling strsim v0.10.0
   Compiling anstream v0.6.4
   Compiling clap_lex v0.6.0
   Compiling winnow v0.5.19
   Compiling smallvec v1.11.2
   Compiling bytemuck v1.14.0
   Compiling bit_field v0.10.2
   Compiling anyhow v1.0.75
   Compiling color_quant v1.1.0
   Compiling memoffset v0.9.0
   Compiling crossbeam-epoch v0.9.15
   Compiling lock_api v0.4.11
   Compiling num-traits v0.2.17
   Compiling memoffset v0.6.5
   Compiling num-integer v0.1.45
   Compiling num-rational v0.4.1
   Compiling half v2.2.1
   Compiling flate2 v1.0.28
   Compiling lebe v0.5.2
   Compiling byteorder v1.5.0
   Compiling indexmap v2.1.0
   Compiling qoi v0.4.1
   Compiling gif v0.12.0
   Compiling clap_builder v4.4.8
   Compiling log v0.4.20
   Compiling quote v1.0.33
   Compiling spin v0.9.8
   Compiling crossbeam-deque v0.8.3
   Compiling syn v2.0.39
   Compiling flume v0.11.0
   Compiling png v0.17.10
   Compiling rayon v1.8.0
   Compiling exr v1.71.0
   Compiling dirs-sys v0.4.1
   Compiling nix v0.25.1
   Compiling gethostname v0.2.3
   Compiling dirs v5.0.1
   Compiling shellexpand v3.1.0
   Compiling x11rb-protocol v0.11.1
   Compiling strum_macros v0.24.3
   Compiling jpeg-decoder v0.3.0
   Compiling serde_derive v1.0.193
   Compiling clap_derive v4.4.7
   Compiling tiff v0.9.0
   Compiling strum v0.24.1
   Compiling image v0.24.7
   Compiling clap v4.4.8
   Compiling serde_spanned v0.6.4
   Compiling toml_datetime v0.6.5
   Compiling toml_edit v0.19.15
   Compiling bspc-rs v0.1.1
   Compiling i3ipc v0.10.1
   Compiling x11rb v0.11.1
   Compiling toml v0.7.8
   Compiling ixwindow v0.1.2 (/home/samuel/ixwindow)
    Finished dev [unoptimized + debuginfo] target(s) in 15.57s
     Running `target/debug/ixwindow`
thread 'main' panicked at src/config.rs:212:30:
Couldn't find config file
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
andreykaere commented 9 months ago

First move ixwindow.toml to ~/.config/ixwindow/ixwindow.toml and then execute cargo run. Also, you are sending next time the build process, which is not relevant information, because weird things happen during runtime, not when you are building.

Samueru-sama commented 9 months ago

First move ixwindow.toml to ~/.config/ixwindow/ixwindow.toml and then execute cargo run. Also, you are sending next time the build process, which is not relevant information, because weird things happen during runtime, not when you are building.

ixwindow.toml was always there. But I just repeated the test using the one from this branch and it still gives the same error.

Also I'm sorry I did not understand what you meant at the end, I'm really bad at this.

It is worth mentioning that my i3 session is started using startx instead of a display manager, maybe that could be the issue because just like how cargo run can't find the toml file I have to manually point ixwindow to its config file when running it.

andreykaere commented 9 months ago

Okay, what is printed when you specify config?

  1. Run cargo build --release
  2. Executecargo run --release -- -c <your-config>. I need to see the output of this command as you are switching between windows.
Samueru-sama commented 9 months ago

Okay, what is printed when you specify config?

  1. Run cargo build --release
  2. Executecargo run --release -- -c <your-config>. I need to see the output of this command as you are switching between windows.
~/ixwindow/ cargo run --release -- -c ~/.config/ixwindow/ixwindow.toml
    Finished release [optimized] target(s) in 0.06s
     Running `target/release/ixwindow -c /home/samuel/.config/ixwindow/ixwindow.toml`
         Empty
wm_class: xfce-polkit; wm_instance: Xfce-polkit
wm_class: kdeconnect-indicator; wm_instance: Kdeconnect-indicator
wm_class: kdeconnectd; wm_instance: Kdeconnectd
wm_class: xfce4-clipman; wm_instance: Xfce4-clipman
wm_class: brave; wm_instance: Brave
wm_class: brave; wm_instance: Brave
wm_class: kdeconnect-indicator; wm_instance: kdeconnect-indicator
wm_class: kdeconnect-indicator; wm_instance: kdeconnect-indicator
wm_class: xfce4-clipman; wm_instance: Xfce4-clipman
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: picom; wm_instance: picom
wm_class: i3-WM_Sn; wm_instance: i3-WM_Sn
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: deadbeef; wm_instance: Deadbeef
wm_class: thunar; wm_instance: Thunar
wm_class: xfce4-terminal; wm_instance: Xfce4-terminal
wm_class: thunar; wm_instance: Thunar
wm_class: thunar; wm_instance: Thunar
wm_class: deadbeef; wm_instance: Deadbeef
wm_class: Dunst; wm_instance: Dunst
         samuel - Thunar
wm_class: xfce-polkit; wm_instance: Xfce-polkit
wm_class: kdeconnect-indicator; wm_instance: Kdeconnect-indicator
wm_class: kdeconnectd; wm_instance: Kdeconnectd
wm_class: xfce4-clipman; wm_instance: Xfce4-clipman
wm_class: brave; wm_instance: Brave
wm_class: brave; wm_instance: Brave
wm_class: kdeconnect-indicator; wm_instance: kdeconnect-indicator
wm_class: kdeconnect-indicator; wm_instance: kdeconnect-indicator
wm_class: xfce4-clipman; wm_instance: Xfce4-clipman
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: picom; wm_instance: picom
wm_class: i3-WM_Sn; wm_instance: i3-WM_Sn
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: deadbeef; wm_instance: Deadbeef
wm_class: thunar; wm_instance: Thunar
wm_class: xfce4-terminal; wm_instance: Xfce4-terminal
wm_class: thunar; wm_instance: Thunar
wm_class: thunar; wm_instance: Thunar
wm_class: deadbeef; wm_instance: Deadbeef
wm_class: Dunst; wm_instance: Dunst
         Terminal - 
wm_class: xfce-polkit; wm_instance: Xfce-polkit
wm_class: kdeconnect-indicator; wm_instance: Kdeconnect-indicator
wm_class: kdeconnectd; wm_instance: Kdeconnectd
wm_class: xfce4-clipman; wm_instance: Xfce4-clipman
wm_class: brave; wm_instance: Brave
wm_class: brave; wm_instance: Brave
wm_class: kdeconnect-indicator; wm_instance: kdeconnect-indicator
wm_class: kdeconnect-indicator; wm_instance: kdeconnect-indicator
wm_class: xfce4-clipman; wm_instance: Xfce4-clipman
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: picom; wm_instance: picom
wm_class: i3-WM_Sn; wm_instance: i3-WM_Sn
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: deadbeef; wm_instance: Deadbeef
wm_class: thunar; wm_instance: Thunar
wm_class: xfce4-terminal; wm_instance: Xfce4-terminal
wm_class: thunar; wm_instance: Thunar
wm_class: thunar; wm_instance: Thunar
wm_class: deadbeef; wm_instance: Deadbeef
wm_class: Dunst; wm_instance: Dunst
         Fix issue #10 "No Icons after 
wm_class: xfce-polkit; wm_instance: Xfce-polkit
wm_class: kdeconnect-indicator; wm_instance: Kdeconnect-indicator
wm_class: kdeconnectd; wm_instance: Kdeconnectd
wm_class: xfce4-clipman; wm_instance: Xfce4-clipman
wm_class: brave; wm_instance: Brave
wm_class: brave; wm_instance: Brave
wm_class: kdeconnect-indicator; wm_instance: kdeconnect-indicator
wm_class: kdeconnect-indicator; wm_instance: kdeconnect-indicator
wm_class: xfce4-clipman; wm_instance: Xfce4-clipman
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: picom; wm_instance: picom
wm_class: i3-WM_Sn; wm_instance: i3-WM_Sn
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: deadbeef; wm_instance: Deadbeef
wm_class: thunar; wm_instance: Thunar
wm_class: xfce4-terminal; wm_instance: Xfce4-terminal
wm_class: thunar; wm_instance: Thunar
wm_class: thunar; wm_instance: Thunar
wm_class: deadbeef; wm_instance: Deadbeef
wm_class: Dunst; wm_instance: Dunst
         Yuuta Ogasawara - Northeast Fr
wm_class: xfce-polkit; wm_instance: Xfce-polkit
wm_class: kdeconnect-indicator; wm_instance: Kdeconnect-indicator
wm_class: kdeconnectd; wm_instance: Kdeconnectd
wm_class: xfce4-clipman; wm_instance: Xfce4-clipman
wm_class: brave; wm_instance: Brave
wm_class: brave; wm_instance: Brave
wm_class: kdeconnect-indicator; wm_instance: kdeconnect-indicator
wm_class: kdeconnect-indicator; wm_instance: kdeconnect-indicator
wm_class: xfce4-clipman; wm_instance: Xfce4-clipman
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: picom; wm_instance: picom
wm_class: i3-WM_Sn; wm_instance: i3-WM_Sn
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: deadbeef; wm_instance: Deadbeef
wm_class: thunar; wm_instance: Thunar
wm_class: xfce4-terminal; wm_instance: Xfce4-terminal
wm_class: thunar; wm_instance: Thunar
wm_class: thunar; wm_instance: Thunar
wm_class: deadbeef; wm_instance: Deadbeef
wm_class: Dunst; wm_instance: Dunst
         Fix issue #10 "No Icons after 
wm_class: xfce-polkit; wm_instance: Xfce-polkit
wm_class: kdeconnect-indicator; wm_instance: Kdeconnect-indicator
wm_class: kdeconnectd; wm_instance: Kdeconnectd
wm_class: xfce4-clipman; wm_instance: Xfce4-clipman
wm_class: brave; wm_instance: Brave
wm_class: brave; wm_instance: Brave
wm_class: kdeconnect-indicator; wm_instance: kdeconnect-indicator
wm_class: kdeconnect-indicator; wm_instance: kdeconnect-indicator
wm_class: xfce4-clipman; wm_instance: Xfce4-clipman
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: Qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: qt5ct; wm_instance: qt5ct
wm_class: picom; wm_instance: picom
wm_class: i3-WM_Sn; wm_instance: i3-WM_Sn
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: i3-frame; wm_instance: i3-frame
wm_class: deadbeef; wm_instance: Deadbeef
wm_class: thunar; wm_instance: Thunar
wm_class: xfce4-terminal; wm_instance: Xfce4-terminal
wm_class: thunar; wm_instance: Thunar
wm_class: thunar; wm_instance: Thunar
wm_class: deadbeef; wm_instance: Deadbeef
wm_class: Dunst; wm_instance: Dunst
         Terminal - 
andreykaere commented 9 months ago

Can I see your polycar config? (to be more specific, config of your bar, i.e. I don't need the definitions of modules)

Samueru-sama commented 9 months ago

Can I see your polycar config? (to be more specific, config of your bar, i.e. I don't need the definitions of modules)

[settings]
screenchange-reload = true

[colors]
background = #22515c
background-alt = #2b7275
foreground = #d4d9d6
primary = #F0C674
secondary = #a1a6a3
alert = #A54242
disabled = #707880

[bar/main]
monitor = DP-2
width = 100%
height = 12px
radius = 0
padding = 1
fixed-center = true
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 1pt
module-margin = 1
separator = |
separator-foreground = ${colors.disabled}
font-0 = Nimbus Sans:size=9:style=Bold;2
font-1 = Nimbus Sans:size=10:style=Bold;2
font-2 = FontAwesome:size=14;3
font-3 = NotoEmoji:scale=13;2
modules-left = CPU RAM GPU DISK
modules-center = scratch xworkspaces xwindow SONG
modules-right = pulseaudio xkeyboard eth DATE tray
cursor-click = pointer
cursor-scroll = ns-resize
enable-ipc = true

[bar/work1]
monitor = DP-1
monitor-strict = true
width = 100%
height = 12px
radius = 0
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 1pt
module-margin = 1
separator = |
separator-foreground = ${colors.disabled}
font-0 = Nimbus Sans:size=9:style=Bold;2
font-1 = Nimbus Sans:size=10:style=Bold;2
font-2 = FontAwesome:size=14;3
font-3 = NotoEmoji:scale=13;2
modules-center = scratch xworkspaces xwindow
cursor-click = pointer
cursor-scroll = ns-resize
enable-ipc = true

[bar/work3]
monitor = DP-3
monitor-strict = true
width = 100%
height = 12px
radius = 0
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 1pt
module-margin = 1
separator = |
separator-foreground = ${colors.disabled}
font-0 = Nimbus Sans:size=9:style=Bold;2
font-1 = Nimbus Sans:size=10:style=Bold;2
font-2 = FontAwesome:size=14;3
font-3 = NotoEmoji:scale=13;2
modules-center = scratch xworkspaces xwindow
cursor-click = pointer
cursor-scroll = ns-resize
enable-ipc = true

To enable ixwindow I just replace xwindow with ixwindow in the main bar.

andreykaere commented 9 months ago

According to this: https://github.com/polybar/polybar/wiki, you should add to your config:

override-redirect = true
wm-restack = i3

To be more specific, you need override-redirect = true. But the second line is to resume "normal behavior", i.e. hide polybar for fullscreens.

Let me know how that works out for you.

andreykaere commented 9 months ago

In order to have the desired behaviour, I would have to check if polybar was generated with redirect-override property or not. And if not check for its parents (i3 wraps windows in its own container). Anyway, I think it's just easier to use the proposed solution.

The reason we need to deal with this is recent update: I want icon to be under the floating windows, for example, when I hover them over icon ... And I value this feature much more, than not forcing override-redirect = true.

andreykaere commented 9 months ago

And if that solves the problem for you, then answer the following: why you are not satisfied with the positioning of the icon? (write desired behavior and actual behavior)

Samueru-sama commented 9 months ago

According to this: https://github.com/polybar/polybar/wiki, you should add to your config:

override-redirect = true
wm-restack = i3

To be more specific, you need override-redirect = true. But the second line is to resume "normal behavior", i.e. hide polybar for fullscreens.

Let me know how that works out for you.

Alright that way it 'works' but now i3 is not reserving space for the window, meaning that there is no gap between polybar and the window:

image

Samueru-sama commented 9 months ago

And if that solves the problem for you, then answer the following: why you are not satisfied with the positioning of the icon? (write desired behavior and actual behavior)

The issue is specific to my configuration, because I display my workspaces and window title on the center of polybar, the icon has to move alongside as the size of the center modules grow/shrink.

For example the center of my bar can be a tiny as this: image

Or as big as this: image

I mean you can already see that the scratchpad window titles are taking the space of where the icon would be in the last image.

andreykaere commented 9 months ago

About gap between polybar and windows: I think you can do it in i3 configuration. There was thing called i3-gaps that was recently merged into i3wm. I think you just have to google how to add desired gap

andreykaere commented 9 months ago

About icon position: again, draw, where you want icon to be displayed ... On the right of your module? (right now it is displayed on the left).

I mean, run ixwindow (so I can see how it is displayed on your system). And draw on the same picture desired place for the icon

andreykaere commented 9 months ago

About gap between polybar and windows: I think you can do it in i3 configuration. There was thing called i3-gaps that was recently merged into i3wm. I think you just have to google how to add desired gap

Or, alternatively, just use version of ixwindow that does not care about the feature I mentioned above, if you don't feel like figuring out how to do it on i3wm's end ...

Samueru-sama commented 9 months ago

About gap between polybar and windows: I think you can do it in i3 configuration. There was thing called i3-gaps that was recently merged into i3wm. I think you just have to google how to add desired gap

My gaps are already set, setting override-redirect = true prevents i3 from adding gap to the bar, and wm-restack = i3 doesn't help.

About icon position: again, draw, where you want icon to be displayed ... On the right of your module? (right now it is displayed on the left).

Right next to the window title, here:

Icon issue

That position changes depending on the number of workspaces active among several other things, just in case I'm not requesting for that to be fixed, I realized that it wouldn't work on my setup after i managed to get it display the icon.

andreykaere commented 9 months ago

About polybar gap -- I already said that I have no interest in fixing this bug, because it would require some time and am I not really interested in this right now, since I am not even using i3wm for that matter. And it seems for me that it's just easier to get it working via override-redirect. One possible solution -- having transparent border around polybar.

About icon position: it is possible to fix it without much of a headache. But I think the problem with the image you sent me is simply changing x and y parameters in config (you should restart polybar after that for the changes to be displayed). The real trick might be in calculating position when you add more desktops/remove. But even this should work fine. Just try to adjust x and y in ixwindow.toml. And if it will not work with changing desktops number -- tell me

andreykaere commented 9 months ago

Okay, I am going to merge this PR due to most of the problems stated in the issue are resolved. If you want me to implement certain features, please open new issue.