Fix persistence and update deprecated dependencies
This commit is contained in:
@@ -18,10 +18,10 @@
|
|||||||
gcc
|
gcc
|
||||||
pkg-config
|
pkg-config
|
||||||
|
|
||||||
xorg.libxcb
|
libxcb
|
||||||
xorg.xcbutilwm
|
xcbutilwm
|
||||||
xorg.xrandr
|
xrandr
|
||||||
xorg.xprop
|
xprop
|
||||||
];
|
];
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
|
|||||||
+10
-7
@@ -2,7 +2,10 @@
|
|||||||
, ruby
|
, ruby
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, xorg
|
, libxcb
|
||||||
|
, xcbutilwm
|
||||||
|
, xrandr
|
||||||
|
, xprop
|
||||||
, rubyPackages
|
, rubyPackages
|
||||||
, gcc
|
, gcc
|
||||||
, lib
|
, lib
|
||||||
@@ -24,10 +27,10 @@ stdenv.mkDerivation {
|
|||||||
(ruby.withPackages (ps: [
|
(ruby.withPackages (ps: [
|
||||||
ps.ffi
|
ps.ffi
|
||||||
]))
|
]))
|
||||||
xorg.libxcb
|
libxcb
|
||||||
xorg.xcbutilwm
|
xcbutilwm
|
||||||
xorg.xrandr
|
xrandr
|
||||||
xorg.xprop
|
xprop
|
||||||
];
|
];
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
@@ -53,8 +56,8 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
wrapProgram $out/bin/kutu.rb \
|
wrapProgram $out/bin/kutu.rb \
|
||||||
--prefix PATH : ${lib.makeBinPath [
|
--prefix PATH : ${lib.makeBinPath [
|
||||||
xorg.xrandr
|
xrandr
|
||||||
xorg.xprop
|
xprop
|
||||||
]}
|
]}
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
persistence_dir = File.join(ENV["XDG_STATE_HOME"] || File.expand_path("~/.local/state"), "kutu")
|
||||||
|
Dir.mkdir(persistence_dir) unless Dir.exist?(persistence_dir)
|
||||||
|
persistence_path = File.join(persistence_dir, "num.json")
|
||||||
|
|
||||||
presets = {
|
presets = {
|
||||||
normal: [0, X.clk],
|
normal: [0, X.clk],
|
||||||
mod: [X.mod, X.mod | X.clk]
|
mod: [X.mod, X.mod | X.clk]
|
||||||
@@ -95,25 +99,23 @@ end
|
|||||||
keybind 56, presets[:mod] do |_event|
|
keybind 56, presets[:mod] do |_event|
|
||||||
monitor = current_monitor
|
monitor = current_monitor
|
||||||
create_workspace monitor
|
create_workspace monitor
|
||||||
persistence_path = File.join(__dir__, ".num.json")
|
|
||||||
persistence = File.exist?(persistence_path) ?
|
persistence = File.exist?(persistence_path) ?
|
||||||
JSON.parse(File.read(persistence_path), symbolize_names: true) :
|
JSON.parse(File.read(persistence_path), symbolize_names: true) :
|
||||||
{}
|
{}
|
||||||
persistence[$monitors.key(monitor)] ||= {}
|
persistence[$monitors.key(monitor)] ||= {}
|
||||||
persistence[$monitors.key(monitor)][:length] = monitor[:workspaces].length
|
persistence[$monitors.key(monitor)][:length] = monitor[:workspaces].length
|
||||||
#File.write(persistence_path, JSON.pretty_generate(persistence))
|
File.write(persistence_path, JSON.pretty_generate(persistence))
|
||||||
end
|
end
|
||||||
|
|
||||||
keybind 57, presets[:mod] do |_event|
|
keybind 57, presets[:mod] do |_event|
|
||||||
monitor = current_monitor
|
monitor = current_monitor
|
||||||
delete_workspace monitor[:workspaces].length - 1, monitor
|
delete_workspace monitor[:workspaces].length - 1, monitor
|
||||||
persistence_path = File.join(__dir__, ".num.json")
|
|
||||||
persistence = File.exist?(persistence_path) ?
|
persistence = File.exist?(persistence_path) ?
|
||||||
JSON.parse(File.read(persistence_path), symbolize_names: true) :
|
JSON.parse(File.read(persistence_path), symbolize_names: true) :
|
||||||
{}
|
{}
|
||||||
persistence[$monitors.key(monitor)] ||= {}
|
persistence[$monitors.key(monitor)] ||= {}
|
||||||
persistence[$monitors.key(monitor)][:length] = monitor[:workspaces].length
|
persistence[$monitors.key(monitor)][:length] = monitor[:workspaces].length
|
||||||
#File.write(persistence_path, JSON.pretty_generate(persistence))
|
File.write(persistence_path, JSON.pretty_generate(persistence))
|
||||||
end
|
end
|
||||||
|
|
||||||
keybind 110, presets[:normal] do |_event|
|
keybind 110, presets[:normal] do |_event|
|
||||||
@@ -134,7 +136,6 @@ end
|
|||||||
|
|
||||||
keybind 89, presets[:mod] do |_event|
|
keybind 89, presets[:mod] do |_event|
|
||||||
monitor = current_monitor
|
monitor = current_monitor
|
||||||
persistence_path = File.join(__dir__, ".num.json")
|
|
||||||
persistence = File.exist?(persistence_path) ?
|
persistence = File.exist?(persistence_path) ?
|
||||||
JSON.parse(File.read(persistence_path), symbolize_names: true) :
|
JSON.parse(File.read(persistence_path), symbolize_names: true) :
|
||||||
{}
|
{}
|
||||||
@@ -143,14 +144,13 @@ keybind 89, presets[:mod] do |_event|
|
|||||||
else
|
else
|
||||||
persistence[$monitors.key(monitor)] ||= {}
|
persistence[$monitors.key(monitor)] ||= {}
|
||||||
persistence[$monitors.key(monitor)][:saved] = monitor[:selected_workspace]
|
persistence[$monitors.key(monitor)][:saved] = monitor[:selected_workspace]
|
||||||
#File.write(persistence_path, JSON.pretty_generate(persistence))
|
File.write(persistence_path, JSON.pretty_generate(persistence))
|
||||||
select_workspace 0, monitor
|
select_workspace 0, monitor
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
keybind 81, presets[:mod] do |event|
|
keybind 81, presets[:mod] do |event|
|
||||||
monitor = current_monitor
|
monitor = current_monitor
|
||||||
persistence_path = File.join(__dir__, ".num.json")
|
|
||||||
persistence = File.exist?(persistence_path) ?
|
persistence = File.exist?(persistence_path) ?
|
||||||
JSON.parse(File.read(persistence_path), symbolize_names: true) :
|
JSON.parse(File.read(persistence_path), symbolize_names: true) :
|
||||||
{}
|
{}
|
||||||
|
|||||||
Reference in New Issue
Block a user