From 3b2427735baa908520cece07ac22a737d2fb8499 Mon Sep 17 00:00:00 2001 From: Yigit Colakoglu Date: Thu, 8 Apr 2021 17:47:09 +0300 Subject: [PATCH] Final push before switching to git bare --- .gitmodules | 8 + README.md | 2 +- arch-setup/packages.rice | 3 + browser/startpage/src/index.css | 2 +- config/.gitignore | 2 + config/dunst/dunstrc | 35 +- config/htop/htoprc | 4 +- config/isync/mbsyncrc | 4 +- config/mimeapps.list | 1 + config/mutt/.mailsynclastrun | 0 config/nextcloud/nextcloud | 6 + config/screen/screenrc | 1 + config/tmux/tmux.conf | 4 + config/weechat/buflist.conf | 2 +- config/weechat/irc.conf | 46 +- config/weechat/irc.upgrade | Bin 0 -> 69642 bytes config/weechat/iset.conf | 38 + config/weechat/perl/autoload/iset.pl | 1 + config/weechat/perl/autoload/multiline.pl | 1 - config/weechat/perl/iset.pl | 1645 +++++++++++++++++++++ config/weechat/perl/multiline.pl | 782 ---------- config/weechat/plugins.conf | 59 +- config/weechat/python/anotify.py | 16 +- config/weechat/python/autoload/styurl.py | 1 + config/weechat/python/styurl.py | 178 +++ config/weechat/relay.upgrade | Bin 0 -> 64 bytes config/weechat/script.conf | 2 +- config/weechat/script/plugins.xml.gz | Bin 129202 -> 129457 bytes config/weechat/sec.conf | 3 +- config/weechat/weechat.conf | 72 +- config/weechat/weechat.log | 56 +- config/weechat/weechat.upgrade | Bin 0 -> 992061 bytes config/weechat/xfer.conf | 4 +- config/weechat/xfer.upgrade | Bin 0 -> 64 bytes config/zsh/aliases | 15 +- local/bin/.gitignore | 1 + local/bin/calsync | 9 + local/bin/check-updates | 2 +- local/bin/mailsync | 24 +- local/bin/nextcloud-sync | 4 +- local/bin/status-bar/date | 2 +- profile | 7 +- suckless/paleofetch/logos/artix.h | 21 + suckless/st/config.h | 4 + suckless/st/x.c | 15 + 45 files changed, 2170 insertions(+), 912 deletions(-) create mode 100644 config/mutt/.mailsynclastrun mode change 100644 => 100755 config/nextcloud/nextcloud create mode 100644 config/screen/screenrc create mode 100644 config/weechat/irc.upgrade create mode 100644 config/weechat/iset.conf create mode 120000 config/weechat/perl/autoload/iset.pl delete mode 120000 config/weechat/perl/autoload/multiline.pl create mode 100644 config/weechat/perl/iset.pl delete mode 100644 config/weechat/perl/multiline.pl create mode 120000 config/weechat/python/autoload/styurl.py create mode 100644 config/weechat/python/styurl.py create mode 100644 config/weechat/relay.upgrade create mode 100644 config/weechat/weechat.upgrade create mode 100644 config/weechat/xfer.upgrade create mode 100755 local/bin/calsync create mode 100644 suckless/paleofetch/logos/artix.h diff --git a/.gitmodules b/.gitmodules index 35635081..1174a211 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,24 +1,32 @@ [submodule "misc/ranger/plugins/devicons2"] path = misc/ranger/plugins/devicons2 url = https://github.com/cdump/ranger-devicons2.git + shallow = true [submodule "misc/ranger/plugins/devicons"] path = misc/ranger/plugins/devicons url = https://github.com/cdump/ranger-devicons2 + shallow = true [submodule "gtk/Tela-icon-theme"] path = theming/Tela-icon-theme url = https://github.com/vinceliuice/Tela-icon-theme.git + shallow = true [submodule "gtk/themes/material-ocean"] path = theming/themes/material-ocean url = https://github.com/material-ocean/Gtk-Theme.git + shallow = true [submodule "local/share/icons/Tela-Icons"] path = local/share/icons/Tela-Icons url = https://github.com/vinceliuice/Tela-icon-theme.git + shallow = true [submodule "local/share/themes/Material-Ocean"] path = local/share/themes/Material-Ocean url = https://github.com/material-ocean/Gtk-Theme + shallow = true [submodule "local/share/themes/material-ocean"] path = local/share/themes/material-ocean url = https://github.com/material-ocean/Gtk-Theme + shallow = true [submodule "config/ranger/plugins/devicons"] path = config/ranger/plugins/devicons url = https://github.com/cdump/ranger-devicons2.git + shallow = true diff --git a/README.md b/README.md index 0953aff4..8e1e5634 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Have fun! Another copy of all of this is [here](https://git.yigitcolakoglu.com/y Just run ```sh -git clone --recurse-submodules https://github.com/theFr1nge/dotfiles.git ~/.dotfiles && ~/.dotfiles/install.sh +git clone --depth 4 --recurse-submodules https://github.com/theFr1nge/dotfiles.git ~/.dotfiles && ~/.dotfiles/install.sh ``` This will download everything you need. After that, I have a list of all the packages I have installed on my machine in the directory arch-setup/. diff --git a/arch-setup/packages.rice b/arch-setup/packages.rice index f5cd6419..26cb347f 100644 --- a/arch-setup/packages.rice +++ b/arch-setup/packages.rice @@ -50,3 +50,6 @@ libexif libxft udevil redshift +python-notify2 +python-gobject +gsound diff --git a/browser/startpage/src/index.css b/browser/startpage/src/index.css index 5c991386..c2a51d92 100644 --- a/browser/startpage/src/index.css +++ b/browser/startpage/src/index.css @@ -30,7 +30,7 @@ textarea { :root { /* colors */ - --main: hsl(220, 21%, 17%); + --main: hsl(229, 27%, 8%); --main-light: hsl(30, 35%, 40%); --module-background: hsl(31, 77%, 60%); --search-background: hsl(4, 100%, 74%); diff --git a/config/.gitignore b/config/.gitignore index 69807914..8c0438cf 100644 --- a/config/.gitignore +++ b/config/.gitignore @@ -43,6 +43,8 @@ !newsboat/** !nextcloud !nextcloud/** +!screen +!screen/** !notmuch !notmuch/** !pulse diff --git a/config/dunst/dunstrc b/config/dunst/dunstrc index a961654f..2be729b4 100644 --- a/config/dunst/dunstrc +++ b/config/dunst/dunstrc @@ -67,26 +67,19 @@ frame_color = "#E5E9F0" timeout = 0 -[irc] - appname = weechat - timeout = 0 - background = "#0033bb" - foreground = "#dddddd" -# -[weechat hl] - appname = weechat - category = weechat.HL - background = "#FF5C47" - foreground = "#FFFFFF" -# -[weechat pn] - appname = weechat - category = weechat.PM - background = "#D53B84" - foreground = "#FFFFFF" -[Spotify] - appname = Spotify - frame_color = "#30AB70" - timeout = 5 +[volume] + appname = 蓼 Volume + history_ignore = yes +[screensaver] + appname =  System + history_ignore = yes + +[notification] + appname =  Notifications + history_ignore = yes + +[keyboard] + appname =  Keyboard + history_ignore = yes # vim: ft=cfg diff --git a/config/htop/htoprc b/config/htop/htoprc index 30689fa6..c0f8e042 100644 --- a/config/htop/htoprc +++ b/config/htop/htoprc @@ -1,12 +1,12 @@ # Beware! This file is rewritten by htop when settings are changed in the interface. # The parser is also very primitive, and not human-friendly. fields=0 48 17 18 38 39 40 2 46 47 49 1 -sort_key=47 +sort_key=46 sort_direction=1 tree_sort_key=47 tree_sort_direction=1 hide_kernel_threads=1 -hide_userland_threads=0 +hide_userland_threads=1 shadow_other_users=0 show_thread_names=0 show_program_path=1 diff --git a/config/isync/mbsyncrc b/config/isync/mbsyncrc index eb104a81..6f159fb4 100644 --- a/config/isync/mbsyncrc +++ b/config/isync/mbsyncrc @@ -15,8 +15,8 @@ Inbox /home/yigit/.local/share/mail/yigitcolakoglu@hotmail.com/INBOX Channel yigitcolakoglu@hotmail.com Expunge Both -Master :yigitcolakoglu@hotmail.com-remote: -Slave :yigitcolakoglu@hotmail.com-local: +Far :yigitcolakoglu@hotmail.com-remote: +Near :yigitcolakoglu@hotmail.com-local: Patterns * !"[Gmail]/All Mail" Create Both SyncState * diff --git a/config/mimeapps.list b/config/mimeapps.list index 18d7e939..2060f2f6 100644 --- a/config/mimeapps.list +++ b/config/mimeapps.list @@ -26,3 +26,4 @@ application/x-directory=lf.desktop [Added Associations] application/javascript=gvim.desktop;vim.desktop; +application/pdf=org.pwmt.zathura-pdf-mupdf.desktop; diff --git a/config/mutt/.mailsynclastrun b/config/mutt/.mailsynclastrun new file mode 100644 index 00000000..e69de29b diff --git a/config/nextcloud/nextcloud b/config/nextcloud/nextcloud old mode 100644 new mode 100755 index 12923005..8f0b99c0 --- a/config/nextcloud/nextcloud +++ b/config/nextcloud/nextcloud @@ -1,5 +1,11 @@ #!/bin/bash + +eval "$(grep -h -- \ + "^\s*\(export \)\?\(MBSYNCRC\|PASSWORD_STORE_DIR\|NOTMUCH_CONFIG\|GNUPGHOME\|XDG_DATA_HOME\|XDG_CONFIG_HOME\|XDG_RUNTIME_DIR\)=" \ + "$HOME/.profile" "$HOME/.bash_profile" "$HOME/.zprofile" "$HOME/.config/zsh/.zprofile" "$HOME/.zshenv" \ + "$HOME/.bashrc" "$HOME/.zshrc" "$HOME/.config/zsh/.zshrc" "$HOME/.pam_environment" 2>/dev/null)" + export NEXTCLOUD_USERNAME=yigitcolakoglu export NEXTCLOUD_PASSWORD=$(pass show Server/drive.yigitcolakoglu.com/yigitcolakoglu) export NEXTCLOUD_URL=https://drive.yigitcolakoglu.com/remote.php/webdav diff --git a/config/screen/screenrc b/config/screen/screenrc new file mode 100644 index 00000000..e935e424 --- /dev/null +++ b/config/screen/screenrc @@ -0,0 +1 @@ +debug on diff --git a/config/tmux/tmux.conf b/config/tmux/tmux.conf index 892ca6f9..c0a8381a 100644 --- a/config/tmux/tmux.conf +++ b/config/tmux/tmux.conf @@ -120,6 +120,10 @@ bind _ split-window -v -c "#{pane_current_path}" bind-key "\\" split-window -fh -c "#{pane_current_path}" bind-key "_" split-window -fv -c "#{pane_current_path}" +# Disable status bar for weechat sessions +set-hook -g session-created 'if -F "#{==:#{session_name},weechat}" "set status off" "set status on"' +set-hook -g session-created 'if -F "#{==:#{session_name},weechat}" "set status off" "set status on"' + # Plugins set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tmux-sensible' diff --git a/config/weechat/buflist.conf b/config/weechat/buflist.conf index 225b5e86..53f4537a 100644 --- a/config/weechat/buflist.conf +++ b/config/weechat/buflist.conf @@ -25,7 +25,7 @@ use_items = 1 [format] buffer = "${format_number}${indent}${format_nick_prefix}${color_hotlist}${format_name}" -buffer_current = "${color:,blue}${format_buffer}" +buffer_current = "${color:,8}${format_buffer}" hotlist = " ${color:green}(${hotlist}${color:green})" hotlist_highlight = "${color:magenta}" hotlist_low = "${color:white}" diff --git a/config/weechat/irc.conf b/config/weechat/irc.conf index 90453997..31b8c568 100644 --- a/config/weechat/irc.conf +++ b/config/weechat/irc.conf @@ -188,7 +188,7 @@ freenode.local_hostname freenode.usermode freenode.command freenode.command_delay -freenode.autojoin = "#vim,#archlinux,#lf,##C,#python,##java" +freenode.autojoin = "#vim,#archlinux,#lf,##C,#python,##java,#xorg-devel,#pass" freenode.autorejoin freenode.autorejoin_delay freenode.connection_timeout @@ -203,3 +203,47 @@ freenode.notify freenode.split_msg_max_length freenode.charset_message freenode.default_chantypes +oftc.addresses = "irc.oftc.net" +oftc.proxy +oftc.ipv6 +oftc.ssl +oftc.ssl_cert +oftc.ssl_password +oftc.ssl_priorities +oftc.ssl_dhkey_size +oftc.ssl_fingerprint +oftc.ssl_verify +oftc.password +oftc.capabilities +oftc.sasl_mechanism = plain +oftc.sasl_username = "Fr1nge" +oftc.sasl_password = "${sec.data.oftc_password}" +oftc.sasl_key +oftc.sasl_timeout +oftc.sasl_fail +oftc.autoconnect = on +oftc.autoreconnect +oftc.autoreconnect_delay +oftc.nicks = "Fr1nge,theFr1nge" +oftc.nicks_alternate +oftc.username = "Fr1nge" +oftc.realname = "Yigit Colakoglu" +oftc.local_hostname +oftc.usermode +oftc.command +oftc.command_delay +oftc.autojoin = "#suckless" +oftc.autorejoin +oftc.autorejoin_delay +oftc.connection_timeout +oftc.anti_flood_prio_high +oftc.anti_flood_prio_low +oftc.away_check +oftc.away_check_max_nicks +oftc.msg_kick +oftc.msg_part +oftc.msg_quit +oftc.notify +oftc.split_msg_max_length +oftc.charset_message +oftc.default_chantypes diff --git a/config/weechat/irc.upgrade b/config/weechat/irc.upgrade new file mode 100644 index 0000000000000000000000000000000000000000..fd706be38fae137ec1fffbd2fe69eb2a140f6bfb GIT binary patch literal 69642 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 Qg<~-hZZ+Bq7COrQKU#w&o&W#< literal 0 HcmV?d00001 diff --git a/config/weechat/iset.conf b/config/weechat/iset.conf new file mode 100644 index 00000000..8508e97d --- /dev/null +++ b/config/weechat/iset.conf @@ -0,0 +1,38 @@ +# +# weechat -- iset.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart +# + +[color] +bg_selected = red +help_default_value = green +help_option_name = white +help_text = default +option = default +option_selected = white +type = brown +type_selected = yellow +value = cyan +value_diff = magenta +value_diff_selected = lightmagenta +value_selected = lightcyan +value_undef = green +value_undef_selected = lightgreen + +[help] +show_help_bar = on +show_help_extra_info = on +show_plugin_description = off + +[look] +scroll_horiz = 10 +show_current_line = on +use_color = off +use_mute = off +value_search_char = "=" diff --git a/config/weechat/perl/autoload/iset.pl b/config/weechat/perl/autoload/iset.pl new file mode 120000 index 00000000..2746e0d8 --- /dev/null +++ b/config/weechat/perl/autoload/iset.pl @@ -0,0 +1 @@ +../iset.pl \ No newline at end of file diff --git a/config/weechat/perl/autoload/multiline.pl b/config/weechat/perl/autoload/multiline.pl deleted file mode 120000 index cf9fe28f..00000000 --- a/config/weechat/perl/autoload/multiline.pl +++ /dev/null @@ -1 +0,0 @@ -../multiline.pl \ No newline at end of file diff --git a/config/weechat/perl/iset.pl b/config/weechat/perl/iset.pl new file mode 100644 index 00000000..a4a8e35f --- /dev/null +++ b/config/weechat/perl/iset.pl @@ -0,0 +1,1645 @@ +# +# Copyright (C) 2008-2017 Sebastien Helleu +# Copyright (C) 2010-2017 Nils Görs +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Set WeeChat and plugins options interactively. +# +# History: +# +# 2020-06-21, Sebastien Helleu : +# version 4.4: make call to bar_new compatible with WeeChat >= 2.9 +# 2017-04-14, nils_2 +# version 4.3: add option "use_color" (https://github.com/weechat/scripts/issues/93) +# 2016-07-08, nils_2 +# version 4.2: add diff function +# 2016-02-06, Sebastien Helleu : +# version 4.1: remove debug print +# 2015-12-24, Sebastien Helleu : +# version 4.0: add support of parent options (inherited values in irc servers) +# with WeeChat >= 1.4 +# 2015-05-16, Sebastien Helleu : +# version 3.9: fix cursor position when editing an option with WeeChat >= 1.2 +# 2015-05-02, arza : +# version 3.8: don't append "null" to /set when setting an undefined setting +# 2015-05-01, nils_2 : +# version 3.7: fix two perl warnings (reported by t3chguy) +# 2014-09-30, arza : +# version 3.6: fix current line counter when options aren't found +# 2014-06-03, nils_2 : +# version 3.5: add new option "use_mute" +# 2014-01-30, stfn : +# version 3.4: add new options "color_value_diff" and "color_value_diff_selected" +# 2014-01-16, luz : +# version 3.3: fix bug with column alignment in iset buffer when option +# name contains unicode characters +# 2013-08-03, Sebastien Helleu : +# version 3.2: allow "q" as input in iset buffer to close it +# 2013-07-14, Sebastien Helleu : +# version 3.1: remove unneeded calls to iset_refresh() in mouse callback +# (faster mouse actions when lot of options are displayed), +# fix bug when clicking on a line after the last option displayed +# 2013-04-30, arza : +# version 3.0: simpler title, fix refresh on unset +# 2012-12-16, nils_2 : +# version 2.9: fix focus window with iset buffer on mouse click +# 2012-08-25, nils_2 : +# version 2.8: most important key and mouse bindings for iset buffer added to title-bar (idea The-Compiler) +# 2012-07-31, nils_2 : +# version 2.7: add combined option and value search (see /help iset) +# : add exact value search (see /help iset) +# : fix problem with metacharacter in value search +# : fix use of uninitialized value for unset option and reset value of option +# 2012-07-25, nils_2 : +# version 2.6: switch to iset buffer (if existing) when command /iset is called with arguments +# 2012-03-17, Sebastien Helleu : +# version 2.5: fix check of sections when creating config file +# 2012-03-09, Sebastien Helleu : +# version 2.4: fix reload of config file +# 2012-02-02, nils_2 : +# version 2.3: fixed: refresh problem with new search results and cursor was outside window. +# : add: new option "current_line" in title bar +# version 2.2: fixed: refresh error when toggling plugins description +# 2011-11-05, nils_2 : +# version 2.1: use own config file (iset.conf), fix own help color (used immediately) +# 2011-10-16, nils_2 : +# version 2.0: add support for left-mouse-button and more sensitive mouse gesture (for integer/color options) +# add help text for mouse support +# 2011-09-20, Sebastien Helleu : +# version 1.9: add mouse support, fix iset buffer, fix errors on first load under FreeBSD +# 2011-07-21, nils_2 : +# version 1.8: added: option "show_plugin_description" (alt+p) +# fixed: typos in /help iset (lower case for alt+'x' keys) +# 2011-05-29, nils_2 : +# version 1.7: added: version check for future needs +# added: new option (scroll_horiz) and usage of scroll_horiz function (weechat >= 0.3.6 required) +# fixed: help_bar did not pop up immediately using key-shortcut +# 2011-02-19, nils_2 : +# version 1.6: added: display of all possible values in help bar (show_help_extra_info) +# fixed: external user options never loaded when starting iset first time +# 2011-02-13, Sebastien Helleu : +# version 1.5: use new help format for command arguments +# 2011-02-03, nils_2 : +# version 1.4: fixed: restore value filter after /upgrade using buffer local variable. +# 2011-01-14, nils_2 : +# version 1.3: added function to search for values (option value_search_char). +# code optimization. +# 2010-12-26, Sebastien Helleu : +# version 1.2: improve speed of /upgrade when iset buffer is open, +# restore filter used after /upgrade using buffer local variable, +# use /iset filter argument if buffer is open. +# 2010-11-21, drubin : +# version 1.1.1: fix bugs with cursor position +# 2010-11-20, nils_2 : +# version 1.1: cursor position set to value +# 2010-08-03, Sebastien Helleu : +# version 1.0: move misplaced call to infolist_free() +# 2010-02-02, rettub : +# version 0.9: turn all the help stuff off if option 'show_help_bar' is 'off', +# new key binding - to toggle help_bar and help stuff on/off +# 2010-01-30, nils_2 : +# version 0.8: fix error when option does not exist +# 2010-01-24, Sebastien Helleu : +# version 0.7: display iset bar only on iset buffer +# 2010-01-22, nils_2 and drubin: +# version 0.6: add description in a bar, fix singular/plural bug in title bar, +# fix selected line when switching buffer +# 2009-06-21, Sebastien Helleu : +# version 0.5: fix bug with iset buffer after /upgrade +# 2009-05-02, Sebastien Helleu : +# version 0.4: sync with last API changes +# 2009-01-04, Sebastien Helleu : +# version 0.3: open iset buffer when /iset command is executed +# 2009-01-04, Sebastien Helleu : +# version 0.2: use null values for options, add colors, fix refresh bugs, +# use new keys to reset/unset options, sort options by name, +# display number of options in buffer's title +# 2008-11-05, Sebastien Helleu : +# version 0.1: first official version +# 2008-04-19, Sebastien Helleu : +# script creation + +use strict; + +my $PRGNAME = "iset"; +my $VERSION = "4.4"; +my $DESCR = "Interactive Set for configuration options"; +my $AUTHOR = "Sebastien Helleu "; +my $LICENSE = "GPL3"; +my $LANG = "perl"; +my $ISET_CONFIG_FILE_NAME = "iset"; + +my $iset_config_file; +my $iset_buffer = ""; +my $wee_version_number = 0; +my @iset_focus = (); +my @options_names = (); +my @options_parent_names = (); +my @options_types = (); +my @options_values = (); +my @options_default_values = (); +my @options_parent_values = (); +my @options_is_null = (); +my $option_max_length = 0; +my $current_line = 0; +my $filter = "*"; +my $description = ""; +my $options_name_copy = ""; +my $iset_filter_title = ""; +# search modes: 0 = index() on value, 1 = grep() on value, 2 = grep() on option, 3 = grep on option & value, 4 = diff all, 5 = diff parts +my $search_mode = 2; +my $search_value = ""; +my $help_text_keys = "alt + space: toggle, +/-: increase/decrease, enter: change, ir: reset, iu: unset, v: toggle help bar"; +my $help_text_mouse = "Mouse: left: select, right: toggle/set, right + drag left/right: increase/decrease"; +my %options_iset; + +my %mouse_keys = ("\@chat(perl.$PRGNAME):button1" => "hsignal:iset_mouse", + "\@chat(perl.$PRGNAME):button2*" => "hsignal:iset_mouse", + "\@chat(perl.$PRGNAME):wheelup" => "/repeat 5 /iset **up", + "\@chat(perl.$PRGNAME):wheeldown" => "/repeat 5 /iset **down"); + + +sub iset_title +{ + if ($iset_buffer ne "") + { + my $current_line_counter = ""; + if (weechat::config_boolean($options_iset{"show_current_line"}) == 1) + { + if (@options_names eq 0) + { + $current_line_counter = "0/"; + } + else + { + $current_line_counter = ($current_line + 1) . "/"; + } + } + my $show_filter = ""; + if ($search_mode eq 0) + { + $iset_filter_title = "(value) "; + $show_filter = $search_value; + if ( substr($show_filter,0,1) eq weechat::config_string($options_iset{"value_search_char"}) ) + { + $show_filter = substr($show_filter,1,length($show_filter)); + } + } + elsif ($search_mode eq 1) + { + $iset_filter_title = "(value) "; + $show_filter = "*".$search_value."*"; + } + elsif ($search_mode eq 2) + { + $iset_filter_title = ""; + $filter = "*" if ($filter eq ""); + $show_filter = $filter; + } + elsif ($search_mode == 4 or $search_mode == 5) + { + $iset_filter_title = "diff: "; + $show_filter = "all"; + $show_filter = $search_value if $search_mode == 5; + } + elsif ($search_mode eq 3) + { + $iset_filter_title = "(option) "; + $show_filter = $filter + .weechat::color("default") + ." / (value) " + .weechat::color("yellow") + ."*".$search_value."*"; + } + weechat::buffer_set($iset_buffer, "title", + $iset_filter_title + .weechat::color("yellow") + .$show_filter + .weechat::color("default")." | " + .$current_line_counter + .@options_names + ." | " + .$help_text_keys + ." | " + .$help_text_mouse); + } +} + +sub iset_create_filter +{ + $filter = $_[0]; + if ( $search_mode == 3 ) + { + my @cmd_array = split(/ /,$filter); + my $array_count = @cmd_array; + $filter = $cmd_array[0]; + $filter = $cmd_array[0] . " " . $cmd_array[1] if ( $array_count >2 ); + } + $filter = "$1.*" if ($filter =~ /f (.*)/); # search file + $filter = "*.$1.*" if ($filter =~ /s (.*)/); # search section + if ((substr($filter, 0, 1) ne "*") && (substr($filter, -1, 1) ne "*")) + { + $filter = "*".$filter."*"; + } + if ($iset_buffer ne "") + { + weechat::buffer_set($iset_buffer, "localvar_set_iset_filter", $filter); + } +} + +sub iset_buffer_input +{ + my ($data, $buffer, $string) = ($_[0], $_[1], $_[2]); + + # string begins with space? + return weechat::WEECHAT_RC_OK if (substr($string, 0, 1 ) eq " "); + + if ($string eq "q") + { + weechat::buffer_close($buffer); + return weechat::WEECHAT_RC_OK; + } + $search_value = ""; + my @cmd_array = split(/ /,$string); + my $array_count = @cmd_array; + my $string2 = substr($string, 0, 1); + if ($string2 eq weechat::config_string($options_iset{"value_search_char"}) + or (defined $cmd_array[0] and $cmd_array[0] eq weechat::config_string($options_iset{"value_search_char"}).weechat::config_string($options_iset{"value_search_char"})) ) + { + $search_mode = 1; + $search_value = substr($string, 1); + iset_get_values($search_value); + if ($iset_buffer ne "") + { + weechat::buffer_set($iset_buffer, "localvar_set_iset_search_value", $search_value); + } + } + # show all diff values + elsif ($string eq "d") + { + $search_mode = 4; +# iset_title(); + iset_create_filter("*"); + iset_get_options("*"); + } + elsif ( $array_count >= 2 and $cmd_array[0] eq "d") + { + $search_mode = 5; + $search_value = substr($cmd_array[1], 0); # cut value_search_char + $search_value = substr($cmd_array[2], 0) if ( $array_count > 2); # cut value_search_char + iset_create_filter($search_value); + iset_get_options($search_value); + + } + else + { + $search_mode = 2; + if ( $array_count >= 2 and $cmd_array[0] ne "f" or $cmd_array[0] ne "s" ) + { + if ( defined $cmd_array[1] and substr($cmd_array[1], 0, 1) eq weechat::config_string($options_iset{"value_search_char"}) + or defined $cmd_array[2] and substr($cmd_array[2], 0, 1) eq weechat::config_string($options_iset{"value_search_char"}) ) + { + $search_mode = 3; + $search_value = substr($cmd_array[1], 1); # cut value_search_char + $search_value = substr($cmd_array[2], 1) if ( $array_count > 2); # cut value_search_char + } + } + if ( $search_mode == 3) + { + iset_create_filter($string); + iset_get_options($search_value); + } + else + { + iset_create_filter($string); + iset_get_options(""); + } + } + weechat::buffer_set($iset_buffer, "localvar_set_iset_search_mode", $search_mode); + weechat::buffer_clear($buffer); + $current_line = 0; + iset_refresh(); + return weechat::WEECHAT_RC_OK; +} + +sub iset_buffer_close +{ + $iset_buffer = ""; + + return weechat::WEECHAT_RC_OK; +} + +sub iset_init +{ + $current_line = 0; + $iset_buffer = weechat::buffer_search($LANG, $PRGNAME); + if ($iset_buffer eq "") + { + $iset_buffer = weechat::buffer_new($PRGNAME, "iset_buffer_input", "", "iset_buffer_close", ""); + } + else + { + my $new_filter = weechat::buffer_get_string($iset_buffer, "localvar_iset_filter"); + $search_mode = weechat::buffer_get_string($iset_buffer, "localvar_iset_search_mode"); + $search_value = weechat::buffer_get_string($iset_buffer, "localvar_iset_search_value"); + $filter = $new_filter if ($new_filter ne ""); + } + if ($iset_buffer ne "") + { + weechat::buffer_set($iset_buffer, "type", "free"); + iset_title(); + weechat::buffer_set($iset_buffer, "key_bind_ctrl-L", "/iset **refresh"); + weechat::buffer_set($iset_buffer, "key_bind_meta2-A", "/iset **up"); + weechat::buffer_set($iset_buffer, "key_bind_meta2-B", "/iset **down"); + weechat::buffer_set($iset_buffer, "key_bind_meta2-23~", "/iset **left"); + weechat::buffer_set($iset_buffer, "key_bind_meta2-24~" , "/iset **right"); + weechat::buffer_set($iset_buffer, "key_bind_meta- ", "/iset **toggle"); + weechat::buffer_set($iset_buffer, "key_bind_meta-+", "/iset **incr"); + weechat::buffer_set($iset_buffer, "key_bind_meta--", "/iset **decr"); + weechat::buffer_set($iset_buffer, "key_bind_meta-imeta-r", "/iset **reset"); + weechat::buffer_set($iset_buffer, "key_bind_meta-imeta-u", "/iset **unset"); + weechat::buffer_set($iset_buffer, "key_bind_meta-ctrl-J", "/iset **set"); + weechat::buffer_set($iset_buffer, "key_bind_meta-ctrl-M", "/iset **set"); + weechat::buffer_set($iset_buffer, "key_bind_meta-meta2-1~", "/iset **scroll_top"); + weechat::buffer_set($iset_buffer, "key_bind_meta-meta2-4~", "/iset **scroll_bottom"); + weechat::buffer_set($iset_buffer, "key_bind_meta-v", "/iset **toggle_help"); + weechat::buffer_set($iset_buffer, "key_bind_meta-p", "/iset **toggle_show_plugin_desc"); + weechat::buffer_set($iset_buffer, "localvar_set_iset_filter", $filter); + weechat::buffer_set($iset_buffer, "localvar_set_iset_search_mode", $search_mode); + weechat::buffer_set($iset_buffer, "localvar_set_iset_search_value", $search_value); + } +} + +sub iset_get_options +{ + my $var_value = $_[0]; + $var_value = "" if (not defined $var_value); + $var_value = lc($var_value); + $search_value = $var_value; + @iset_focus = (); + @options_names = (); + @options_parent_names = (); + @options_types = (); + @options_values = (); + @options_default_values = (); + @options_parent_values = (); + @options_is_null = (); + $option_max_length = 0; + my %options_internal = (); + my $i = 0; + my $key; + my $iset_struct; + my %iset_struct; + + weechat::buffer_set($iset_buffer, "localvar_set_iset_search_value", $var_value) if ($search_mode == 3); + + my $infolist = weechat::infolist_get("option", "", $filter); + while (weechat::infolist_next($infolist)) + { + $key = sprintf("%08d", $i); + my $name = weechat::infolist_string($infolist, "full_name"); + my $parent_name = weechat::infolist_string($infolist, "parent_name"); + next if (weechat::config_boolean($options_iset{"show_plugin_description"}) == 0 and index ($name, "plugins.desc.") != -1); + my $type = weechat::infolist_string($infolist, "type"); + my $value = weechat::infolist_string($infolist, "value"); + my $default_value = weechat::infolist_string($infolist, "default_value"); + my $parent_value; + if ($parent_name && (($wee_version_number < 0x00040300) || (weechat::infolist_search_var($infolist, "parent_value")))) + { + $parent_value = weechat::infolist_string($infolist, "parent_value"); + } + my $is_null = weechat::infolist_integer($infolist, "value_is_null"); + + if ($search_mode == 3) + { + my $value = weechat::infolist_string($infolist, "value"); + if ( grep /\Q$var_value/,lc($value) ) + { + $options_internal{$name}{"parent_name"} = $parent_name; + $options_internal{$name}{"type"} = $type; + $options_internal{$name}{"value"} = $value; + $options_internal{$name}{"default_value"} = $default_value; + $options_internal{$name}{"parent_value"} = $parent_value; + $options_internal{$name}{"is_null"} = $is_null; + $option_max_length = length($name) if (length($name) > $option_max_length); + $iset_struct{$key} = $options_internal{$name}; + push(@iset_focus, $iset_struct{$key}); + } + } + # search for diff? + elsif ( $search_mode == 4 or $search_mode == 5) + { + if ($value ne $default_value ) + { + $options_internal{$name}{"parent_name"} = $parent_name; + $options_internal{$name}{"type"} = $type; + $options_internal{$name}{"value"} = $value; + $options_internal{$name}{"default_value"} = $default_value; + $options_internal{$name}{"parent_value"} = $parent_value; + $options_internal{$name}{"is_null"} = $is_null; + $option_max_length = length($name) if (length($name) > $option_max_length); + $iset_struct{$key} = $options_internal{$name}; + push(@iset_focus, $iset_struct{$key}); + } + } + else + { + $options_internal{$name}{"parent_name"} = $parent_name; + $options_internal{$name}{"type"} = $type; + $options_internal{$name}{"value"} = $value; + $options_internal{$name}{"default_value"} = $default_value; + $options_internal{$name}{"parent_value"} = $parent_value; + $options_internal{$name}{"is_null"} = $is_null; + $option_max_length = length($name) if (length($name) > $option_max_length); + $iset_struct{$key} = $options_internal{$name}; + push(@iset_focus, $iset_struct{$key}); + } + $i++; + } + weechat::infolist_free($infolist); + + foreach my $name (sort keys %options_internal) + { + push(@options_names, $name); + push(@options_parent_names, $options_internal{$name}{"parent_name"}); + push(@options_types, $options_internal{$name}{"type"}); + push(@options_values, $options_internal{$name}{"value"}); + push(@options_default_values, $options_internal{$name}{"default_value"}); + push(@options_parent_values, $options_internal{$name}{"parent_value"}); + push(@options_is_null, $options_internal{$name}{"is_null"}); + } +} + +sub iset_get_values +{ + my $var_value = $_[0]; + $var_value = lc($var_value); + if (substr($var_value,0,1) eq weechat::config_string($options_iset{"value_search_char"}) and $var_value ne weechat::config_string($options_iset{"value_search_char"})) + { + $var_value = substr($var_value,1,length($var_value)); + $search_mode = 0; + } + iset_search_values($var_value,$search_mode); + weechat::buffer_set($iset_buffer, "localvar_set_iset_search_mode", $search_mode); + weechat::buffer_set($iset_buffer, "localvar_set_iset_search_value", $var_value); + $search_value = $var_value; +} +sub iset_search_values +{ + my ($var_value,$search_mode) = ($_[0],$_[1]); + @options_names = (); + @options_parent_names = (); + @options_types = (); + @options_values = (); + @options_default_values = (); + @options_parent_values = (); + @options_is_null = (); + $option_max_length = 0; + my %options_internal = (); + my $i = 0; + my $infolist = weechat::infolist_get("option", "", "*"); + while (weechat::infolist_next($infolist)) + { + my $name = weechat::infolist_string($infolist, "full_name"); + my $parent_name = weechat::infolist_string($infolist, "parent_name"); + next if (weechat::config_boolean($options_iset{"show_plugin_description"}) == 0 and index ($name, "plugins.desc.") != -1); + my $type = weechat::infolist_string($infolist, "type"); + my $is_null = weechat::infolist_integer($infolist, "value_is_null"); + my $value = weechat::infolist_string($infolist, "value"); + my $default_value = weechat::infolist_string($infolist, "default_value"); + my $parent_value; + if ($parent_name && (($wee_version_number < 0x00040300) || (weechat::infolist_search_var($infolist, "parent_value")))) + { + $parent_value = weechat::infolist_string($infolist, "parent_value"); + } + if ($search_mode) + { + if ( grep /\Q$var_value/,lc($value) ) + { + $options_internal{$name}{"parent_name"} = $parent_name; + $options_internal{$name}{"type"} = $type; + $options_internal{$name}{"value"} = $value; + $options_internal{$name}{"default_value"} = $default_value; + $options_internal{$name}{"parent_value"} = $parent_value; + $options_internal{$name}{"is_null"} = $is_null; + $option_max_length = length($name) if (length($name) > $option_max_length); + } + } + else + { +# if ($value =~ /\Q$var_value/si) + if (lc($value) eq $var_value) + { + $options_internal{$name}{"parent_name"} = $parent_name; + $options_internal{$name}{"type"} = $type; + $options_internal{$name}{"value"} = $value; + $options_internal{$name}{"default_value"} = $default_value; + $options_internal{$name}{"parent_value"} = $parent_value; + $options_internal{$name}{"is_null"} = $is_null; + $option_max_length = length($name) if (length($name) > $option_max_length); + } + } + $i++; + } + weechat::infolist_free($infolist); + foreach my $name (sort keys %options_internal) + { + push(@options_names, $name); + push(@options_parent_names, $options_internal{$name}{"parent_name"}); + push(@options_types, $options_internal{$name}{"type"}); + push(@options_values, $options_internal{$name}{"value"}); + push(@options_default_values, $options_internal{$name}{"default_value"}); + push(@options_parent_values, $options_internal{$name}{"parent_value"}); + push(@options_is_null, $options_internal{$name}{"is_null"}); + } +} + +sub iset_refresh_line +{ + if ($iset_buffer ne "") + { + my $y = $_[0]; + if ($y <= $#options_names) + { + return if (! defined($options_types[$y])); + my $format = sprintf("%%s%%s%%s %%s %%-7s %%s %%s%%s%%s"); + my $padding; + if ($wee_version_number >= 0x00040200) + { + $padding = " " x ($option_max_length - weechat::strlen_screen($options_names[$y])); + } + else + { + $padding = " " x ($option_max_length - length($options_names[$y])); + } + my $around = ""; + $around = "\"" if ((!$options_is_null[$y]) && ($options_types[$y] eq "string")); + + my $color1 = weechat::color(weechat::config_color($options_iset{"color_option"})); + my $color2 = weechat::color(weechat::config_color($options_iset{"color_type"})); + my $color3 = ""; + my $color4 = ""; + if ($options_is_null[$y]) + { + $color3 = weechat::color(weechat::config_color($options_iset{"color_value_undef"})); + $color4 = weechat::color(weechat::config_color($options_iset{"color_value"})); + } + elsif ($options_values[$y] ne $options_default_values[$y]) + { + $color3 = weechat::color(weechat::config_color($options_iset{"color_value_diff"})); + } + else + { + $color3 = weechat::color(weechat::config_color($options_iset{"color_value"})); + } + if ($y == $current_line) + { + $color1 = weechat::color(weechat::config_color($options_iset{"color_option_selected"}).",".weechat::config_color($options_iset{"color_bg_selected"})); + $color2 = weechat::color(weechat::config_color($options_iset{"color_type_selected"}).",".weechat::config_color($options_iset{"color_bg_selected"})); + if ($options_is_null[$y]) + { + $color3 = weechat::color(weechat::config_color($options_iset{"color_value_undef_selected"}).",".weechat::config_color($options_iset{"color_bg_selected"})); + $color4 = weechat::color(weechat::config_color($options_iset{"color_value_selected"}).",".weechat::config_color($options_iset{"color_bg_selected"})); + } + elsif ($options_values[$y] ne $options_default_values[$y]) + { + $color3 = weechat::color(weechat::config_color($options_iset{"color_value_diff_selected"}).",".weechat::config_color($options_iset{"color_bg_selected"})); + } + else + { + $color3 = weechat::color(weechat::config_color($options_iset{"color_value_selected"}).",".weechat::config_color($options_iset{"color_bg_selected"})); + } + } + my $value = $options_values[$y]; + if (weechat::config_boolean($options_iset{"use_color"}) == 1 and $options_types[$y] eq "color") + { + $value = weechat::color($options_values[$y]) . $options_values[$y]; + } + if ($options_is_null[$y]) + { + $value = "null"; + if ($options_parent_names[$y]) + { + if (defined $options_parent_values[$y]) + { + my $around_parent = ""; + $around_parent = "\"" if ($options_types[$y] eq "string"); + $value .= $color1." -> ".$color4.$around_parent.$options_parent_values[$y].$around_parent; + } + else + { + $value .= $color1." -> ".$color3."null"; + } + } + } + my $strline = sprintf($format, + $color1, $options_names[$y], $padding, + $color2, $options_types[$y], + $color3, $around, $value, $around); + weechat::print_y($iset_buffer, $y, $strline); + } + } +} + +sub iset_refresh +{ + iset_title(); + if (($iset_buffer ne "") && ($#options_names >= 0)) + { + foreach my $y (0 .. $#options_names) + { + iset_refresh_line($y); + } + } + + weechat::bar_item_update("isetbar_help") if (weechat::config_boolean($options_iset{"show_help_bar"}) == 1); +} + +sub iset_full_refresh +{ + $iset_buffer = weechat::buffer_search($LANG, $PRGNAME); + if ($iset_buffer ne "") + { + weechat::buffer_clear($iset_buffer) unless defined $_[0]; # iset_full_refresh(1) does a full refresh without clearing buffer + # search for "*" in $filter. + if ($filter =~ m/\*/ and $search_mode == 2) + { + iset_get_options(""); + } + else + { + if ($search_mode == 0) + { + $search_value = "=" . $search_value; + iset_get_values($search_value); + } + elsif ($search_mode == 1) + { + iset_get_values($search_value); + } + elsif ($search_mode == 3) + { + iset_create_filter($filter); + iset_get_options($search_value); + } + } + if (weechat::config_boolean($options_iset{"show_plugin_description"}) == 1) + { + iset_set_current_line($current_line); + }else + { + $current_line = $#options_names if ($current_line > $#options_names); + } + iset_refresh(); + weechat::command($iset_buffer, "/window refresh"); + } +} + +sub iset_set_current_line +{ + my $new_current_line = $_[0]; + if ($new_current_line >= 0) + { + my $old_current_line = $current_line; + $current_line = $new_current_line; + $current_line = $#options_names if ($current_line > $#options_names); + if ($old_current_line != $current_line) + { + iset_refresh_line($old_current_line); + iset_refresh_line($current_line); + weechat::bar_item_update("isetbar_help") if (weechat::config_boolean($options_iset{"show_help_bar"}) == 1); + } + } +} + +sub iset_signal_window_scrolled_cb +{ + my ($data, $signal, $signal_data) = ($_[0], $_[1], $_[2]); + if ($iset_buffer ne "") + { + my $infolist = weechat::infolist_get("window", $signal_data, ""); + if (weechat::infolist_next($infolist)) + { + if (weechat::infolist_pointer($infolist, "buffer") eq $iset_buffer) + { + my $old_current_line = $current_line; + my $new_current_line = $current_line; + my $start_line_y = weechat::infolist_integer($infolist, "start_line_y"); + my $chat_height = weechat::infolist_integer($infolist, "chat_height"); + $new_current_line += $chat_height if ($new_current_line < $start_line_y); + $new_current_line -= $chat_height if ($new_current_line >= $start_line_y + $chat_height); + $new_current_line = $start_line_y if ($new_current_line < $start_line_y); + $new_current_line = $start_line_y + $chat_height - 1 if ($new_current_line >= $start_line_y + $chat_height); + iset_set_current_line($new_current_line); + } + } + weechat::infolist_free($infolist); + } + + return weechat::WEECHAT_RC_OK; +} + +sub iset_get_window_number +{ + if ($iset_buffer ne "") + { + my $window = weechat::window_search_with_buffer($iset_buffer); + return "-window ".weechat::window_get_integer ($window, "number")." " if ($window ne ""); + } + return ""; +} + +sub iset_check_line_outside_window +{ + if ($iset_buffer ne "") + { + undef my $infolist; + if ($wee_version_number >= 0x00030500) + { + my $window = weechat::window_search_with_buffer($iset_buffer); + $infolist = weechat::infolist_get("window", $window, "") if $window; + } + else + { + $infolist = weechat::infolist_get("window", "", "current"); + } + if ($infolist) + { + if (weechat::infolist_next($infolist)) + { + my $start_line_y = weechat::infolist_integer($infolist, "start_line_y"); + my $chat_height = weechat::infolist_integer($infolist, "chat_height"); + my $window_number = ""; + if ($wee_version_number >= 0x00030500) + { + $window_number = "-window ".weechat::infolist_integer($infolist, "number")." "; + } + if ($start_line_y > $current_line) + { + weechat::command($iset_buffer, "/window scroll ".$window_number."-".($start_line_y - $current_line)); + } + else + { + if ($start_line_y <= $current_line - $chat_height) + { + weechat::command($iset_buffer, "/window scroll ".$window_number."+".($current_line - $start_line_y - $chat_height + 1)); + + } + } + } + weechat::infolist_free($infolist); + } + } +} + +sub iset_get_option_name_index +{ + my $option_name = $_[0]; + my $index = 0; + while ($index <= $#options_names) + { + return -1 if ($options_names[$index] gt $option_name); + return $index if ($options_names[$index] eq $option_name); + $index++; + } + return -1; +} + +sub iset_refresh_option +{ + my $option_name = $_[0]; + my $index = $_[1]; + my $infolist = weechat::infolist_get("option", "", $option_name); + if ($infolist) + { + weechat::infolist_next($infolist); + if (weechat::infolist_fields($infolist)) + { + $options_parent_names[$index] = weechat::infolist_string($infolist, "parent_name"); + $options_types[$index] = weechat::infolist_string($infolist, "type"); + $options_values[$index] = weechat::infolist_string($infolist, "value"); + $options_default_values[$index] = weechat::infolist_string($infolist, "default_value"); + $options_is_null[$index] = weechat::infolist_integer($infolist, "value_is_null"); + $options_parent_values[$index] = undef; + if ($options_parent_names[$index] + && (($wee_version_number < 0x00040300) || (weechat::infolist_search_var($infolist, "parent_value")))) + { + $options_parent_values[$index] = weechat::infolist_string($infolist, "parent_value"); + } + iset_refresh_line($index); + iset_title() if ($option_name eq "iset.look.show_current_line"); + } + else + { + iset_full_refresh(1); # if not found, refresh fully without clearing buffer + weechat::print_y($iset_buffer, $#options_names + 1, ""); + } + weechat::infolist_free($infolist); + } +} + +sub iset_config_cb +{ + my ($data, $option_name, $value) = ($_[0], $_[1], $_[2]); + + if ($iset_buffer ne "") + { + return weechat::WEECHAT_RC_OK if (weechat::info_get("weechat_upgrading", "") eq "1"); + + my $index = iset_get_option_name_index($option_name); + if ($index >= 0) + { + # refresh info about changed option + iset_refresh_option($option_name, $index); + # refresh any other option having this changed option as parent + foreach my $i (0 .. $#options_names) + { + if ($options_parent_names[$i] eq $option_name) + { + iset_refresh_option($options_names[$i], $i); + } + } + } + else + { + iset_full_refresh() if ($option_name ne "weechat.bar.isetbar.hidden"); + } + } + + return weechat::WEECHAT_RC_OK; +} + +sub iset_set_option +{ + my ($option, $value) = ($_[0],$_[1]); + if (defined $option and defined $value) + { + $option = weechat::config_get($option); + weechat::config_option_set($option, $value, 1) if ($option ne ""); + } +} + +sub iset_reset_option +{ + my $option = $_[0]; + if (defined $option) + { + $option = weechat::config_get($option); + weechat::config_option_reset($option, 1) if ($option ne ""); + } +} + +sub iset_unset_option +{ + my $option = $_[0]; + if (defined $option) + { + $option = weechat::config_get($option); + weechat::config_option_unset($option) if ($option ne ""); + } +} + + +sub iset_cmd_cb +{ + my ($data, $buffer, $args) = ($_[0], $_[1], $_[2]); + my $filter_set = 0; +# $search_value = ""; + if (($args ne "") && (substr($args, 0, 2) ne "**")) + { + my @cmd_array = split(/ /,$args); + my $array_count = @cmd_array; + if (substr($args, 0, 1) eq weechat::config_string($options_iset{"value_search_char"}) + or (defined $cmd_array[0] and $cmd_array[0] eq weechat::config_string($options_iset{"value_search_char"}).weechat::config_string($options_iset{"value_search_char"})) ) + { + $search_mode = 1; + my $search_value = substr($args, 1); # cut value_search_char + if ($iset_buffer ne "") + { + weechat::buffer_clear($iset_buffer); + weechat::command($iset_buffer, "/window refresh"); + } + weechat::buffer_set($iset_buffer, "localvar_set_iset_search_mode", $search_mode); + weechat::buffer_set($iset_buffer, "localvar_set_iset_search_value", $search_value); + iset_init(); + iset_get_values($search_value); + iset_refresh(); + weechat::buffer_set($iset_buffer, "display", "1"); +# $filter = $var_value; + return weechat::WEECHAT_RC_OK; + } + else + { + # f/s option =value + # option =value + $search_mode = 2; # grep on option + if ( $array_count >= 2 and $cmd_array[0] ne "f" or $cmd_array[0] ne "s") + { + if ( defined $cmd_array[1] and substr($cmd_array[1], 0, 1) eq weechat::config_string($options_iset{"value_search_char"}) + or defined $cmd_array[2] and substr($cmd_array[2], 0, 1) eq weechat::config_string($options_iset{"value_search_char"}) ) + { + $search_mode = 3; # grep on option and value + $search_value = substr($cmd_array[1], 1); # cut value_search_char + $search_value = substr($cmd_array[2], 1) if ( $array_count > 2); # cut value_search_char + } + } + + # show all diff values + if ( $args eq "d") + { + $search_mode = 4; + $search_value = "*"; + $args = $search_value; + } + if ( $array_count >= 2 and $cmd_array[0] eq "d") + { + $search_mode = 5; + $search_value = substr($cmd_array[1], 0); # cut value_search_char + $search_value = substr($cmd_array[2], 0) if ( $array_count > 2); # cut value_search_char + $args = $search_value; + } + + iset_create_filter($args); + $filter_set = 1; + my $ptrbuf = weechat::buffer_search($LANG, $PRGNAME); + + if ($ptrbuf eq "") + { + iset_init(); + iset_get_options($search_value); + iset_full_refresh(); + weechat::buffer_set(weechat::buffer_search($LANG, $PRGNAME), "display", "1"); + weechat::buffer_set($iset_buffer, "localvar_set_iset_search_value", $search_value); + weechat::buffer_set($iset_buffer, "localvar_set_iset_search_mode", $search_mode); + return weechat::WEECHAT_RC_OK; + } + else + { + iset_get_options($search_value); + iset_full_refresh(); + weechat::buffer_set($ptrbuf, "display", "1"); + } + } + weechat::buffer_set($iset_buffer, "localvar_set_iset_search_mode", $search_mode); + weechat::buffer_set($iset_buffer, "localvar_set_iset_search_value", $search_value); + } + if ($iset_buffer eq "") + { + iset_init(); + iset_get_options(""); + iset_refresh(); + } + else + { +# iset_get_options($search_value); + iset_full_refresh() if ($filter_set); + } + + if ($args eq "") + { + weechat::buffer_set($iset_buffer, "display", "1"); + } + else + { + if ($args eq "**refresh") + { + iset_full_refresh(); + } + if ($args eq "**up") + { + if ($current_line > 0) + { + $current_line--; + iset_refresh_line($current_line + 1); + iset_refresh_line($current_line); + iset_check_line_outside_window(); + } + } + if ($args eq "**down") + { + if ($current_line < $#options_names) + { + $current_line++; + iset_refresh_line($current_line - 1); + iset_refresh_line($current_line); + iset_check_line_outside_window(); + } + } + if ($args eq "**left" && $wee_version_number >= 0x00030600) + { + weechat::command($iset_buffer, "/window scroll_horiz ".iset_get_window_number()."-".weechat::config_integer($options_iset{"scroll_horiz"})."%"); + } + if ($args eq "**right" && $wee_version_number >= 0x00030600) + { + weechat::command($iset_buffer, "/window scroll_horiz ".iset_get_window_number().weechat::config_integer($options_iset{"scroll_horiz"})."%"); + } + if ($args eq "**scroll_top") + { + my $old_current_line = $current_line; + $current_line = 0; + iset_refresh_line ($old_current_line); + iset_refresh_line ($current_line); + iset_title(); + weechat::command($iset_buffer, "/window scroll_top ".iset_get_window_number()); + } + if ($args eq "**scroll_bottom") + { + my $old_current_line = $current_line; + $current_line = $#options_names; + iset_refresh_line ($old_current_line); + iset_refresh_line ($current_line); + iset_title(); + weechat::command($iset_buffer, "/window scroll_bottom ".iset_get_window_number()); + } + if ($args eq "**toggle") + { + if ($options_types[$current_line] eq "boolean") + { + iset_set_option($options_names[$current_line], "toggle"); + } + } + if ($args eq "**incr") + { + if (($options_types[$current_line] eq "integer") + || ($options_types[$current_line] eq "color")) + { + iset_set_option($options_names[$current_line], "++1"); + } + } + if ($args eq "**decr") + { + if (($options_types[$current_line] eq "integer") + || ($options_types[$current_line] eq "color")) + { + iset_set_option($options_names[$current_line], "--1"); + } + } + if ($args eq "**reset") + { + iset_reset_option($options_names[$current_line]); + } + if ($args eq "**unset") + { + iset_unset_option($options_names[$current_line]); + } + if ($args eq "**toggle_help") + { + if (weechat::config_boolean($options_iset{"show_help_bar"}) == 1) + { + weechat::config_option_set($options_iset{"show_help_bar"},0,1); + iset_show_bar(0); + } + else + { + weechat::config_option_set($options_iset{"show_help_bar"},1,1); + iset_show_bar(1); + } + } + if ($args eq "**toggle_show_plugin_desc") + { + if (weechat::config_boolean($options_iset{"show_plugin_description"}) == 1) + { + weechat::config_option_set($options_iset{"show_plugin_description"},0,1); + iset_full_refresh(); + iset_check_line_outside_window(); + iset_title(); + } + else + { + weechat::config_option_set($options_iset{"show_plugin_description"},1,1); + iset_full_refresh(); + iset_check_line_outside_window(); + iset_title(); + } + } + if ($args eq "**set") + { + my $quote = ""; + my $value = $options_values[$current_line]; + if ($options_is_null[$current_line]) + { + $value = ""; + } + else + { + $quote = "\"" if ($options_types[$current_line] eq "string"); + } + $value = " ".$quote.$value.$quote if ($value ne "" or $quote ne ""); + + my $set_command = "/set"; + my $start_index = 5; + if (weechat::config_boolean($options_iset{"use_mute"}) == 1) + { + $set_command = "/mute ".$set_command; + $start_index += 11; + } + $set_command = $set_command." ".$options_names[$current_line].$value; + my $pos_space = index($set_command, " ", $start_index); + if ($pos_space < 0) + { + $pos_space = 9999; + } + else + { + $pos_space = $pos_space + 1; + $pos_space = $pos_space + 1 if ($quote ne ""); + } + weechat::buffer_set($iset_buffer, "input", $set_command); + weechat::buffer_set($iset_buffer, "input_pos", "".$pos_space); + } + } + weechat::bar_item_update("isetbar_help") if (weechat::config_boolean($options_iset{"show_help_bar"}) == 1); + return weechat::WEECHAT_RC_OK; +} + +sub iset_get_help +{ + my ($redraw) = ($_[0]); + + return '' if (weechat::config_boolean($options_iset{"show_help_bar"}) == 0); + + if (not defined $options_names[$current_line]) + { + return "No option selected. Set a new filter using command line (use '*' to see all options)"; + } + if ($options_name_copy eq $options_names[$current_line] and not defined $redraw) + { + return $description; + } + $options_name_copy = $options_names[$current_line]; + my $optionlist =""; + $optionlist = weechat::infolist_get("option", "", $options_names[$current_line]); + weechat::infolist_next($optionlist); + my $full_name = weechat::infolist_string($optionlist,"full_name"); + my $option_desc = ""; + my $option_default_value = ""; + my $option_range = ""; + my $possible_values = ""; + my $re = qq(\Q$full_name); + if (grep (/^$re$/,$options_names[$current_line])) + { + $option_desc = weechat::infolist_string($optionlist, "description_nls"); + $option_desc = weechat::infolist_string($optionlist, "description") if ($option_desc eq ""); + $option_desc = "No help found" if ($option_desc eq ""); + $option_default_value = weechat::infolist_string($optionlist, "default_value"); + $possible_values = weechat::infolist_string($optionlist, "string_values") if (weechat::infolist_string($optionlist, "string_values") ne ""); + if ((weechat::infolist_string($optionlist, "type") eq "integer") && ($possible_values eq "")) + { + $option_range = weechat::infolist_integer($optionlist, "min") + ." .. ".weechat::infolist_integer($optionlist, "max"); + } + } + weechat::infolist_free($optionlist); + iset_title(); + + $description = weechat::color(weechat::config_color($options_iset{"color_help_option_name"})).$options_names[$current_line] + .weechat::color("bar_fg").": " + .weechat::color(weechat::config_color($options_iset{"color_help_text"})).$option_desc; + + # show additional infos like default value and possible values + + if (weechat::config_boolean($options_iset{"show_help_extra_info"}) == 1) + { + $description .= + weechat::color("bar_delim")." [" + .weechat::color("bar_fg")."default: " + .weechat::color("bar_delim")."\"" + .weechat::color(weechat::config_color($options_iset{"color_help_default_value"})).$option_default_value + .weechat::color("bar_delim")."\""; + if ($option_range ne "") + { + $description .= weechat::color("bar_fg").", values: ".$option_range; + } + if ($possible_values ne "") + { + $possible_values =~ s/\|/", "/g; # replace '|' to '", "' + $description .= weechat::color("bar_fg").", values: ". "\"" . $possible_values . "\""; + + } + $description .= weechat::color("bar_delim")."]"; + } + return $description; +} + +sub iset_check_condition_isetbar_cb +{ + my ($data, $modifier, $modifier_data, $string) = ($_[0], $_[1], $_[2], $_[3]); + my $buffer = weechat::window_get_pointer($modifier_data, "buffer"); + if ($buffer ne "") + { + if ((weechat::buffer_get_string($buffer, "plugin") eq $LANG) + && (weechat::buffer_get_string($buffer, "name") eq $PRGNAME)) + { + return "1"; + } + } + return "0"; +} + +sub iset_show_bar +{ + my $show = $_[0]; + my $barhidden = weechat::config_get("weechat.bar.isetbar.hidden"); + if ($barhidden) + { + if ($show) + { + if (weechat::config_boolean($options_iset{"show_help_bar"}) == 1) + { + if (weechat::config_boolean($barhidden)) + { + weechat::config_option_set($barhidden, 0, 1); + } + } + } + else + { + if (!weechat::config_boolean($barhidden)) + { + weechat::config_option_set($barhidden, 1, 1); + } + } + } +} + +sub iset_signal_buffer_switch_cb +{ + my $buffer_pointer = $_[2]; + my $show_bar = 0; + $show_bar = 1 if (weechat::buffer_get_integer($iset_buffer, "num_displayed") > 0); + iset_show_bar($show_bar); + iset_check_line_outside_window() if ($buffer_pointer eq $iset_buffer); + return weechat::WEECHAT_RC_OK; +} + +sub iset_item_cb +{ + return iset_get_help(); +} + +sub iset_upgrade_ended +{ + iset_full_refresh(); +} + +sub iset_end +{ + # when script is unloaded, we hide bar + iset_show_bar(0); +} + +# -------------------------------[ mouse support ]------------------------------------- + +sub hook_focus_iset_cb +{ + my %info = %{$_[1]}; + my $bar_item_line = int($info{"_bar_item_line"}); + undef my $hash; + if (($info{"_buffer_name"} eq $PRGNAME) && $info{"_buffer_plugin"} eq $LANG && ($bar_item_line >= 0) && ($bar_item_line <= $#iset_focus)) + { + $hash = $iset_focus[$bar_item_line]; + } + else + { + $hash = {}; + my $hash_focus = $iset_focus[0]; + foreach my $key (keys %$hash_focus) + { + $hash->{$key} = "?"; + } + } + return $hash; +} + +# _chat_line_y contains selected line +sub iset_hsignal_mouse_cb +{ + my ($data, $signal, %hash) = ($_[0], $_[1], %{$_[2]}); + + return weechat::WEECHAT_RC_OK unless (@options_types); + + if ($hash{"_buffer_name"} eq $PRGNAME && ($hash{"_buffer_plugin"} eq $LANG)) + { + if ($hash{"_key"} eq "button1") + { + iset_set_current_line($hash{"_chat_line_y"}); + } + elsif ($hash{"_key"} eq "button2") + { + if ($options_types[$hash{"_chat_line_y"}] eq "boolean") + { + iset_set_option($options_names[$hash{"_chat_line_y"}], "toggle"); + iset_set_current_line($hash{"_chat_line_y"}); + } + elsif ($options_types[$hash{"_chat_line_y"}] eq "string") + { + iset_set_current_line($hash{"_chat_line_y"}); + weechat::command("", "/$PRGNAME **set"); + } + } + elsif ($hash{"_key"} eq "button2-gesture-left" or $hash{"_key"} eq "button2-gesture-left-long") + { + if ($options_types[$hash{"_chat_line_y"}] eq "integer" or ($options_types[$hash{"_chat_line_y"}] eq "color")) + { + iset_set_current_line($hash{"_chat_line_y"}); + my $distance = distance($hash{"_chat_line_x"},$hash{"_chat_line_x2"}); + weechat::command("", "/repeat $distance /$PRGNAME **decr"); + } + } + elsif ($hash{"_key"} eq "button2-gesture-right" or $hash{"_key"} eq "button2-gesture-right-long") + { + if ($options_types[$hash{"_chat_line_y"}] eq "integer" or ($options_types[$hash{"_chat_line_y"}] eq "color")) + { + iset_set_current_line($hash{"_chat_line_y"}); + my $distance = distance($hash{"_chat_line_x"},$hash{"_chat_line_x2"}); + weechat::command("", "/repeat $distance /$PRGNAME **incr"); + } + } + } + window_switch(); +} + +sub window_switch +{ + my $current_window = weechat::current_window(); + my $dest_window = weechat::window_search_with_buffer(weechat::buffer_search("perl","iset")); + return 0 if ($dest_window eq "" or $current_window eq $dest_window); + + my $infolist = weechat::infolist_get("window", $dest_window, ""); + weechat::infolist_next($infolist); + my $number = weechat::infolist_integer($infolist, "number"); + weechat::infolist_free($infolist); + weechat::command("","/window " . $number); +} + +sub distance +{ + my ($x1,$x2) = ($_[0], $_[1]); + my $distance; + $distance = $x1 - $x2; + $distance = abs($distance); + if ($distance > 0) + { + use integer; + $distance = $distance / 3; + $distance = 1 if ($distance == 0); + } + elsif ($distance == 0) + { + $distance = 1; + } + return $distance; +} + +# -----------------------------------[ config ]--------------------------------------- + +sub iset_config_init +{ + $iset_config_file = weechat::config_new($ISET_CONFIG_FILE_NAME,"iset_config_reload_cb",""); + return if ($iset_config_file eq ""); + + # section "color" + my $section_color = weechat::config_new_section($iset_config_file,"color", 0, 0, "", "", "", "", "", "", "", "", "", ""); + if ($section_color eq "") + { + weechat::config_free($iset_config_file); + return; + } + $options_iset{"color_option"} = weechat::config_new_option( + $iset_config_file, $section_color, + "option", "color", "Color for option name in iset buffer", "", 0, 0, + "default", "default", 0, "", "", "full_refresh_cb", "", "", ""); + $options_iset{"color_option_selected"} = weechat::config_new_option( + $iset_config_file, $section_color, + "option_selected", "color", "Color for selected option name in iset buffer", "", 0, 0, + "white", "white", 0, "", "", "full_refresh_cb", "", "", ""); + $options_iset{"color_type"} = weechat::config_new_option( + $iset_config_file, $section_color, + "type", "color", "Color for option type (integer, boolean, string)", "", 0, 0, + "brown", "brown", 0, "", "", "full_refresh_cb", "", "", ""); + $options_iset{"color_type_selected"} = weechat::config_new_option( + $iset_config_file, $section_color, + "type_selected", "color", "Color for selected option type (integer, boolean, string)", "", 0, 0, + "yellow", "yellow", 0, "", "", "full_refresh_cb", "", "", ""); + $options_iset{"color_value"} = weechat::config_new_option( + $iset_config_file, $section_color, + "value", "color", "Color for option value", "", 0, 0, + "cyan", "cyan", 0, "", "", "full_refresh_cb", "", "", ""); + $options_iset{"color_value_selected"} = weechat::config_new_option( + $iset_config_file, $section_color, + "value_selected", "color", "Color for selected option value", "", 0, 0, + "lightcyan", "lightcyan", 0, "", "", "full_refresh_cb", "", "", ""); + $options_iset{"color_value_diff"} = weechat::config_new_option( + $iset_config_file, $section_color, + "value_diff", "color", "Color for option value different from default", "", 0, 0, + "magenta", "magenta", 0, "", "", "full_refresh_cb", "", "", ""); + $options_iset{"color_value_diff_selected"} = weechat::config_new_option( + $iset_config_file, $section_color, + "value_diff_selected", "color", "Color for selected option value different from default", "", 0, 0, + "lightmagenta", "lightmagenta", 0, "", "", "full_refresh_cb", "", "", ""); + $options_iset{"color_value_undef"} = weechat::config_new_option( + $iset_config_file, $section_color, + "value_undef", "color", "Color for option value undef", "", 0, 0, + "green", "green", 0, "", "", "full_refresh_cb", "", "", ""); + $options_iset{"color_value_undef_selected"} = weechat::config_new_option( + $iset_config_file, $section_color, + "value_undef_selected", "color", "Color for selected option value undef", "", 0, 0, + "lightgreen", "lightgreen", 0, "", "", "full_refresh_cb", "", "", ""); + $options_iset{"color_bg_selected"} = weechat::config_new_option( + $iset_config_file, $section_color, + "bg_selected", "color", "Background color for current selected option", "", 0, 0, + "red", "red", 0, "", "", "full_refresh_cb", "", "", ""); + $options_iset{"color_help_option_name"} = weechat::config_new_option( + $iset_config_file, $section_color, + "help_option_name", "color", "Color for option name in help-bar", "", 0, 0, + "white", "white", 0, "", "", "bar_refresh", "", "", ""); + $options_iset{"color_help_text"} = weechat::config_new_option( + $iset_config_file, $section_color, + "help_text", "color", "Color for option description in help-bar", "", 0, 0, + "default", "default", 0, "", "", "bar_refresh", "", "", ""); + $options_iset{"color_help_default_value"} = weechat::config_new_option( + $iset_config_file, $section_color, + "help_default_value", "color", "Color for default option value in help-bar", "", 0, 0, + "green", "green", 0, "", "", "bar_refresh", "", "", ""); + + # section "help" + my $section_help = weechat::config_new_section($iset_config_file,"help", 0, 0, "", "", "", "", "", "", "", "", "", ""); + if ($section_help eq "") + { + weechat::config_free($iset_config_file); + return; + } + $options_iset{"show_help_bar"} = weechat::config_new_option( + $iset_config_file, $section_help, + "show_help_bar", "boolean", "Show help bar", "", 0, 0, + "on", "on", 0, "", "", "toggle_help_cb", "", "", ""); + $options_iset{"show_help_extra_info"} = weechat::config_new_option( + $iset_config_file, $section_help, + "show_help_extra_info", "boolean", "Show additional information in help bar (default value, max./min. value) ", "", 0, 0, + "on", "on", 0, "", "", "", "", "", ""); + $options_iset{"show_plugin_description"} = weechat::config_new_option( + $iset_config_file, $section_help, + "show_plugin_description", "boolean", "Show plugin description in iset buffer", "", 0, 0, + "off", "off", 0, "", "", "full_refresh_cb", "", "", ""); + + # section "look" + my $section_look = weechat::config_new_section($iset_config_file, "look", 0, 0, "", "", "", "", "", "", "", "", "", ""); + if ($section_look eq "") + { + weechat::config_free($iset_config_file); + return; + } + $options_iset{"value_search_char"} = weechat::config_new_option( + $iset_config_file, $section_look, + "value_search_char", "string", "Trigger char to tell iset to search for value instead of option (for example: =red)", "", 0, 0, + "=", "=", 0, "", "", "", "", "", ""); + $options_iset{"scroll_horiz"} = weechat::config_new_option( + $iset_config_file, $section_look, + "scroll_horiz", "integer", "scroll content of iset buffer n%", "", 1, 100, + "10", "10", 0, "", "", "", "", "", ""); + $options_iset{"show_current_line"} = weechat::config_new_option( + $iset_config_file, $section_look, + "show_current_line", "boolean", "show current line in title bar.", "", 0, 0, + "on", "on", 0, "", "", "", "", "", ""); + $options_iset{"use_mute"} = weechat::config_new_option( + $iset_config_file, $section_look, + "use_mute", "boolean", "/mute command will be used in input bar", "", 0, 0, + "off", "off", 0, "", "", "", "", "", ""); + $options_iset{"use_color"} = weechat::config_new_option( + $iset_config_file, $section_look, + "use_color", "boolean", "display the color value in the corresponding color", "", 0, 0, + "off", "off", 0, "", "", "full_refresh_cb", "", "", ""); +} + +sub iset_config_reload_cb +{ + my ($data,$config_file) = ($_[0], $_[1]); + return weechat::config_reload($config_file) +} + +sub iset_config_read +{ + return weechat::config_read($iset_config_file) if ($iset_config_file ne ""); +} + +sub iset_config_write +{ + return weechat::config_write($iset_config_file) if ($iset_config_file ne ""); +} + +sub full_refresh_cb +{ + iset_full_refresh(); + return weechat::WEECHAT_RC_OK; +} + +sub bar_refresh +{ + iset_get_help(1); + weechat::bar_item_update("isetbar_help") if (weechat::config_boolean($options_iset{"show_help_bar"}) == 1); + return weechat::WEECHAT_RC_OK; +} + +sub toggle_help_cb +{ + my $value = weechat::config_boolean($options_iset{"show_help_bar"}); + iset_show_bar($value); + return weechat::WEECHAT_RC_OK; +} + +# -----------------------------------[ main ]----------------------------------------- + +weechat::register($PRGNAME, $AUTHOR, $VERSION, $LICENSE, + $DESCR, "iset_end", ""); + +$wee_version_number = weechat::info_get("version_number", "") || 0; + +iset_config_init(); +iset_config_read(); + +weechat::hook_command($PRGNAME, "Interactive set", "d || f || s
|| [=][=]", + "d : show only changed options\n". + "f file : show options for a file\n". + "s section: show options for a section\n". + "text : show options with 'text' in name\n". + weechat::config_string($options_iset{"value_search_char"})."text : show options with 'text' in value\n". + weechat::config_string($options_iset{"value_search_char"}).weechat::config_string($options_iset{"value_search_char"})."text : show options with exact 'text' in value\n\n". + "Keys for iset buffer:\n". + "f11,f12 : move iset content left/right\n". + "up,down : move one option up/down\n". + "pgup,pdwn : move one page up/down\n". + "home,end : move to first/last option\n". + "ctrl+'L' : refresh options and screen\n". + "alt+space : toggle boolean on/off\n". + "alt+'+' : increase value (for integer or color)\n". + "alt+'-' : decrease value (for integer or color)\n". + "alt+'i',alt+'r': reset value of option\n". + "alt+'i',alt+'u': unset option\n". + "alt+enter : set new value for option (edit it with command line)\n". + "text,enter : set a new filter using command line (use '*' to see all options)\n". + "alt+'v' : toggle help bar on/off\n". + "alt+'p' : toggle option \"show_plugin_description\" on/off\n". + "q : as input in iset buffer to close it\n". + "\n". + "Mouse actions:\n". + "wheel up/down : move cursor up/down\n". + "left button : select an option from list\n". + "right button : toggle boolean (on/off) or set a new value for option (edit it with command line)\n". + "right button + drag left/right: increase/decrease value (for integer or color)\n". + "\n". + "Examples:\n". + " show changed options in 'aspell' plugin\n". + " /iset d aspell\n". + " show options for file 'irc'\n". + " /iset f irc\n". + " show options for section 'look'\n". + " /iset s look\n". + " show all options with text 'nicklist' in name\n". + " /iset nicklist\n". + " show all values which contain 'red'. ('" . weechat::config_string($options_iset{"value_search_char"}) . "' is a trigger char).\n". + " /iset ". weechat::config_string($options_iset{"value_search_char"}) ."red\n". + " show all values which hit 'off'. ('" . weechat::config_string($options_iset{"value_search_char"}) . weechat::config_string($options_iset{"value_search_char"}) . "' is a trigger char).\n". + " /iset ". weechat::config_string($options_iset{"value_search_char"}) . weechat::config_string($options_iset{"value_search_char"}) ."off\n". + " show options for file 'weechat' which contains value 'off'\n". + " /iset f weechat ".weechat::config_string($options_iset{"value_search_char"})."off\n". + "", + "", "iset_cmd_cb", ""); +weechat::hook_signal("upgrade_ended", "iset_upgrade_ended", ""); +weechat::hook_signal("window_scrolled", "iset_signal_window_scrolled_cb", ""); +weechat::hook_signal("buffer_switch", "iset_signal_buffer_switch_cb",""); +weechat::bar_item_new("isetbar_help", "iset_item_cb", ""); +if ($wee_version_number >= 0x02090000) +{ + weechat::bar_new("isetbar", "on", "0", "window", "", "top", "horizontal", + "vertical", "3", "3", "default", "cyan", "default", "default", "1", + "isetbar_help"); +} +else +{ + weechat::bar_new("isetbar", "on", "0", "window", "", "top", "horizontal", + "vertical", "3", "3", "default", "cyan", "default", "1", + "isetbar_help"); +} +weechat::hook_modifier("bar_condition_isetbar", "iset_check_condition_isetbar_cb", ""); +weechat::hook_config("*", "iset_config_cb", ""); +$iset_buffer = weechat::buffer_search($LANG, $PRGNAME); +iset_init() if ($iset_buffer ne ""); + +if ($wee_version_number >= 0x00030600) +{ + weechat::hook_focus("chat", "hook_focus_iset_cb", ""); + weechat::hook_hsignal($PRGNAME."_mouse", "iset_hsignal_mouse_cb", ""); + weechat::key_bind("mouse", \%mouse_keys); +} diff --git a/config/weechat/perl/multiline.pl b/config/weechat/perl/multiline.pl deleted file mode 100644 index 54474d41..00000000 --- a/config/weechat/perl/multiline.pl +++ /dev/null @@ -1,782 +0,0 @@ -use strict; use warnings; -$INC{'Encode/ConfigLocal.pm'}=1; -require Encode; -use utf8; - -# multiline.pl is written by Nei -# and licensed under the under GNU General Public License v3 -# or any later version - -# to read the following docs, you can use "perldoc multiline.pl" - -=head1 NAME - -multiline - Multi-line edit box for WeeChat (weechat edition) - -=head1 DESCRIPTION - -multiline will draw a multi-line edit box to your WeeChat window so -that when you hit the return key, you can first compose a complete -multi-line message before sending it all at once. - -Furthermore, if you have multi-line pastes then you can edit them -before sending out all the lines. - -=head1 USAGE - -make a key binding to send the finished message: - - /key bind meta-s /input return - -then you can send the multi-line message with Alt+S - -=head1 SETTINGS - -the settings are usually found in the - - plugins.var.perl.multiline - -namespace, that is, type - - /set plugins.var.perl.multiline.* - -to see them and - - /set plugins.var.perl.multiline.SETTINGNAME VALUE - -to change a setting C to a new value C. Finally, - - /unset plugins.var.perl.multiline.SETTINGNAME - -will reset a setting to its default value. - -the following settings are available: - -=head2 char - -character(s) which should be displayed to indicate end of line - -=head2 tab - -character(s) which should be displayed instead of Tab key character - -=head2 lead_linebreak - -if turned on, multi-line messages always start on a new line - -=head2 modify_keys - -if turned on, cursor keys are modified so that they respect line -boundaries instead of treating the whole multi-line message as a -single line - -=head2 magic - -indicator displayed when message will be sent soon - -=head2 magic_enter_time - -delay after pressing enter before sending automatically (in ms), or 0 -to disable - -=head2 magic_paste_only - -only use multi-line messages for multi-line pastes (multi-line on -enter is disabled by this) - -=head2 paste_lock - -time-out to detect pastes (disable the weechat built-in paste -detection if you want to use this) - -=head2 send_empty - -set to on to automatically disregard enter key on empty line - -=head2 hide_magic_nl - -whether the new line inserted by magic enter key will be hidden - -=head2 weechat_paste_fix - -disable ctrl-J binding when paste is detected to stop silly weechat -sending out pastes without allowing to edit them - -=head2 ipl - -this setting controls override of ctrl-M (enter key) by script. Turn -it off if you don't want multiline.pl to set and re-set the key binding. - -=head1 FUNCTION DESCRIPTION - -for full pod documentation, filter this script with - - perl -pE' - (s/^## (.*?) -- (.*)/=head2 $1\n\n$2\n\n=over\n/ and $o=1) or - s/^## (.*?) - (.*)/=item I<$1>\n\n$2\n/ or - (s/^## (.*)/=back\n\n$1\n\n=cut\n/ and $o=0,1) or - ($o and $o=0,1 and s/^sub /=back\n\n=cut\n\nsub /)' - -=cut - -use constant SCRIPT_NAME => 'multiline'; -our $VERSION = '0.6.3'; # af2e0a17b659a16 -weechat::register(SCRIPT_NAME, - 'Nei ', # Author - $VERSION, - 'GPL3', # License - 'Multi-line edit box', # Description - 'stop_multiline', '') || return; -sub SCRIPT_FILE() { - my $infolistptr = weechat::infolist_get('perl_script', '', SCRIPT_NAME); - my $filename = weechat::infolist_string($infolistptr, 'filename') if weechat::infolist_next($infolistptr); - weechat::infolist_free($infolistptr); - return $filename unless @_; -} - -{ -package Nlib; -# this is a weechat perl library -use strict; use warnings; no warnings 'redefine'; - -## i2h -- copy weechat infolist content into perl hash -## $infolist - name of the infolist in weechat -## $ptr - pointer argument (infolist dependend) -## @args - arguments to the infolist (list dependend) -## $fields - string of ref type "fields" if only certain keys are needed (optional) -## returns perl list with perl hashes for each infolist entry -sub i2h { - my %i2htm = (i => 'integer', s => 'string', p => 'pointer', b => 'buffer', t => 'time'); - local *weechat::infolist_buffer = sub { '(not implemented)' }; - my ($infolist, $ptr, @args) = @_; - $ptr ||= ""; - my $fields = ref $args[-1] eq 'fields' ? ${ pop @args } : undef; - my $infptr = weechat::infolist_get($infolist, $ptr, do { local $" = ','; "@args" }); - my @infolist; - while (weechat::infolist_next($infptr)) { - my @fields = map { - my ($t, $v) = split ':', $_, 2; - bless \$v, $i2htm{$t}; - } - split ',', - ($fields || weechat::infolist_fields($infptr)); - push @infolist, +{ do { - my (%list, %local, @local); - map { - my $fn = 'weechat::infolist_'.ref $_; - my $r = do { no strict 'refs'; &$fn($infptr, $$_) }; - if ($$_ =~ /^localvar_name_(\d+)$/) { - $local[$1] = $r; - () - } - elsif ($$_ =~ /^(localvar)_value_(\d+)$/) { - $local{$local[$2]} = $r; - $1 => \%local - } - elsif ($$_ =~ /(.*?)((?:_\d+)+)$/) { - my ($key, $idx) = ($1, $2); - my @idx = split '_', $idx; shift @idx; - my $target = \$list{$key}; - for my $x (@idx) { - my $o = 1; - if ($key eq 'key' or $key eq 'key_command') { - $o = 0; - } - if ($x-$o < 0) { - local $" = '|'; - weechat::print('',"list error: $target/$$_/$key/$x/$idx/@idx(@_)"); - $o = 0; - } - $target = \$$target->[$x-$o] - } - $$target = $r; - - $key => $list{$key} - } - else { - $$_ => $r - } - } @fields - } }; - } - weechat::infolist_free($infptr); - !wantarray && @infolist ? \@infolist : @infolist -} - -## hdh -- hdata helper -## $_[0] - arg pointer or hdata list name -## $_[1] - hdata name -## $_[2..$#_] - hdata variable name -## $_[-1] - hashref with key/value to update (optional) -## returns value of hdata, and hdata name in list ctx, or number of variables updated -sub hdh { - if (@_ > 1 && $_[0] !~ /^0x/ && $_[0] !~ /^\d+$/) { - my $arg = shift; - unshift @_, weechat::hdata_get_list(weechat::hdata_get($_[0]), $arg); - } - while (@_ > 2) { - my ($arg, $name, $var) = splice @_, 0, 3; - my $hdata = weechat::hdata_get($name); - unless (ref $var eq 'HASH') { - $var =~ s/!(.*)/weechat::hdata_get_string($hdata, $1)/e; - (my $plain_var = $var) =~ s/^\d+\|//; - my $type = weechat::hdata_get_var_type_string($hdata, $plain_var); - if ($type eq 'pointer') { - my $name = weechat::hdata_get_var_hdata($hdata, $var); - unshift @_, $name if $name; - } - - my $fn = "weechat::hdata_$type"; - unshift @_, do { no strict 'refs'; - &$fn($hdata, $arg, $var) }; - } - else { - return weechat::hdata_update($hdata, $arg, $var); - } - } - wantarray ? @_ : $_[0] -} - -use Pod::Select qw(); -use Pod::Simple::TextContent; - -## get_desc_from_pod -- return setting description from pod documentation -## $file - filename with pod -## $setting - name of setting -## returns description as text -sub get_desc_from_pod { - my $file = shift; - return unless -s $file; - my $setting = shift; - - open my $pod_sel, '>', \my $ss; - Pod::Select::podselect({ - -output => $pod_sel, - -sections => ["SETTINGS/$setting"]}, $file); - - my $pt = new Pod::Simple::TextContent; - $pt->output_string(\my $ss_f); - $pt->parse_string_document($ss); - - my ($res) = $ss_f =~ /^\s*\Q$setting\E\s+(.*)\s*/; - $res -} - -## get_settings_from_pod -- retrieve all settings in settings section of pod -## $file - file with pod -## returns list of all settings -sub get_settings_from_pod { - my $file = shift; - return unless -s $file; - - open my $pod_sel, '>', \my $ss; - Pod::Select::podselect({ - -output => $pod_sel, - -sections => ["SETTINGS//!.+"]}, $file); - - $ss =~ /^=head2\s+(.*)\s*$/mg -} - -## mangle_man_for_wee -- turn man output into weechat codes -## @_ - list of grotty lines that should be turned into weechat attributes -## returns modified lines and modifies lines in-place -sub mangle_man_for_wee { - for (@_) { - s/_\x08(.)/weechat::color('underline').$1.weechat::color('-underline')/ge; - s/(.)\x08\1/weechat::color('bold').$1.weechat::color('-bold')/ge; - } - wantarray ? @_ : $_[0] -} - -## read_manpage -- read a man page in weechat window -## $file - file with pod -## $name - buffer name -sub read_manpage { - my $caller_package = (caller)[0]; - my $file = shift; - my $name = shift; - - if (my $obuf = weechat::buffer_search('perl', "man $name")) { - eval qq{ - package $caller_package; - weechat::buffer_close(\$obuf); - }; - } - - my @wee_keys = Nlib::i2h('key'); - my @keys; - - my $winptr = weechat::current_window(); - my ($wininfo) = Nlib::i2h('window', $winptr); - my $buf = weechat::buffer_new("man $name", '', '', '', ''); - return weechat::WEECHAT_RC_OK unless $buf; - - my $width = $wininfo->{chat_width}; - --$width if $wininfo->{chat_width} < $wininfo->{width} || ($wininfo->{width_pct} < 100 && (grep { $_->{y} == $wininfo->{y} } Nlib::i2h('window'))[-1]{x} > $wininfo->{x}); - $width -= 2; # when prefix is shown - - weechat::buffer_set($buf, 'time_for_each_line', 0); - eval qq{ - package $caller_package; - weechat::buffer_set(\$buf, 'display', 'auto'); - }; - die $@ if $@; - - @keys = map { $_->{key} } - grep { $_->{command} eq '/input history_previous' || - $_->{command} eq '/input history_global_previous' } @wee_keys; - @keys = 'meta2-A' unless @keys; - weechat::buffer_set($buf, "key_bind_$_", '/window scroll -1') for @keys; - - @keys = map { $_->{key} } - grep { $_->{command} eq '/input history_next' || - $_->{command} eq '/input history_global_next' } @wee_keys; - @keys = 'meta2-B' unless @keys; - weechat::buffer_set($buf, "key_bind_$_", '/window scroll +1') for @keys; - - weechat::buffer_set($buf, 'key_bind_ ', '/window page_down'); - - @keys = map { $_->{key} } - grep { $_->{command} eq '/input delete_previous_char' } @wee_keys; - @keys = ('ctrl-?', 'ctrl-H') unless @keys; - weechat::buffer_set($buf, "key_bind_$_", '/window page_up') for @keys; - - weechat::buffer_set($buf, 'key_bind_g', '/window scroll_top'); - weechat::buffer_set($buf, 'key_bind_G', '/window scroll_bottom'); - - weechat::buffer_set($buf, 'key_bind_q', '/buffer close'); - - weechat::print($buf, " \t".mangle_man_for_wee($_)) # weird bug with \t\t showing nothing? - for `pod2man \Q$file\E 2>/dev/null | GROFF_NO_SGR=1 nroff -mandoc -rLL=${width}n -rLT=${width}n -Tutf8 2>/dev/null`; - weechat::command($buf, '/window scroll_top'); - - unless (hdh($buf, 'buffer', 'lines', 'lines_count') > 0) { - weechat::print($buf, weechat::prefix('error').$_) - for "Unfortunately, your @{[weechat::color('underline')]}nroff". - "@{[weechat::color('-underline')]} command did not produce". - " any output.", - "Working pod2man and nroff commands are required for the ". - "help viewer to work.", - "In the meantime, please use the command ", '', - "\tperldoc $file", '', - "on your shell instead in order to read the manual.", - "Thank you and sorry for the inconvenience." - } -} - -1 -} - -our $MAGIC_ENTER_TIMER; -our $MAGIC_LOCK; -our $MAGIC_LOCK_TIMER; -our $WEECHAT_PASTE_FIX_CTRLJ_CMD; -our $INPUT_CHANGED_EATER_FLAG; -our $IGNORE_INPUT_CHANGED; -our $IGNORE_INPUT_CHANGED2; - -use constant KEY_RET => 'ctrl-M'; -use constant INPUT_NL => '/input insert \x0a'; -use constant INPUT_MAGIC => '/input magic_enter'; -our $NL = "\x0a"; - -init_multiline(); - -my $magic_enter_cancel_dynamic = 1; -my $paste_undo_start_ignore_dynamic = 0; -my $input_changed_eater_dynamic = 0; -my $multiline_complete_fix_dynamic = 1; - -sub magic_enter_cancel_dynamic { $magic_enter_cancel_dynamic ? &magic_enter_cancel : weechat::WEECHAT_RC_OK } -sub paste_undo_start_ignore_dynamic { $paste_undo_start_ignore_dynamic ? &paste_undo_start_ignore : weechat::WEECHAT_RC_OK } -sub input_changed_eater_dynamic { $input_changed_eater_dynamic ? &input_changed_eater : weechat::WEECHAT_RC_OK } -sub multiline_complete_fix_dynamic { $multiline_complete_fix_dynamic ? &multiline_complete_fix : weechat::WEECHAT_RC_OK } - -weechat::hook_config('plugins.var.perl.'.SCRIPT_NAME.'.*', 'default_options', ''); -weechat::hook_modifier('input_text_display_with_cursor', 'multiline_display', ''); -weechat::hook_command_run('/help '.SCRIPT_NAME, 'help_cmd', ''); -weechat::hook_command_run(INPUT_MAGIC, 'magic_enter', ''); -weechat::hook_signal('input_text_*', 'magic_enter_cancel_dynamic', ''); -weechat::hook_command_run('/input *', 'paste_undo_start_ignore_dynamic', ''); -weechat::hook_signal('2000|input_text_changed', 'input_changed_eater_dynamic', ''); -weechat::hook_signal('key_pressed', 'magic_lock_hatch', ''); -# we need lower than default priority here or the first character is separated -weechat::hook_signal('500|input_text_changed', 'paste_undo_hack', '') - # can only do this on weechat 0.4.0 - if (weechat::info_get('version_number', '') || 0) >= 0x00040000; -weechat::hook_command_run("1500|/input complete*", 'multiline_complete_fix_dynamic', 'complete*'); -weechat::hook_command_run("1500|/input delete_*", 'multiline_complete_fix_dynamic', 'delete_*'); -weechat::hook_command_run("1500|/input move_*", 'multiline_complete_fix_dynamic', 'move_*'); - -sub _stack_depth { - my $depth = -1; - 1 while caller(++$depth); - $depth; -} - -## multiline_display -- show multi-lines on display of input string -## () - modifier handler -## $_[2] - buffer pointer -## $_[3] - input string -## returns modified input string -sub multiline_display { - Encode::_utf8_on($_[3]); - Encode::_utf8_on(my $nl = weechat::config_get_plugin('char') || ' '); - Encode::_utf8_on(my $tab = weechat::config_get_plugin('tab')); - my $cb = weechat::current_buffer() eq $_[2] && $MAGIC_ENTER_TIMER; - if ($cb) { - $_[3] =~ s/$NL\x19b#/\x19b#/ if weechat::config_string_to_boolean(weechat::config_get_plugin('hide_magic_nl')); - } - if ($_[3] =~ s/$NL/$nl\x0d/g) { - $_[3] =~ s/\A/ \x0d/ if weechat::config_string_to_boolean(weechat::config_get_plugin('lead_linebreak')); - } - $_[3] =~ s/\x09/$tab/g if $tab; - if ($cb) { - Encode::_utf8_on(my $magic = weechat::config_get_plugin('magic')); - $_[3] =~ s/\Z/$magic/ if $magic; - } - $_[3] -} - -## lock_timer_exp -- expire the magic lock timer -sub lock_timer_exp { - if ($MAGIC_LOCK_TIMER) { - weechat::unhook($MAGIC_LOCK_TIMER); - $MAGIC_LOCK_TIMER = undef; - } - weechat::WEECHAT_RC_OK -} - -## paste_undo_stop_ignore -- unset ignore2 flag -sub paste_undo_stop_ignore { - $IGNORE_INPUT_CHANGED2 = undef; - weechat::WEECHAT_RC_OK -} - -## paste_undo_start_ignore -- set ignore2 flag when /input is received so to allow /input undo/redo -## () - command_run handler -## $_[2] - command that was called -sub paste_undo_start_ignore { - return weechat::WEECHAT_RC_OK if $IGNORE_INPUT_CHANGED; - return weechat::WEECHAT_RC_OK if $_[2] =~ /insert/; - $IGNORE_INPUT_CHANGED2 = 1; - weechat::WEECHAT_RC_OK -} - -## paste_undo_hack -- fix up undo stack when paste is detected by calling /input undo -## () - signal handler -## $_[2] - buffer pointer -sub paste_undo_hack { - return weechat::WEECHAT_RC_OK if $IGNORE_INPUT_CHANGED; - return paste_undo_stop_ignore() if $IGNORE_INPUT_CHANGED2; - if ($MAGIC_LOCK > 0 && get_lock_enabled()) { - signall_ignore_input_changed(1); - $paste_undo_start_ignore_dynamic = 1; - - Encode::_utf8_on(my $input = weechat::buffer_get_string($_[2], 'input')); - my $pos = weechat::buffer_get_integer($_[2], 'input_pos'); - - weechat::command($_[2], '/input undo') for 1..2; - - weechat::buffer_set($_[2], 'input', $input); - weechat::buffer_set($_[2], 'input_pos', $pos); - - $paste_undo_start_ignore_dynamic = 0; - signall_ignore_input_changed(0); - } - weechat::WEECHAT_RC_OK -} - -## input_changed_eater -- suppress input_text_changed signal on new weechats -## () - signal handler -sub input_changed_eater { - $INPUT_CHANGED_EATER_FLAG = undef; - weechat::WEECHAT_RC_OK_EAT -} - -## signall_ignore_input_changed -- use various methods to "ignore" input_text_changed signal -## $_[0] - start ignore or stop ignore -sub signall_ignore_input_changed { - if ($_[0]) { - weechat::hook_signal_send('input_flow_free', weechat::WEECHAT_HOOK_SIGNAL_INT, 1); - $input_changed_eater_dynamic = 1; - $IGNORE_INPUT_CHANGED = 1; - weechat::buffer_set('', 'completion_freeze', '1'); - } - else { - weechat::buffer_set('', 'completion_freeze', '0'); - $IGNORE_INPUT_CHANGED = undef; - $input_changed_eater_dynamic = 0; - weechat::hook_signal_send('input_flow_free', weechat::WEECHAT_HOOK_SIGNAL_INT, 0); - } -} - -## multiline_complete_fix -- add per line /input handling for completion, movement and deletion -## () - command_run handler -## $_[0] - original bound data -## $_[1] - buffer pointer -## $_[2] - original command -sub multiline_complete_fix { - $magic_enter_cancel_dynamic = 0; - $multiline_complete_fix_dynamic = 0; - if ($_[2] =~ s/_message$/_line/ || !weechat::config_string_to_boolean(weechat::config_get_plugin('modify_keys'))) { - weechat::command($_[1], $_[2]); - } - else { - signall_ignore_input_changed(1); - Encode::_utf8_on(my $input = weechat::buffer_get_string($_[1], 'input')); - my $pos = weechat::buffer_get_integer($_[1], 'input_pos'); - if ($pos && $_[2] =~ /(?:previous|beginning_of)_/ && (substr $input, $pos-1, 1) eq $NL) { - substr $input, $pos-1, 1, "\0" - } - elsif ($pos < length $input && $_[2] =~ /(?:next|end_of)_/ && (substr $input, $pos, 1) eq $NL) { - substr $input, $pos, 1, "\0" - } - my @lines = $pos ? (split /$NL/, (substr $input, 0, $pos), -1) : ''; - my @after = $pos < length $input ? (split /$NL/, (substr $input, $pos), -1) : ''; - $lines[-1] =~ s/\0$/$NL/; - $after[0] =~ s/^\0/$NL/; - my ($p1, $p2) = (pop @lines, shift @after); - weechat::buffer_set($_[1], 'input', $p1.$p2); - weechat::buffer_set($_[1], 'input_pos', length $p1); - - $magic_enter_cancel_dynamic = 1; - $INPUT_CHANGED_EATER_FLAG = 1; - weechat::command($_[1], $_[2]); - my $changed_later = !$INPUT_CHANGED_EATER_FLAG; - magic_enter_cancel() if $changed_later; - $magic_enter_cancel_dynamic = 0; - - Encode::_utf8_on(my $p = weechat::buffer_get_string($_[1], 'input')); - $pos = weechat::buffer_get_integer($_[1], 'input_pos'); - weechat::command($_[1], '/input undo') if @lines || @after; - weechat::command($_[1], '/input undo'); - weechat::buffer_set($_[1], 'input', join $NL, @lines, $p, @after); - weechat::buffer_set($_[1], 'input_pos', $pos+length join $NL, @lines, ''); - - signall_ignore_input_changed(0); - weechat::hook_signal_send('input_text_changed', weechat::WEECHAT_HOOK_SIGNAL_POINTER, $_[1]) if $changed_later; - } - $multiline_complete_fix_dynamic = 1; - $magic_enter_cancel_dynamic = 1; - weechat::WEECHAT_RC_OK_EAT -} - -## help_cmd -- show multi-line script documentation -## () - command_run handler -sub help_cmd { - Nlib::read_manpage(SCRIPT_FILE, SCRIPT_NAME); - weechat::WEECHAT_RC_OK_EAT -} - -## get_lock_time -- gets timeout for paste detection according to setting -## returns timeout (at least 1) -sub get_lock_time { - my $lock_time = weechat::config_get_plugin('paste_lock'); - $lock_time = 1 unless $lock_time =~ /^\d+$/ && $lock_time; - $lock_time -} - -## get_lock_enabled -- checks whether the paste detection lock is enabled -## returns bool -sub get_lock_enabled { - my $lock = weechat::config_get_plugin('paste_lock'); - $lock = weechat::config_string_to_boolean($lock) - unless $lock =~ /^\d+$/; - $lock -} - -## magic_lock_hatch -- set a timer for paste detection -## () - signal handler -sub magic_lock_hatch { - lock_timer_exp(); - $MAGIC_LOCK_TIMER = weechat::hook_timer(get_lock_time(), 0, 1, 'lock_timer_exp', ''); - weechat::WEECHAT_RC_OK -} - -## magic_unlock -- reduce the lock added by paste detection -## () - timer handler -sub magic_unlock { - if ($MAGIC_LOCK_TIMER) { - weechat::hook_timer(get_lock_time(), 0, 1, 'magic_unlock', ''); - } - else { - --$MAGIC_LOCK; - if (!$MAGIC_LOCK && $WEECHAT_PASTE_FIX_CTRLJ_CMD) { - do_key_bind('ctrl-J', $WEECHAT_PASTE_FIX_CTRLJ_CMD); - $WEECHAT_PASTE_FIX_CTRLJ_CMD = undef; - } - } - weechat::WEECHAT_RC_OK -} - -## get_magic_enter_time -- get timeout for auto-sending messages according to config -## returns timeout -sub get_magic_enter_time { - my $magic_enter = weechat::config_get_plugin('magic_enter_time'); - $magic_enter = 1000 * weechat::config_string_to_boolean($magic_enter) - unless $magic_enter =~ /^\d+$/; - $magic_enter -} - -## magic_enter -- receive enter key and do magic things: set up a timer for sending the message, add newline -## () - command_run handler -## $_[1] - buffer pointer -sub magic_enter { - Encode::_utf8_on(my $input = weechat::buffer_get_string($_[1], 'input')); - if (!length $input && weechat::config_string_to_boolean(weechat::config_get_plugin('send_empty'))) { - weechat::command($_[1], '/input return'); - } - else { - magic_enter_cancel(); - weechat::command($_[1], INPUT_NL); - - unless (get_lock_enabled() && $MAGIC_LOCK) { - if (weechat::config_string_to_boolean(weechat::config_get_plugin('magic_paste_only')) && - $input !~ /$NL/) { - magic_enter_send($_[1]); - } - elsif (my $magic_enter = get_magic_enter_time()) { - $MAGIC_ENTER_TIMER = weechat::hook_timer($magic_enter, 0, 1, 'magic_enter_send', $_[1]); - } - } - } - weechat::WEECHAT_RC_OK_EAT -} - -## magic_enter_send -- actually send enter key when triggered by magic_enter, remove preceding newline -## $_[0] - buffer pointer -## sending is delayed by 1ms to circumvent crash bug in api -sub magic_enter_send { - magic_enter_cancel(); - weechat::command($_[0], '/input delete_previous_char'); - weechat::command($_[0], '/wait 1ms /input return'); - weechat::WEECHAT_RC_OK -} - -## magic_enter_cancel -- cancel the timer for automatic sending of message, for example when more text was added, increase the paste lock for paste detection when used as signal handler -## () - signal handler when @_ is set -sub magic_enter_cancel { - if ($MAGIC_ENTER_TIMER) { - weechat::unhook($MAGIC_ENTER_TIMER); - $MAGIC_ENTER_TIMER = undef; - } - if ($MAGIC_LOCK_TIMER && @_) { - if (!$MAGIC_LOCK && !$WEECHAT_PASTE_FIX_CTRLJ_CMD && - weechat::config_string_to_boolean(weechat::config_get_plugin('weechat_paste_fix'))) { - ($WEECHAT_PASTE_FIX_CTRLJ_CMD) = get_key_command('ctrl-J'); - $WEECHAT_PASTE_FIX_CTRLJ_CMD = '-' unless defined $WEECHAT_PASTE_FIX_CTRLJ_CMD; - do_key_bind('ctrl-J', '-'); - } - if ($MAGIC_LOCK < 1) { - my $lock_time = get_lock_time(); - ++$MAGIC_LOCK; - weechat::hook_timer(get_lock_time(), 0, 1, 'magic_unlock', ''); - } - } - weechat::WEECHAT_RC_OK -} - -## need_magic_enter -- check if magic enter keybinding is needed according to config settings -## returns bool -sub need_magic_enter { - weechat::config_string_to_boolean(weechat::config_get_plugin('send_empty')) || get_magic_enter_time() || - weechat::config_string_to_boolean(weechat::config_get_plugin('magic_paste_only')) -} - -## do_key_bind -- mute execute a key binding, or unbind if $_[-1] is '-' -## @_ - arguments to /key bind -sub do_key_bind { - if ($_[-1] eq '-') { - pop; - weechat::command('', "/mute /key unbind @_"); - } - elsif ($_[-1] eq '!') { - pop; - weechat::command('', "/mute /key reset @_"); - } - else { - weechat::command('', "/mute /key bind @_"); - } -} - -{ my %keys; -## get_key_command -- get the command bound to a key -## $_[0] - key in weechat syntax -## returns the command - sub get_key_command { - unless (exists $keys{$_[0]}) { - ($keys{$_[0]}) = - map { $_->{command} } grep { $_->{key} eq $_[0] } - Nlib::i2h('key') - } - $keys{$_[0]} - } -} - -## default_options -- set up default option values on start and when unset -## () - config handler if @_ is set -sub default_options { - my %defaults = ( - char => '↩', - tab => '──▶▏', - magic => '‼', - ipl => 'on', - lead_linebreak => 'on', - modify_keys => 'on', - send_empty => 'on', - magic_enter_time => '1000', - paste_lock => '1', - magic_paste_only => 'off', - hide_magic_nl => 'on', - weechat_paste_fix => 'on', - ); - unless (weechat::config_is_set_plugin('ipl')) { - if (my $bar = weechat::bar_search('input')) { - weechat::bar_set($bar, $_, '0') for 'size', 'size_max'; - } - } - for (keys %defaults) { - weechat::config_set_plugin($_, $defaults{$_}) - unless weechat::config_is_set_plugin($_); - } - do_key_bind(KEY_RET, INPUT_NL) - if weechat::config_string_to_boolean(weechat::config_get_plugin('ipl')); - my ($enter_key) = get_key_command(KEY_RET); - if (need_magic_enter()) { - do_key_bind(KEY_RET, INPUT_MAGIC) - if $enter_key eq INPUT_NL; - } - else { - do_key_bind(KEY_RET, INPUT_NL) - if $enter_key eq INPUT_MAGIC; - } - weechat::WEECHAT_RC_OK -} - -sub init_multiline { - $MAGIC_LOCK = -1; - default_options(); - my $sf = SCRIPT_FILE; - for (Nlib::get_settings_from_pod($sf)) { - weechat::config_set_desc_plugin($_, Nlib::get_desc_from_pod($sf, $_)); - } - weechat::WEECHAT_RC_OK -} - -sub stop_multiline { - magic_enter_cancel(); - if (need_magic_enter()) { - my ($enter_key) = get_key_command(KEY_RET); - do_key_bind(KEY_RET, INPUT_NL) - if $enter_key eq INPUT_MAGIC; - } - if ($WEECHAT_PASTE_FIX_CTRLJ_CMD) { - do_key_bind('ctrl-J', $WEECHAT_PASTE_FIX_CTRLJ_CMD); - $WEECHAT_PASTE_FIX_CTRLJ_CMD = undef; - } - if (weechat::config_string_to_boolean(weechat::config_get_plugin('ipl'))) { - do_key_bind(KEY_RET, '!'); - } - weechat::WEECHAT_RC_OK -} diff --git a/config/weechat/plugins.conf b/config/weechat/plugins.conf index 562975e3..dac65f79 100644 --- a/config/weechat/plugins.conf +++ b/config/weechat/plugins.conf @@ -39,6 +39,24 @@ perl.multiline.paste_lock = "1" perl.multiline.send_empty = "on" perl.multiline.tab = "──▶▏" perl.multiline.weechat_paste_fix = "on" +perl.notify_send.command = "notify-send $type: $name &>/dev/null" +perl.notify_send.ignore_nicks = "" +perl.notify_send.wait_highlight = "60" +perl.notify_send.wait_pm = "180" +python.anotify.icon = "/usr/share/pixmaps/weechat.xpm" +python.anotify.show_channel_topic = "on" +python.anotify.show_dcc = "on" +python.anotify.show_highlighted_message = "on" +python.anotify.show_invite_message = "on" +python.anotify.show_notice_message = "off" +python.anotify.show_private_action_message = "on" +python.anotify.show_private_message = "on" +python.anotify.show_public_action_message = "off" +python.anotify.show_public_message = "off" +python.anotify.show_server = "on" +python.anotify.show_upgrade_ended = "on" +python.anotify.sticky = "off" +python.anotify.sticky_away = "on" python.chanotify.filters = "*:*" python.chanotify.status = "on" python.go.auto_jump = "off" @@ -54,26 +72,34 @@ python.go.message = "Go to: " python.go.short_name = "off" python.go.sort = "number,beginning" python.go.use_core_instead_weechat = "off" +python.styurl.buffer_type = "formatted" +python.styurl.format = "${color:*_32}" +python.styurl.ignored_buffers = "core.weechat,python.grep" +python.styurl.ignored_tags = "irc_quit,irc_join" +python.styurl.regex = "((?:https?|ftp)://[^\s/$.?#].\S*)" python.vimode.copy_clipboard_cmd = "xclip -selection c" python.vimode.imap_esc = "" python.vimode.imap_esc_timeout = "1000" python.vimode.line_number_prefix = "" -python.vimode.line_number_suffix = " " -python.vimode.mode_indicator_cmd_color = "white" -python.vimode.mode_indicator_cmd_color_bg = "cyan" -python.vimode.mode_indicator_insert_color = "white" -python.vimode.mode_indicator_insert_color_bg = "blue" -python.vimode.mode_indicator_normal_color = "white" -python.vimode.mode_indicator_normal_color_bg = "gray" -python.vimode.mode_indicator_prefix = "" +python.vimode.line_number_suffix = ": " +python.vimode.mode_indicator_cmd_color = "13" +python.vimode.mode_indicator_cmd_color_bg = "default" +python.vimode.mode_indicator_cmd_color_fg = "13" +python.vimode.mode_indicator_insert_color = "2" +python.vimode.mode_indicator_insert_color_bg = "default" +python.vimode.mode_indicator_insert_color_fg = "2" +python.vimode.mode_indicator_normal_color = "4" +python.vimode.mode_indicator_normal_color_bg = "default" +python.vimode.mode_indicator_normal_color_fg = "19" +python.vimode.mode_indicator_prefix = "--" python.vimode.mode_indicator_replace_color = "white" python.vimode.mode_indicator_replace_color_bg = "red" -python.vimode.mode_indicator_search_color = "white" -python.vimode.mode_indicator_search_color_bg = "magenta" -python.vimode.mode_indicator_suffix = "" +python.vimode.mode_indicator_search_color = "1" +python.vimode.mode_indicator_search_color_bg = "default" +python.vimode.mode_indicator_suffix = "--" python.vimode.no_warn = "off" python.vimode.paste_clipboard_cmd = "xclip -selection c -o" -python.vimode.search_vim = "off" +python.vimode.search_vim = "on" python.vimode.user_mappings = "" [desc] @@ -90,6 +116,10 @@ perl.multiline.paste_lock = "time-out to detect pastes (disable the weechat buil perl.multiline.send_empty = "set to on to automatically disregard enter key on empty line" perl.multiline.tab = "character(s) which should be displayed instead of Tab key character" perl.multiline.weechat_paste_fix = "disable ctrl-J binding when paste is detected to stop silly weechat sending out pastes without allowing to edit them" +perl.notify_send.command = "systemcommand to be executed ($type, $name, and $messagewill be interpreted as values) (default: "notify-send $type: $name &>/dev/null")" +perl.notify_send.ignore_nicks = "comma-separated list of nicks to ignore (default: "")" +perl.notify_send.wait_highlight = "necessary time delay between highlights(seconds) for command to be executed (default: "60")" +perl.notify_send.wait_pm = "necessary time delay between private messages(seconds) for command to be executed (default: "180")" python.go.auto_jump = "automatically jump to buffer when it is uniquely selected (default: "off")" python.go.buffer_number = "display buffer number (default: "on")" python.go.color_name = "color for buffer name (not selected) (default: "black,cyan")" @@ -103,6 +133,11 @@ python.go.message = "message to display before list of buffers (default: "Go to: python.go.short_name = "display and search in short names instead of buffer name (default: "off")" python.go.sort = "comma-separated list of keys to sort buffers (the order is important, sorts are performed in the given order): name = sort by name (or short name), (default: "number,beginning")" python.go.use_core_instead_weechat = "use name "core" instead of "weechat" for core buffer (default: "off")" +python.styurl.buffer_type = "the type of buffers to run on (options are "formatted", "free", or "*" for both) (default: "formatted")" +python.styurl.format = "the style that should be applied to the URL(evaluated, see /help eval) (default: "${color:*_32}")" +python.styurl.ignored_buffers = "comma-separated list of buffers to ignore URLs in (full name like "irc.freenode.#alacritty") (default: "core.weechat,python.grep")" +python.styurl.ignored_tags = "comma-separated list of tags to ignore URLs from (default: "irc_quit,irc_join")" +python.styurl.regex = "the URL-parsing regex using Python syntax (make sure capturing group 1 is the full URL) (default: "((?:https?|ftp)://[^\s/$.?#].\S*)")" python.vimode.copy_clipboard_cmd = "command used to copy to clipboard; must read input from stdin (default: "xclip -selection c")" python.vimode.imap_esc = "use alternate mapping to enter Normal mode while in Insert mode; having it set to 'jk' is similar to `:imap jk ` in vim (default: "")" python.vimode.imap_esc_timeout = "time in ms to wait for the imap_esc sequence to complete (default: "1000")" diff --git a/config/weechat/python/anotify.py b/config/weechat/python/anotify.py index 88e020e5..74100779 100644 --- a/config/weechat/python/anotify.py +++ b/config/weechat/python/anotify.py @@ -64,9 +64,10 @@ SETTINGS = { # ----------------------------------------------------------------------------- try: import re - import os import weechat + import gi import notify2 + import subprocess IMPORT_OK = True except ImportError as error: IMPORT_OK = False @@ -413,11 +414,14 @@ def a_notify(notification, title, description, priority=notify2.URGENCY_LOW): if weechat.config_get_plugin('sticky_away') == 'on' and is_away: time_out = 0 try: - notify2.init("wee-notifier") - wn = notify2.Notification(title, description, icon) - wn.set_urgency(priority) - wn.set_timeout(time_out) - wn.show() + # notify2.init("wee-notifier") + # wn = notify2.Notification(title, description, icon) + # wn.set_urgency(priority) + # wn.set_timeout(time_out) + # wn.show() + subprocess.run(["notify-send", "-a", " WeeChat", title, description]) + if title != "Server Connected" and title != "Server Disconnected": + subprocess.run(["canberra-gtk-play", "-i", "message-new-instant", "-V", "15"]) except Exception as error: weechat.prnt('', 'anotify: {0}'.format(error)) diff --git a/config/weechat/python/autoload/styurl.py b/config/weechat/python/autoload/styurl.py new file mode 120000 index 00000000..30732091 --- /dev/null +++ b/config/weechat/python/autoload/styurl.py @@ -0,0 +1 @@ +../styurl.py \ No newline at end of file diff --git a/config/weechat/python/styurl.py b/config/weechat/python/styurl.py new file mode 100644 index 00000000..69716505 --- /dev/null +++ b/config/weechat/python/styurl.py @@ -0,0 +1,178 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2019 Cole Helbling +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +# Changelog: +# 2019-12-14, Cole Helbling +# version 1.0: initial release + +SCRIPT_NAME = "styurl" +SCRIPT_AUTHOR = "Cole Helbling " +SCRIPT_VERSION = "1.0" +SCRIPT_LICENSE = "GPL3" +SCRIPT_DESC = "Style URLs with a Python regex" + +import_ok = True +try: + import weechat as w +except ImportError: + print("This script must be run under WeeChat.") + print("Get WeeChat now at: https://weechat.org") + import_ok = False + +try: + import re +except ImportError as message: + print("Missing package for %s: %s" % (SCRIPT_NAME, message)) + import_ok = False + +# https://mathiasbynens.be/demo/url-regex +# If you don't want to create your own regex, see the above link for options or +# ideas on creating your own + +styurl_settings = { + "buffer_type": ( + "formatted", + "the type of buffers to run on (options are \"formatted\", \"free\", " + "or \"*\" for both)" + ), + "format": ( + "${color:*_32}", + "the style that should be applied to the URL" + "(evaluated, see /help eval)" + ), + "ignored_buffers": ( + "core.weechat,python.grep", + "comma-separated list of buffers to ignore URLs in " + "(full name like \"irc.freenode.#alacritty\")" + ), + "ignored_tags": ( + "irc_quit,irc_join", + "comma-separated list of tags to ignore URLs from" + ), + "regex": ( + r"((?:https?|ftp)://[^\s/$.?#].\S*)", + "the URL-parsing regex using Python syntax " + "(make sure capturing group 1 is the full URL)" + ), +} + +line_hook = None + + +def styurl_line_cb(data, line): + """ + Callback called when a line is displayed. + This parses the message for any URLs and styles them according to + styurl_settings["format"]. + """ + global styurl_settings + + # Don't style the line if it's not going to be displayed... duh + if line["displayed"] != "1": + return line + + tags = line["tags"].split(',') + ignored_tags = styurl_settings["ignored_tags"] + + # Ignore specified message tags + if ignored_tags: + if any(tag in tags for tag in ignored_tags.split(',')): + return line + + bufname = line["buffer_name"] + ignored_buffers = styurl_settings["ignored_buffers"] + + # Ignore specified buffers + if ignored_buffers and bufname in ignored_buffers.split(','): + return line + + message = line["message"] + + # TODO: enforce presence of a properly-formatted color object at + # styurl_settings["format"] (eval object would also be valid, if it eval'd + # to a color) + + regex = re.compile(styurl_settings["regex"]) + url_style = w.string_eval_expression(styurl_settings["format"], {}, {}, {}) + reset = w.color("reset") + + # Search for URLs and surround them with the defined URL styling + formatted = regex.sub(r"%s\1%s" % (url_style, reset), message) + line["message"] = line["message"].replace(message, formatted) + + return line + + +def styurl_config_cb(data, option, value): + """Callback called when a script option is changed.""" + global styurl_settings, line_hook + + pos = option.rfind('.') + if pos > 0: + name = option[pos+1:] + if name in styurl_settings: + # Changing the buffer target requires us to re-hook to prevent + # obsolete buffer types from getting styled + if name == "buffer_type": + if value in ("free", "formatted", "*"): + w.unhook(line_hook) + line_hook = w.hook_line(value, "", "", "styurl_line_cb", + "") + else: + # Don't change buffer type if it is invalid + w.prnt("", SCRIPT_NAME + ": Invalid buffer type: '%s', " + "not changing." % value) + w.config_set_plugin(name, styurl_settings[name]) + return w.WEECHAT_RC_ERROR + + styurl_settings[name] = value + + return w.WEECHAT_RC_OK + + +def styurl_unload_cb(): + """Callback called when the script is unloaded.""" + global line_hook + + w.unhook(line_hook) + del line_hook + return w.WEECHAT_RC_OK + + +if __name__ == "__main__" and import_ok: + if w.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION, SCRIPT_LICENSE, + SCRIPT_DESC, "styurl_unload_cb", ""): + + version = w.info_get("version_number", "") or 0 + + for option, value in styurl_settings.items(): + if w.config_is_set_plugin(option): + styurl_settings[option] = w.config_get_plugin(option) + else: + w.config_set_plugin(option, value[0]) + styurl_settings[option] = value[0] + if int(version) >= 0x00030500: + w.config_set_desc_plugin(option, "%s (default: \"%s\")" + % (value[1], value[0])) + + w.hook_config("plugins.var.python." + SCRIPT_NAME + ".*", + "styurl_config_cb", "") + + # Style URLs + line_hook = w.hook_line(styurl_settings["buffer_type"], "", "", + "styurl_line_cb", "") diff --git a/config/weechat/relay.upgrade b/config/weechat/relay.upgrade new file mode 100644 index 0000000000000000000000000000000000000000..79f42e9f95be82e85f92cd08d3b9ff0c06f23b05 GIT binary patch literal 64 zcmcCvU|_HX0fq3?ROgJu5{1x$^rFO+RE4z6oK%G}BRwMpU4^8~yu_kP9fg#9g}nR{ Nh18VH5=8~DHULST61e~X literal 0 HcmV?d00001 diff --git a/config/weechat/script.conf b/config/weechat/script.conf index 519bb1d1..7d175db2 100644 --- a/config/weechat/script.conf +++ b/config/weechat/script.conf @@ -28,7 +28,7 @@ status_popular = yellow status_running = lightgreen status_unknown = lightred text = default -text_bg = default +text_bg = 2 text_bg_selected = red text_date = default text_date_selected = white diff --git a/config/weechat/script/plugins.xml.gz b/config/weechat/script/plugins.xml.gz index a271e7e3cf5a6b80d965cd3ad07f10987c5cff4e..b611cd117808e91b9330ff63fce4aa3c13ade47b 100644 GIT binary patch delta 91692 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Ƴy6*Ax41bi}!O1q~qj9+g^Jv-zcwBD& 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

O{X*g%i|UiTi`7vL+nJFI(+Tz#DY+>qvK3?Fh- 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

^b)(KKsW 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 delta 91381 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 D1+d+N literal 0 HcmV?d00001 diff --git a/config/weechat/xfer.conf b/config/weechat/xfer.conf index 551316ff..7302518d 100644 --- a/config/weechat/xfer.conf +++ b/config/weechat/xfer.conf @@ -22,8 +22,8 @@ status_done = lightgreen status_failed = lightred status_waiting = lightcyan text = default -text_bg = default -text_selected = white +text_bg = 2 +text_selected = black [network] blocksize = 65536 diff --git a/config/weechat/xfer.upgrade b/config/weechat/xfer.upgrade new file mode 100644 index 0000000000000000000000000000000000000000..79f42e9f95be82e85f92cd08d3b9ff0c06f23b05 GIT binary patch literal 64 zcmcCvU|_HX0fq3?ROgJu5{1x$^rFO+RE4z6oK%G}BRwMpU4^8~yu_kP9fg#9g}nR{ Nh18VH5=8~DHULST61e~X literal 0 HcmV?d00001 diff --git a/config/zsh/aliases b/config/zsh/aliases index 4b73f782..5c61f6e3 100755 --- a/config/zsh/aliases +++ b/config/zsh/aliases @@ -11,13 +11,21 @@ alias g="git " alias tmux="TERM=screen-256color-bce tmux" alias t="tmux" alias tn="tmux new -s " -alias tat="tmux a -t " +alias tat="tmux a -t " alias yain="yay -Syu " alias ls="ls --color" alias yay="yay --sudoloop" alias lf=lf-ueberzug alias vim=nvim -alias weechat="tat weechat" + +weechat(){ + tmux has-session -t weechat 2> /dev/null + if [ $? != 0 ]; then + tmux new-session -s weechat weechat > /dev/null 2> /dev/null + else + tat weechat + fi +} # Suffix aliases alias -g G=" | rg" @@ -25,7 +33,7 @@ alias gshh="gcloud cloud-shell ssh --authorize-session" # Git alias ga="git add" -alias gcl="git clone --recursive" +alias gcl="git clone --recursive --depth=16" alias gc="git commit" alias gcm="git commit -m" alias gp="git push" @@ -37,3 +45,4 @@ alias wget="wget --hsts-file=\"$XDG_CACHE_HOME/wget-hsts\"" alias yarn="yarn --use-yarnrc $XDG_CONFIG_HOME/yarn/config" alias tmate="tmate -f $XDG_CONFIG_HOME/tmate/tmate.conf" alias mc="mc --config-dir=$XDG_CONFIG_HOME/mc" +alias abook="abook --config \"$XDG_CONFIG_HOME\"/abook/abookrc --datafile \"$XDG_DATA_HOME\"/abook/addressbook" diff --git a/local/bin/.gitignore b/local/bin/.gitignore index 3abb8af6..d58276b4 100644 --- a/local/bin/.gitignore +++ b/local/bin/.gitignore @@ -62,3 +62,4 @@ !check-updates !password_manager !bwsync +!calsync diff --git a/local/bin/calsync b/local/bin/calsync new file mode 100755 index 00000000..02503649 --- /dev/null +++ b/local/bin/calsync @@ -0,0 +1,9 @@ +#!/bin/bash + +eval "$(grep -h -- \ + "^\s*\(export \)\?\(MBSYNCRC\|PASSWORD_STORE_DIR\|NOTMUCH_CONFIG\|GNUPGHOME\|XDG_DATA_HOME\|XDG_CONFIG_HOME\)=" \ + "$HOME/.profile" "$HOME/.bash_profile" "$HOME/.zprofile" "$HOME/.config/zsh/.zprofile" "$HOME/.zshenv" \ + "$HOME/.bashrc" "$HOME/.zshrc" "$HOME/.config/zsh/.zshrc" "$HOME/.pam_environment" 2>/dev/null)" + +CALCURSE_CALDAV_PASSWORD=$(pass show Server/drive.yigitcolakoglu.com/yigitcolakoglu) +calcurse-caldav diff --git a/local/bin/check-updates b/local/bin/check-updates index 254f5c30..cb2563e9 100755 --- a/local/bin/check-updates +++ b/local/bin/check-updates @@ -24,7 +24,7 @@ Check your internet connection, if pacman is already running, or run update manu if pacman -Qu | grep -v "\[ignored\]" then checkupdates 2> /dev/null > ~/.cache/pacman_updates - notify " Repository Sync" "$(pacman -Qu | grep -v "\[ignored\]" | wc -l) Updates available. Click statusbar icon () for update." + notify " Repository Sync" "$(pacman -Qu | grep -v "\[ignored\]" | wc -l) Updates available. Click statusbar icon (  ) for update." else notify " Repository Sync" "Sync complete. No new packages for update." fi diff --git a/local/bin/mailsync b/local/bin/mailsync index 13a9d201..b6559faa 100755 --- a/local/bin/mailsync +++ b/local/bin/mailsync @@ -1,8 +1,5 @@ #!/bin/sh -export XDG_CONFIG_HOME="$HOME"/.config -export MBSYNCRC="$XDG_CONFIG_HOME"/isync/mbsyncrc - # - Syncs mail for all accounts, or a single account given as an argument. # - Displays a notification showing the number of new mails. # - Displays a notification for each new mail with its subject displayed. @@ -17,17 +14,19 @@ export MBSYNCRC="$XDG_CONFIG_HOME"/isync/mbsyncrc # Run only if user logged in (prevent cron errors) pgrep -u "${USER:=$LOGNAME}" >/dev/null || { echo "$USER not logged in; sync will not run."; exit ;} # Run only if not already running in other instance -pidof -s mbsync >/dev/null && { echo "mbsync is already running." ; exit ;} +pgrep -x mbsync >/dev/null && { echo "mbsync is already running." ; exit ;} # First, we have to get the right variables for the mbsync file, the pass # archive, notmuch and the GPG home. This is done by searching common profile # files for variable assignments. This is ugly, but there are few options that # will work on the maximum number of machines. eval "$(grep -h -- \ - "^\s*\(export \)\?\(MBSYNCRC\|PASSWORD_STORE_DIR\|NOTMUCH_CONFIG\|GNUPGHOME\)=" \ + "^\s*\(export \)\?\(MBSYNCRC\|PASSWORD_STORE_DIR\|NOTMUCH_CONFIG\|GNUPGHOME\|XDG_DATA_HOME\|XDG_CONFIG_HOME\|XDG_RUNTIME_DIR)=" \ "$HOME/.profile" "$HOME/.bash_profile" "$HOME/.zprofile" "$HOME/.config/zsh/.zprofile" "$HOME/.zshenv" \ "$HOME/.bashrc" "$HOME/.zshrc" "$HOME/.config/zsh/.zshrc" "$HOME/.pam_environment" 2>/dev/null)" +sound=0 + case "$(readlink -f /sbin/init)" in *systemd*) export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus ;; esac @@ -47,11 +46,15 @@ case "$(uname)" in displays="$(echo "$pgrepoutput" | grep -wo "[0-9]*:[0-9]\+" | sort -u)" notify() { [ -n "$pgrepoutput" ] && for x in ${displays:-:0}; do export DISPLAY=$x - notify-send --app-name="mutt-wizard" "ﯬ $2 new mail(s) in \`$1\` account." + notify-send --app-name="NeoMutt" " $2 new mail(s) in \`$1\` account." + if [ $sound = 0 ]; then + canberra-gtk-play -i message -V 25 + sound=1 + fi done ;} messageinfo() { [ -n "$pgrepoutput" ] && for x in ${displays:-:0}; do export DISPLAY=$x - notify-send --app-name="mutt-wizard" " $from:" "$subject" + notify-send --app-name="NeoMutt" " $from:" "$subject" done ;} ;; esac @@ -60,11 +63,10 @@ esac syncandnotify() { acc="$(echo "$account" | sed "s/.*\///")" if [ -z "$opts" ]; then mbsync "$acc"; else mbsync "$opts" "$acc"; fi - new=$(find "$HOME/.local/share/mail/$acc/INBOX/new/" "$HOME/.local/share/mail/$acc/Inbox/new/" "$HOME/.local/share/mail/$acc/inbox/new/" -type f -newer "${XDG_CONFIG_HOME:-$HOME/.config}/mutt/.mailsynclastrun" 2> /dev/null) + new=$(find "$HOME/.local/share/mail/$acc/INBOX/new/" "$HOME/.local/share/mail/$acc/Inbox/new/" "$HOME/.local/share/mail/$acc/inbox/new/" -type f -newer "${XDG_CACHE_HOME:-$HOME/.cache}/.mailsynclastrun" 2> /dev/null) newcount=$(echo "$new" | sed '/^\s*$/d' | wc -l) - echo -n "$newcount" > ~/.cache/mcount if [ "$newcount" -gt "0" ]; then - notify "$acc" "$newcount" & + notify "$acc" "$newcount" & for file in $new; do # Extract subject and sender from mail. from=$(awk '/^From: / && ++n ==1,/^\<.*\>:/' "$file" | perl -CS -MEncode -ne 'print decode("MIME-Header", $_)' | awk '{ $1=""; if (NF>=3)$NF=""; print $0 }' | sed 's/^[[:blank:]]*[\"'\''\<]*//;s/[\"'\''\>]*[[:blank:]]*$//') @@ -93,4 +95,6 @@ wait notmuch new 2>/dev/null +touch "${XDG_CACHE_HOME:-$HOME/.cache}/.mailsynclastrun" + kill -57 $(pidof dwmblocks) diff --git a/local/bin/nextcloud-sync b/local/bin/nextcloud-sync index 75d1ad95..55295eda 100755 --- a/local/bin/nextcloud-sync +++ b/local/bin/nextcloud-sync @@ -1,6 +1,6 @@ #!/bin/bash -source $HOME/.config/nextcloud/nextcloud +$HOME/.config/nextcloud/nextcloud rm -rf $XDG_RUNTIME_DIR/nextcloud.out rm -rf $XDG_RUNTIME_DIR/nextcloud.err @@ -14,5 +14,3 @@ done echo $(date '+%R') > $HOME/.cache/nextcloud-track kill -59 $(pidof dwmblocks) - - diff --git a/local/bin/status-bar/date b/local/bin/status-bar/date index ed10f41a..5aeb0cfa 100755 --- a/local/bin/status-bar/date +++ b/local/bin/status-bar/date @@ -30,7 +30,7 @@ if [ ! "$next" = "" ]; then if [ "$(grep "$name" "$XDG_CACHE_HOME/calcurse")" = "" ]; then time=$(calcurse -a | grep -E "\s*$name\$" -B 1 | head -n 1 | cut -c4-8) echo "$name" > "$XDG_CACHE_HOME/calcurse" - canberra-gtk-play -i message -V 20 + canberra-gtk-play -i bell -V 20 dunstify -a " Event approaching" "[$time] $name" fi fi diff --git a/profile b/profile index b674e7d6..bde6c2bb 100755 --- a/profile +++ b/profile @@ -59,7 +59,7 @@ export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority export INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc export PASSWORD_STORE_DIR="$XDG_DATA_HOME"/pass export TMUX_TMPDIR="$XDG_RUNTIME_DIR" - +export SCREENRC="$XDG_CONFIG_HOME"/screen/screenrc # Setup PATH export PATH=$ANDROID_HOME/tools:$PATH @@ -81,7 +81,6 @@ export LF_ICONS # Setup dbus case "$(readlink -f /sbin/init)" in *systemd*) export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus ;; - *) eval "$(dbus-launch --exit-with-session --sh-syntax)" esac # Setup SSH @@ -93,10 +92,8 @@ fi # Start xinit if logged in from tty1 if [ "$DISPLAY" = "" ] && [ "$(tty)" = /dev/tty1 ]; then if [ "$DBUS_SESSION_BUS_ADDRESS" = "" ] && [ ! $(command -v dbus-launch) = "" ]; then - sleep 1 - exec xinit 2> $XDG_RUNTIME_DIR/xinit.err > $XDG_RUNTIME_DIR/xinit + exec dbus-launch --exit-with-session xinit 2> $XDG_RUNTIME_DIR/xinit.err > $XDG_RUNTIME_DIR/xinit else - sleep 1 exec xinit 2> $XDG_RUNTIME_DIR/xinit.err > $XDG_RUNTIME_DIR/xinit fi exit diff --git a/suckless/paleofetch/logos/artix.h b/suckless/paleofetch/logos/artix.h new file mode 100644 index 00000000..d76afa22 --- /dev/null +++ b/suckless/paleofetch/logos/artix.h @@ -0,0 +1,21 @@ +char *LOGO[] = { +" 'o' ", +" 'ooo' ", +" 'ooxoo' ", +" 'ooxxxoo' ", +" 'oookkxxoo' ", +" 'oiioxkkxxoo' ", +" ':;:iiiioxxxoo' ", +" `'.;::ioxxoo' ", +" '-. `':;jiooo' ", +" 'oooio-.. `'i:io' ", +" 'ooooxxxxoio:,. `'-;' ", +" 'ooooxxxxxkkxoooIi:-. `' ", +" 'ooooxxxxxkkkkxoiiiiiji' ", +" 'ooooxxxxxkxxoiiii:'` .i' ", +" 'ooooxxxxxoi:::'` .;ioxo' ", +" 'ooooxooi::'` .:iiixkxxo' ", +" 'ooooi:'` `'';ioxxo' ", +" 'i:'` '':io' ", +"'` `' " +}; diff --git a/suckless/st/config.h b/suckless/st/config.h index c491912b..d1243372 100644 --- a/suckless/st/config.h +++ b/suckless/st/config.h @@ -124,6 +124,8 @@ static const char *colorname[] = { /* special colors */ [256] = "#0f111a", /* background */ [257] = "#d8dee9", /* foreground */ + + /* More special colors */ }; /* @@ -225,6 +227,8 @@ static Shortcut shortcuts[] = { { MODKEY, XK_d, kscrolldown, {.i = -1} }, { MODKEY, XK_k, kscrollup, {.i = 2} }, { MODKEY, XK_j, kscrolldown, {.i = 2} }, + { MODKEY, XK_s, changealpha, {.f = -0.05} }, + { MODKEY, XK_a, changealpha, {.f = +0.05} }, }; /* diff --git a/suckless/st/x.c b/suckless/st/x.c index 14f6f4d1..83c4ab5e 100644 --- a/suckless/st/x.c +++ b/suckless/st/x.c @@ -53,6 +53,7 @@ typedef struct { /* function definitions used in config.h */ static void clipcopy(const Arg *); static void clippaste(const Arg *); +static void changealpha(const Arg *); static void numlock(const Arg *); static void selpaste(const Arg *); static void zoom(const Arg *); @@ -334,6 +335,20 @@ ttysend(const Arg *arg) ttywrite(arg->s, strlen(arg->s), 1); } +void +changealpha(const Arg *arg) +{ + if((alpha > 0 && arg->f < 0) || (alpha < 1 && arg->f > 0)) + alpha += arg->f; + if(alpha < 0) + alpha = 0; + if(alpha > 1) + alpha = 1; + + xloadcols(); + redraw(); +} + int evcol(XEvent *e) {