From 7bb4afe3fe024954a18448784ef4c8ebbb0a24db Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Tue, 19 Nov 2024 12:26:15 +0200 Subject: [PATCH] Trying some stuff --- .config/nvim/lua/custom/config/telescope.lua | 4 +- .../nvim/lua/custom/plugins/auto-session.lua | 54 +++++++++---------- .config/nvim/lua/custom/plugins/telescope.lua | 4 +- hosts/laptop-nixos/home.nix | 3 ++ scripts/focus_app.sh | 9 ++++ scripts/focus_firefox.js | 13 +++++ 6 files changed, 56 insertions(+), 31 deletions(-) create mode 100755 scripts/focus_app.sh create mode 100644 scripts/focus_firefox.js diff --git a/.config/nvim/lua/custom/config/telescope.lua b/.config/nvim/lua/custom/config/telescope.lua index 71a2e5a..5a84121 100644 --- a/.config/nvim/lua/custom/config/telescope.lua +++ b/.config/nvim/lua/custom/config/telescope.lua @@ -18,8 +18,8 @@ telescope.setup({ }, }) --- pcall(telescope.load_extension('ui-select')) --- pcall(telescope.load_extension('fzf')) +pcall(telescope.load_extension('ui-select')) +pcall(telescope.load_extension('fzf')) local builtin = require('telescope.builtin') local function find_all() diff --git a/.config/nvim/lua/custom/plugins/auto-session.lua b/.config/nvim/lua/custom/plugins/auto-session.lua index 33b19ff..cd8d7a4 100644 --- a/.config/nvim/lua/custom/plugins/auto-session.lua +++ b/.config/nvim/lua/custom/plugins/auto-session.lua @@ -1,29 +1,29 @@ return { - -- 'rmagatti/auto-session', - -- lazy = false, - -- config = function() - -- vim.opt.sessionoptions = 'blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions' - -- require('auto-session').setup({ - -- log_level = 'error', - -- auto_session_suppress_dirs = { '~/', '/' }, - -- session_lens = { load_on_setup = false }, - -- no_restore_cmds = { - -- function() - -- if vim.fn.argc() == 0 then - -- vim.cmd('Alpha') - -- end - -- end, - -- }, - -- }) - -- - -- local session_lens_setup_done = false - -- local function search_session() - -- if not session_lens_setup_done then - -- require('auto-session').setup_session_lens() - -- session_lens_setup_done = true - -- end - -- require('auto-session.session-lens').search_session() - -- end - -- vim.keymap.set('n', '', search_session, { desc = '[S]ession Manager' }) - -- end, + 'rmagatti/auto-session', + lazy = false, + config = function() + vim.opt.sessionoptions = 'blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions' + require('auto-session').setup({ + log_level = 'error', + auto_session_suppress_dirs = { '~/', '/' }, + session_lens = { load_on_setup = false }, + no_restore_cmds = { + function() + if vim.fn.argc() == 0 then + vim.cmd('Alpha') + end + end, + }, + }) + + local session_lens_setup_done = false + local function search_session() + if not session_lens_setup_done then + require('auto-session').setup_session_lens() + session_lens_setup_done = true + end + require('auto-session.session-lens').search_session() + end + vim.keymap.set('n', '', search_session, { desc = '[S]ession Manager' }) + end, } diff --git a/.config/nvim/lua/custom/plugins/telescope.lua b/.config/nvim/lua/custom/plugins/telescope.lua index 3ba7d0d..af0534b 100644 --- a/.config/nvim/lua/custom/plugins/telescope.lua +++ b/.config/nvim/lua/custom/plugins/telescope.lua @@ -3,8 +3,8 @@ return { tag = '0.1.5', dependencies = { 'nvim-lua/plenary.nvim', - -- { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' }, - -- 'nvim-telescope/telescope-ui-select.nvim', + { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' }, + 'nvim-telescope/telescope-ui-select.nvim', }, cmd = 'Telescope', config = function() diff --git a/hosts/laptop-nixos/home.nix b/hosts/laptop-nixos/home.nix index 1dddd36..a902c85 100644 --- a/hosts/laptop-nixos/home.nix +++ b/hosts/laptop-nixos/home.nix @@ -35,6 +35,9 @@ fd ripgrep wakatime-cli + wmctrl + xdotool + make (nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) ]; diff --git a/scripts/focus_app.sh b/scripts/focus_app.sh new file mode 100755 index 0000000..955a15d --- /dev/null +++ b/scripts/focus_app.sh @@ -0,0 +1,9 @@ +APP=$1 +WID=$(xdotool search --class "$APP" | head -n 1) + +if [ -z "$WID" ]; then + nohup $APP &>/dev/null & +else + xdotool windowactivate "$WID" +fi + diff --git a/scripts/focus_firefox.js b/scripts/focus_firefox.js new file mode 100644 index 0000000..9d8c09b --- /dev/null +++ b/scripts/focus_firefox.js @@ -0,0 +1,13 @@ +var appName = "firefox"; + +// Search for a Firefox window +var client = workspace.clientList().find(c => c.resourceName === appName); + +if (client) { + // Focus the window + workspace.activeClient = client; +} else { + // Start Firefox if not running + workspace.launch("firefox"); +} +