Sway workspace/output pinning is broken on desktop again

This commit is contained in:
Daniel Flanagan 2020-11-06 10:56:39 -06:00
parent 4195d86788
commit 83cf370329
Signed by: lytedev
GPG key ID: 5B2020A0F9921EF4
7 changed files with 39 additions and 198 deletions

View file

@ -2,7 +2,7 @@ profile desktop-H {
output "Samsung Electric Company CF791 HTRJ500315" enable mode 3440x1440@100Hz position 1440,560 scale 1 transform normal
output "Dell Inc. DELL U2719DC 5DL4QS2" enable mode 2560x1440@60Hz position 0,0 scale 1 transform 270
output "Dell Inc. DELL U2719DC 9DL4QS2" enable mode 2560x1440@60Hz position 4880,0 scale 1 transform 90
exec "$HOME/.config/lytedev-dotfiles/apps/kanshi/desktop-H-workspaces.sh"
exec "$HOME/.config/lytedev-dotfiles/apps/de/kanshi/desktop-H-workspaces.sh"
}
profile laptop-solo {

View file

@ -0,0 +1,36 @@
#!/usr/bin/env bash
# kanshi will potentially run this more than once
LOCKFILE="/tmp/lytedev-kanshi-workspace-arranging.lock"
if ! [[ -f $LOCKFILE ]]; then
touch "$LOCKFILE"
sleep 0.1
echo "L: $(date)" >> /tmp/kanshilog
# TODO: some way to ensure the lock file is cleaned up?
# maybe check if the file is older than a minute?
move_workspace() { swaymsg workspace "$1"; swaymsg move workspace to "'$2'"; }
setup_output() { out="$1"; shift; while (($#)); do move_workspace "$1" "$out"; shift; done; }
set -x
# setup_output 'Dell Inc. DELL U2719DC 9DL4QS2' 7 8 9
# setup_output 'Dell Inc. DELL U2719DC 5DL4QS2' 4 5 6
# setup_output 'Samsung Electric Company CF791 HTRJ500315' 1 2 3
setup_output 'Dell Inc. DELL U2719DC 9DL4QS2' 9 8
setup_output 'Dell Inc. DELL U2719DC 5DL4QS2' 6 5
setup_output 'Samsung Electric Company CF791 HTRJ500315' 3 2
setup_output 'Dell Inc. DELL U2719DC 9DL4QS2' 7
setup_output 'Dell Inc. DELL U2719DC 5DL4QS2' 4
setup_output 'Samsung Electric Company CF791 HTRJ500315' 1
# setup_output 'Dell Inc. DELL U2719DC 9DL4QS2' 8 9 7
# setup_output 'Dell Inc. DELL U2719DC 5DL4QS2' 5 6 4
# setup_output 'Samsung Electric Company CF791 HTRJ500315' 2 3 1
rm "$LOCKFILE"
else
echo "F: $(date)" >> /tmp/kanshilog
echo "Already locked: $LOCKFILE" >&2
exit 1
fi

View file

@ -154,7 +154,7 @@ client.focused #66d9ef #66d9ef #66d9ef #66d9ef #66d9ef
client.focused_inactive #111111 #111111 #ffffff #111111 #111111
client.unfocused #111111 #111111 #ffffff #111111 #111111
exec_always kanshi
exec_always 'killall kanshi; kanshi &>/tmp/kanshilog2'
exec mako
exec_always notify-send -a "Sway" -i ~/.wallpaper "Sway configuration loaded."

View file

@ -1,17 +0,0 @@
#!/usr/bin/env bash
# kanshi will potentially run this more than once
LOCKFILE="/tmp/kanshi-workspace-arranging.lock"
if ! (set -o noclobber; echo > "$LOCKFILE" &>/dev/null) &>/dev/null; then echo "Already locked: $LOCKFILE" >&2; exit 0; fi
touch "$LOCKFILE"
# TODO: some way to ensure the lock file is cleaned up?
# maybe check if the file is older than a minute?
move_workspace() { swaymsg workspace "$1"; swaymsg move workspace to "'$2'"; }
setup_output() { out="$1"; shift; while (($#)); do move_workspace "$1" "$out"; shift; done; }
setup_output 'Dell Inc. DELL U2719DC 9DL4QS2' 9 8 7
setup_output 'Dell Inc. DELL U2719DC 5DL4QS2' 6 5 4
setup_output 'Samsung Electric Company CF791 HTRJ500315' 3 2 1
rm "$LOCKFILE"

View file

@ -1,6 +0,0 @@
rofi.lines: 10
rofi.width: 25
rofi.matching: fuzzy
rofi.separator-style: none
rofi.hide-scrollbar: true
rofi.line-margin: 5

View file

@ -1,172 +0,0 @@
/**
* rofi -dump-theme output.
* Rofi version: 1.6.0
**/
* {
red: rgba ( 220, 50, 47, 100 % );
selected-active-foreground: var(background);
lightfg: rgba ( 88, 104, 117, 100 % );
separatorcolor: var(foreground);
urgent-foreground: var(red);
alternate-urgent-background: var(lightbg);
lightbg: rgba ( 238, 232, 213, 100 % );
background-color: rgba ( 0, 0, 0, 0 % );
border-color: var(foreground);
normal-background: var(background);
selected-urgent-background: var(red);
alternate-active-background: var(lightbg);
spacing: 2;
blue: rgba ( 38, 139, 210, 100 % );
alternate-normal-foreground: var(foreground);
urgent-background: var(background);
selected-normal-foreground: var(lightbg);
active-foreground: var(blue);
background: rgba ( 253, 246, 227, 100 % );
selected-active-background: var(blue);
active-background: var(background);
selected-normal-background: var(lightfg);
alternate-normal-background: var(lightbg);
foreground: rgba ( 0, 43, 54, 100 % );
selected-urgent-foreground: var(background);
normal-foreground: var(foreground);
alternate-urgent-foreground: var(red);
alternate-active-foreground: var(blue);
}
element {
padding: 1px ;
spacing: 5px ;
border: 0;
}
element normal.normal {
background-color: var(normal-background);
text-color: var(normal-foreground);
}
element normal.urgent {
background-color: var(urgent-background);
text-color: var(urgent-foreground);
}
element normal.active {
background-color: var(active-background);
text-color: var(active-foreground);
}
element selected.normal {
background-color: var(selected-normal-background);
text-color: var(selected-normal-foreground);
}
element selected.urgent {
background-color: var(selected-urgent-background);
text-color: var(selected-urgent-foreground);
}
element selected.active {
background-color: var(selected-active-background);
text-color: var(selected-active-foreground);
}
element alternate.normal {
background-color: var(alternate-normal-background);
text-color: var(alternate-normal-foreground);
}
element alternate.urgent {
background-color: var(alternate-urgent-background);
text-color: var(alternate-urgent-foreground);
}
element alternate.active {
background-color: var(alternate-active-background);
text-color: var(alternate-active-foreground);
}
element-text {
background-color: rgba ( 0, 0, 0, 0 % );
highlight: inherit;
text-color: inherit;
}
element-icon {
background-color: rgba ( 0, 0, 0, 0 % );
size: 1.2000ch ;
text-color: inherit;
}
window {
padding: 0;
background-color: var(background);
border: 0;
font: 'Iosevka Term';
}
mainbox {
padding: 0;
border: 0;
}
message {
padding: 1px ;
border-color: var(separatorcolor);
border: 0px ;
}
textbox {
text-color: var(foreground);
}
listview {
padding: 2px 0px 0px ;
scrollbar: false;
border-color: var(separatorcolor);
spacing: 5px ;
fixed-height: 0;
border: 0px ;
}
scrollbar {
width: 4px ;
padding: 0;
handle-width: 8px ;
border: 0;
handle-color: var(normal-foreground);
}
sidebar {
border-color: var(separatorcolor);
border: 2px dash 0px 0px ;
}
button {
spacing: 0;
text-color: var(normal-foreground);
}
button selected {
background-color: var(selected-normal-background);
text-color: var(selected-normal-foreground);
}
num-filtered-rows {
expand: false;
text-color: rgba ( 128, 128, 128, 100 % );
}
num-rows {
expand: false;
text-color: rgba ( 128, 128, 128, 100 % );
}
textbox-num-sep {
expand: false;
str: "/";
text-color: rgba ( 128, 128, 128, 100 % );
}
inputbar {
padding: 1px ;
spacing: 0px ;
text-color: var(normal-foreground);
children: [ prompt,textbox-prompt-colon,entry,num-filtered-rows,textbox-num-sep,num-rows,case-indicator ];
}
case-indicator {
spacing: 0;
text-color: var(normal-foreground);
}
entry {
placeholder-color: rgba ( 128, 128, 128, 100 % );
spacing: 0;
placeholder: "Type to filter";
text-color: var(normal-foreground);
}
prompt {
spacing: 0;
text-color: var(normal-foreground);
}
textbox-prompt-colon {
margin: 0px 0.3000em 0.0000em 0.0000em ;
expand: false;
str: ":";
text-color: inherit;
}
mode-switcher {
border: 0px ;
}

View file

@ -124,7 +124,7 @@ links=(
"env/nix/pkgs" "$XDG_CONFIG_HOME/nixpkgs"
# Kanshi configuration
"apps/kanshi" "$XDG_CONFIG_HOME/kanshi"
"apps/de/kanshi" "$XDG_CONFIG_HOME/kanshi"
)
# TODO: pass interactive?