i3/i3

Floating windows location change every time

Aperta

#4489 aperta il 31 ago 2021

 (11 commenti) (3 reazioni) (0 assegnatari)C (752 fork)batch import
4.19bughelp wantedmissing-logreproducible

Metriche repository

Star
 (8813 stelle)
Metriche merge PR
 (Merge medio 2g 21h) (1 PR mergiata in 30 g)

Descrizione

I'm submitting a BUG

Current Behavior

I am using Pycharm in my i3wm, and when I open the setting window or Run configuration window, the location of the window moving up a little bit everytime, until it total move out of the screen. And then it appears at the bottom of the screen again.

Expected Behavior

Hopefully, everytime I open the Run Configuration window, it locates at the same location where it was closed.

Reproduction Instructions

Open pycharm, create a python file, run it with pycharm. Then open the Run configuration, close it , open it again. You will find that the window move up a little bit. Repeat that, the location of the window will moving up and up.

Environment

Output of i3 --moreversion 2>&-: Binary i3 version: 4.19.2-109-g9a02399c © 2009 Michael Stapelberg and contributors Running i3 version: 4.19.1-144-gd816f6bc (pid 26580) Loaded i3 config: /home/fkwong/.config/i3/config (main) (last modified: Tue 31 Aug 2021 02:17:54 PM CST, 1380 seconds ago)

The i3 binary you just called: /usr/local/bin/i3 RUNNING BINARY DIFFERENT FROM BINARY ON DISK! The i3 binary you are running: i3

Please see https://i3wm.org/docs/userguide.html for a complete reference!

Set master key

set $mod Mod4 set $alt Mod1

Define names for default workspaces for which we configure key bindings later on.

We use variables to avoid repeating the names in multiple places.

set $ws1 "1: Term" set $ws2 "2: Editor" set $ws3 "3: Web" set $ws4 "4: Note" set $ws5 "5: Files" set $ws6 "6" set $ws7 "7: Doc" set $ws8 "8: Comm" set $ws9 "9" set $ws10 "10"

Define color variables

set $focus_border #FF9800

set $focus_border #F4B400 set $focus_bground #F57C00 set $focus_text #000000 set $inactive_border #333333 set $inactive_bground #5F676A set $inactive_text #FFFFFF set $unfocused_border #333333 set $unfocused_bground #222222 set $unfocused_text #888888 set $urgent_border #2F343A set $urgent_bground #900000 set $urgent_text #FFFFFF

Theme colors

class border bground text indicator child_border

client.focused $focus_border $focus_bground $focus_text #FF5722 $focus_bground client.focused_inactive $inactive_border $inactive_bground $inactive_text #484E50 $inactive_bground client.unfocused $unfocused_border $unfocused_bground $unfocused_text #292D2E $unfocused_bground client.urgent $urgent_border $urgent_bground $urgent_text #900000 $urgent_bground client.placeholder #000000 #0C0C0C #FFFFFF #000000 #0C0C0C client.background #FFFFFF

Refresh i3status after change volume

set $refresh_i3status killall -SIGUSR1 i3status

Font for window titles. Will also be used by the bar unless a different font

is used in the bar {} block below.

font pango:Noto 10

This font is widely installed, provides lots of unicode glyphs, right-to-left text rendering and scalability on retina/hidpi displays (thanks to pango).

#font pango:DejaVu Sans Mono 8

Focus not follow mouse

focus_follows_mouse no popup_during_fullscreen smart

Use Mouse+$mod to drag floating windows to their wanted position

floating_modifier $mod

bind workspace with monitor

workspace $ws1 output HDMI-0 eDP-1-1 workspace $ws2 output DP-1-1 eDP-1-1 workspace $ws3 output eDP-1-1 workspace $ws8 output eDP-1-1

default workspace layout

workspace_layout tabbed

Start i3bar to display a workspace bar (plus the system information i3status

finds out, if available)

bar { font pango:FontAwesome, Noto 10 status_command i3status tray_output primary

    colors {
        background #000000
        statusline #FFFFFF
        separator  #666666

        # class                 border              bground                 text
        focused_workspace       $focus_border       $focus_bground          $focus_text
        active_workspace        $inactive_border    $inactive_bground       $inactive_text
        inactive_workspace      $unfocused_border   $unfocused_bground      $unfocused_text
        urgent_workspace        $urgent_border      $urgent_bground         $urgent_text
        binding_mode            #2F343A             #900000                 #FFFFFF
    }

}

resize window (you can also use the mouse for that)

mode "resize" { # These bindings trigger as soon as you enter the resize mode

    # Pressing left will shrink the window’s width.
    # Pressing right will grow the window’s width.
    # Pressing up will shrink the window’s height.
    # Pressing down will grow the window’s height.
    bindsym h resize shrink width 10 px or 10 ppt
    bindsym j resize grow height 10 px or 10 ppt
    bindsym k resize shrink height 10 px or 10 ppt
    bindsym l resize grow width 10 px or 10 ppt

    # same bindings, but for the arrow keys
    bindsym Left resize shrink width 10 px or 10 ppt
    bindsym Down resize grow height 10 px or 10 ppt
    bindsym Up resize shrink height 10 px or 10 ppt
    bindsym Right resize grow width 10 px or 10 ppt

    # back to normal: Enter or Escape or $mod+r
    bindsym Return mode "default"
    bindsym Escape mode "default"
    bindsym $mod+r mode "default"

}

Focus

for_window [tiling] focus for_window [floating_from="user"] focus for_window [class="jetbrains-pycharm-ce" title="win0"] floating enable for_window [floating title="debug"] move position center for_window [class="^$"] move position center for_window [instance="wechat.exe"] layout tabbed, focus for_window [class="Slack"] layout tabbed, focus

Dropdown / Scratchpad Windows

for_window [class="__dropdown"] floating enable, resize set 800 495, border pixel 3 for_window [class="__dropdown"] move scratchpad for_window [class="__ipython"] floating enable, resize set 960 520, border pixel 3 for_window [class="__ipython"] move scratchpad

Assignment

assign [class="jetbrains-pycharm-ce"] $ws2

No focus for specify window type

no_focus [window_role="pop-up"]

Start gnome-keyring-daemon which can be used by chrome

exec --no-startup-id /usr/bin/gnome-keyring-daemon --start --components=secrets

Start picom compositor

#exec --no-startup-id picom -CG

The combination of xss-lock, nm-applet and pactl is a popular choice, so

they are included here as an example. Modify as you see fit.

xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the

screen before suspend. Use loginctl lock-session to lock your screen.

exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork

Start blueman

exec --no-startup-id blueman

Create new scratchpad application

exec --no-startup-id "gnome-terminal --class __dropdown -- bash -c 'i3-msg [class=__dropdown] move window to scratchpad; tmux new -As sp'" exec --no-startup-id "gnome-terminal --class __ipython -- bash -c 'i3-msg [class=__ipython] move window to scratchpad; source /home/fkwong/miniconda3/etc/profile.d/conda.sh; conda activate edge; ipython'"

NetworkManager is the most popular way to manage wireless networks on Linux,

and nm-applet is a desktop environment-independent system tray GUI for it.

exec_always --no-startup-id nm-applet

Use autorandr to detect monitor environment

exec_always --no-startup-id autorandr --change

Setting DPI of xscreen

exec --no-startup-id xrandr --dpi 100

Start ibus

exec_always --no-startup-id "ibus-daemon -drx"

Set keyboard repeating rete

exec_always --no-startup-id "xset r rate 240 50"

Remove standby and suspend in DPMS, no screen saver

exec_always --no-startup-id "xset dpms 0 0 240" exec_always --no-startup-id "xset s off"

Setup background

Add to autorandr postswitch to avoid race condition

exec_always --no-startup-id feh --bg-fill /usr/share/backgrounds/hardy_wallpaper_uhd.png

Use pactl to adjust volume in PulseAudio.

bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status

Sreen brightness controls

bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl -c "backlight" s +10% # increase screen brightness bindsym XF86MonBrightnessDown exec --no-startup-id /home/fkwong/.config/i3/dec_backlight.sh 8%- # decrease screen brightness

Media player controls

bindsym XF86AudioPlay exec playerctl play-pause bindsym XF86AudioNext exec playerctl next bindsym XF86AudioPrev exec playerctl previous

start a terminal

bindsym $mod+Return exec i3-sensible-terminal #bindsym $mod+Return exec urxvt

kill focused window

bindsym $mod+Shift+q kill

start rofi (a program launcher)

bindsym $mod+d exec --no-startup-id "rofi -modi combi,window -show combi -combi-modi drun,run" bindsym $mod+Tab exec --no-startup-id "rofi -modi window,ssh -show window"

change focus

bindsym $mod+h focus left bindsym $mod+j focus down bindsym $mod+k focus up bindsym $mod+l focus right

alternatively, you can use the cursor keys:

bindsym $mod+Left focus left bindsym $mod+Down focus down bindsym $mod+Up focus up bindsym $mod+Right focus right

move focused window

bindsym $mod+Shift+h move left bindsym $mod+Shift+j move down bindsym $mod+Shift+k move up bindsym $mod+Shift+l move right

alternatively, you can use the cursor keys:

bindsym $mod+Shift+Left move left bindsym $mod+Shift+Down move down bindsym $mod+Shift+Up move up bindsym $mod+Shift+Right move right

split in horizontal orientation

bindsym $mod+semicolon split h

split in vertical orientation

bindsym $mod+v split v

enter fullscreen mode for the focused container

bindsym $mod+f fullscreen toggle bindsym $mod+Shift+f fullscreen toggle global

change container layout (stacked, tabbed, toggle split)

bindsym $mod+s layout stacking bindsym $mod+w layout tabbed bindsym $mod+e layout toggle split

toggle tiling / floating

bindsym $mod+Shift+space floating toggle

change focus between tiling / floating windows

bindsym $alt+space focus mode_toggle

focus the parent container

bindsym $mod+a focus parent

focus the child container

bindsym $mod+Shift+d focus child

reload the configuration file

bindsym $mod+Shift+c reload

restart i3 inplace (preserves your layout/session, can be used to upgrade i3)

bindsym $mod+Shift+r restart

exit i3 (logs you out of your X session)

bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"

Activate resize mode

bindsym $mod+r mode "resize"

Custom application startup keymap

bindsym $mod+b exec google-chrome bindsym $mod+ctrl+l exec i3lock --color=000000 bindsym $alt+ctrl+w exec --no-startup-id ~/bin/openwechat bindsym $mod+q workspace $ws5; exec --no-startup-id nautilus

Show/Hide dropdown window

bindsym $mod+u [class="__dropdown"] scratchpad show, move position center bindsym $mod+p [class="__ipython"] scratchpad show, move position center

Execute autorandr when change monitor configuration

bindsym $mod+shift+p exec --no-startup-id autorandr --change && feh --bg-fill /usr/share/backgrounds/hardy_wallpaper_uhd.png

Move window to center

bindsym $mod+c move position center

Move workspace

bindsym $mod+ctrl+Left move workspace to output left bindsym $mod+ctrl+Right move workspace to output right

Guida contributor